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:
Tool | Purpose | Install Guide |
---|---|---|
Azure CLI | Manage Azure resources | Install Azure CLI |
kubectl | Manage Kubernetes clusters | Install kubectl |
Helm 3.x | Kubernetes package manager | Install 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