Kubernetes
Kubernetes Cluster Documentation¶
This page provides an overview of the Kubernetes cluster setup and deployment process.
Directory Structure¶
The directory structure for the Kubernetes manifests and related files is as follows:
.
├── manifests
│ ├── 01-namespace.yaml
│ ├── 02-storage-class.yaml
│ ├── 03-pvcs.yaml
│ ├── 04-configmap.yaml
│ ├── 05-service-accounts.yaml
│ ├── 06-priority-classes.yaml
│ ├── 07-services.yaml
│ ├── 08-deployments.yaml
│ ├── 09-hpa.yaml
│ └── 10-ingress.yaml
├── pipeline.yaml
└── tests
Pipeline Configuration¶
The pipeline.yaml file defines the CI/CD pipeline for deploying the Kubernetes cluster. It includes the following stages:
- ValidateEnvironment: Validates the existence of required Azure resources.
- PrepareInfrastructure: Attaches the Azure Container Registry (ACR) to the Azure Kubernetes Service (AKS) cluster.
- Installations_Required: Installs necessary tools and drivers, including the CSI driver and NVIDIA GPU operator.
- SetupFederatedCredentials: Sets up federated credentials for various services.
- DeployKubernetes: Deploys the Kubernetes manifests to the cluster.
Parameters and Variables¶
The pipeline uses the following parameters and variables, then will replace all the necessary values in the manifests:
- Parameters:
-
environment: Specifies the deployment environment (default:mjdev). -
Variables:
resourceGroup: Resource group name.acrName: Azure Container Registry name.aksClusterName: AKS cluster name.kvName: Key Vault name.location: Azure region.kubernetesNamespace: Kubernetes namespace.KEYVAULT_NAME: Key Vault name.TENANT_ID: Azure tenant ID.azure_storage_account: Azure storage account name.