#Helm Chart Installation Guide

This guide provides the step-by-step instructions for installing FRINX Machine on a Kubernetes cluster using Helm charts.

#Prerequisites

  • Minikube: Make sure that Minikube is installed on your local machine. Follow the Minikube installation guide if necessary.
  • Helm: Make sure that Helm is installed. Follow the Helm installation guide if necessary.

#Step 1: Start Minikube

# Minimal recommended setup minikube start --cpus=12 --memory=24G --kubernetes-version=v1.27 --addons=ingress # Alternatively, use maximum available CPUs minikube start --cpus=max --memory=24G --kubernetes-version=v1.27 --addons=ingress

#Step 2: Add the FRINX Helm Repository

Add the FRINX Helm repository and update the repository list:

helm repo add frinx https://FRINXio.github.io/helm-charts helm repo update

#Step 3: Install Operators and CRDs

Install FRINX Machine operators and custom resource definitions (CRDs):

helm install -n frinx --create-namespace frinx-machine-operators frinx/frinx-machine-operators

Verify the installation by checking the pods in the frinx namespace:

kubectl get pods -n frinx

You should see output similar to:

NAME READY STATUS RESTARTS AGE arango-frinx-machine-operators-operator-6dfdff75bd-cnwmp 1/1 Running 0 25s arango-frinx-machine-operators-operator-6dfdff75bd-k8kqp 1/1 Running 0 25s frinx-machine-operators-cloudnative-pg-d9566444c-85w8g 1/1 Running 0 25s

#Step 4: Create Docker Registry Secret

Please complete this step before continue

Create docker regitry secret
../docker-registry-secret/

#Step 5: Install FRINX Machine

Install the FRINX Machine using Helm:

helm install -n frinx frinx-machine frinx/frinx-machine --timeout 10m

Verify the installation by checking the pods in the frinx namespace:

kubectl get pods -n frinx

You should see output similar to:

NAME READY STATUS RESTARTS AGE arango-frinx-machine-operators-operator-6dfdff75bd-h6mxb 1/1 Running 0 21m arango-frinx-machine-operators-operator-6dfdff75bd-xh9x6 1/1 Running 0 21m arangodb-sngl-yxxouifa-e0f232 1/1 Running 0 11m conductor-server-6757754659-tss78 2/2 Running 0 19m device-induction-56fdd555b8-j646n 1/1 Running 0 19m frinx-frontend-7c596b6bfc-qgthp 2/2 Running 0 19m frinx-machine-operators-cloudnative-pg-d9566444c-fgp5w 1/1 Running 0 21m grafana-64986657b8-zzc5x 1/1 Running 0 19m influxdb-0 1/1 Running 0 19m inventory-57994dcd85-9v2f9 1/1 Running 0 19m kafka-controller-0 1/1 Running 0 19m krakend-85bb6cd88b-6ldg7 2/2 Running 0 19m loki-0 1/1 Running 0 19m performance-monitor-f6885b4dc-4wrfp 1/1 Running 0 19m postgresql-1 1/1 Running 0 11m postgresql-2 1/1 Running 0 11m promtail-zfmkn 1/1 Running 0 19m resource-manager-d98d6866b-w5d6x 1/1 Running 0 19m swagger-ui-5b9fc85b99-8tzdd 1/1 Running 0 19m telegraf-ds-drsh7 1/1 Running 0 19m timescale-db-0 1/1 Running 0 19m topology-discovery-6d8c975876-gqg79 2/2 Running 0 19m uc-zone-lb-9cd56dd7-x82tz 1/1 Running 0 19m uniconfig-controller-75d945f9c5-lggdb 1/1 Running 0 12m uniconfig-postgresql-1 1/1 Running 0 12m uniconfig-postgresql-2 1/1 Running 0 12m

#Step 6: Access the UI

To access ui, use krakend-nginx ingress hostname.

kubectl get ingress -n frinx

You should see output similar to:

NAME CLASS HOSTS ADDRESS PORTS AGE krakend-nginx nginx krakend.127.0.0.1.nip.io 192.168.49.2 80 56m

In case of minikube is required to add the following entries to your /etc/hosts file:

# /etc/hosts ... 192.168.49.2 krakend.127.0.0.1.nip.io fm.127.0.0.1.nip.io

and visit Frinx Machine page in your browser on https://krakend.127.0.0.1.nip.io/frinxui