Using the HELM charts

Introduction to Axual Helm Charts

Following this guide you can run the Axual Platform on your local machine using Axual Helm Charts.

The current helm charts support only a single cluster platform with no distribution in place. Be sure to have Use gRPC FUSE for file sharing disabled.

Requirements for the local machine

  1. Docker Engine v20.10.12 or newer (use docker -v to check your version)

  2. Kubernetes v1.24.0 or newer (use kubectl version to check your version). We recommend Docker Desktop for managing Kubernetes locally.

  3. Helm Charts v3.x.x or newer (use helm version to check your version)

Make sure to allocate enough resources for Docker. Recommended minimum values are 4 CPUs and 8 GB of RAM. Please note that these values may change based on the combination of the components that are running.

Setup loopback alias

  1. Create a script to add a loopback interface on the ip 192.168.99.100

    #!/bin/bash
    
    ITF=lo0
    ADDRESS=192.168.99.100
    
    ifconfig "$ITF" | grep inet | grep "$ADDRESS" >/dev/null
    if [ "$?" = "0" ]; then
    	echo "Removing alias $ADDRESS from interface $ITF"
    	sudo ifconfig "$ITF" -alias "$ADDRESS"
    	echo "Adding alias $ADDRESS to interface $ITF"
    	sudo ifconfig "$ITF" alias "$ADDRESS/32" up
    else
    	echo "Adding alias $ADDRESS to interface $ITF"
    	sudo ifconfig "$ITF" alias "$ADDRESS/32" up
    fi
  2. Execute the script at every restart of your local machine

    You can check if the loopback interface got successfully added by executing:
    ifconfig | grep 192.168.99.100

    It should be something like this:

    	inet 192.168.99.100 netmask 0xffffffff
  3. Add the following entry to your /etc/hosts file:

    192.168.99.100 platform.local

Create a namespace and Docker Registry Secret

Creating a namespace is optional but recommended. A namespace provides an isolation layer within a Kubernetes cluster.

  1. Create a namespace.

    kubectl create namespace kafka
  2. Create a secret for the Axual Docker registry.

    kubectl -n kafka                                    \
        create secret docker-registry axualdockercred   \
        --docker-server=docker.axual.io                 \
        --docker-username=[your-username]               \
        --docker-password=[your-password]
    Make sure to replace the username and password with your credentials for Axual Nexus.

Install nginx

We need to start nginx in order to make the Self-Service pod accessible from outside the kubernetes clusters.

  1. Create a namespace for nginx.

    kubectl create namespace nginx
    Depends on your kubectl client version, execute one command.
  2. Add the kubernetes-charts repository to your helm, assuming kubernetes version 1.22.0-0 or greater.

Add the ingress-nginx repo.

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

Start the ingress-nginx.

helm upgrade --install nginx ingress-nginx/ingress-nginx -n nginx --set controller.ingressClassResource.default=true

Next step: Deploy Axual services

This concludes the preparation for using Axual helm charts. You may now continue to Deploy Axual services.