Skip to main content

AKS Deployment (Azure Kubernetes Service) - old content

This guide walks you through deploying the tracebloc client in your Azure Kubernetes Service (AKS) cluster, using Helm.


Prerequisites

Ensure the following tools are installed and configured:

ToolPurposeInstall Guide
Azure CLIManage Azure resourcesInstall Azure CLI
kubectlManage Kubernetes clustersInstall kubectl
Helm 3.xKubernetes package managerInstall Helm

You'll also need:

  • An active Azure subscription
  • Client credentials (client ID, password)
  • Access to the tracebloc Helm chart
  • Docker registry credentials

Deployment Steps

1.1 First, log in to Azure CLI:

az login

1.2 Create a resource group if you don't have one:

az group create --name <your-resource-group> --location <region>

Option 2: Cloud Provider Deployment

Azure AKS

1.3 Create an AKS cluster:

az aks create \
--resource-group <your-resource-group> \
--name <your-aks-cluster-name> \
--node-count 2 \
--enable-addons monitoring \
--generate-ssh-keys

1.4 Connect to your AKS cluster:

az aks get-credentials --resource-group <your-resource-group> --name <your-aks-cluster-name>

1.5 Verify the connection:

kubectl get nodes

2. Add tracebloc Helm Repository

helm repo add tracebloc https://tracebloc.github.io/client/
helm repo update

3. Download and Configure Values

3.1 Download the default values file:

helm show values tracebloc/aks > values.yaml

3.2 Edit values.yaml to configure your deployment. Open and update the following sections::

Authentication

Client ID
jobsManager:
env:
CLIENT_ID: "your-client-ID"

This is accessible below your Client Name : clientid-reference-image-to-be-uploaded

Client password
# Secrets configuration
secrets:
# Whether to create the secret or use existing secret
create: true
# Client password
clientPassword: ""

Docker Registry

dockerRegistry:
create: true
secretName: regcred
server: https://index.docker.io/v1/
username: <docker-username>
password: <docker-token>/<docker-password>
email: <docker-email>
  • docker_username: Your Docker Hub username. Used for authentication when pushing/pulling images.
  • docker-password: Your Docker Hub password, or an access token if you use 2FA.
  • docker_token: Optional — sometimes used in place of docker_password if you're using automation tokens or PATs
  • docker_email: The email address linked to your Docker account.

Storage Configuration

User can review and adjust PVC sizes and names based on your needs

sharedData:
name: shared-data
storage: 50Gi

logsPvc:
name: logs-pvc
storage: 10Gi

mysqlPvc:
name: mysql-pvc
storage: 2Gi

Resource Limits (Optional)

Default values are provided, user can increase this value based on your use case and data requirement

  RESOURCE_REQUESTS: "cpu=50m,memory=207084Ki"
RESOURCE_LIMITS: "cpu=100m,memory=414168Ki"
GPU_REQUESTS: "nvidia.com/gpu=1"
GPU_LIMITS: "nvidia.com/gpu=1"

Proxy Settings (Optional)

This is required only if user's client is behind a proxy

  # proxy hostname.
HTTP_PROXY_HOST:
# proxy port.
HTTP_PROXY_PORT:
# username used for proxy authentication if needed.
HTTP_PROXY_USERNAME:
# password used for proxy authentication if needed.
HTTP_PROXY_PASSWORD:

4. Create Namespace & Deploy

4.1 Create a dedicated namespace:

kubectl create namespace <namespace>

namespace can be anything user wants for e.g. :

kubectl create namespace tracebloc

4.2 Install the chart:

helm install tracebloc tracebloc/aks \
--namespace tracebloc \
--values values.yaml