- Création de l'environnement de démonstration
Déploiement du "resource group":
az group create \
--location "eastus2" \
--resource-group "RG-AKS-Lab-10"
Déploiement d'un virtual network:
az network vnet create \
--resource-group "RG-AKS-Lab-10" \
--name AKSvnet \
--location "eastus2" \
--address-prefixes 10.0.0.0/8
Déploiement du subnet:
SUBNET_ID=$(az network vnet subnet create \
--resource-group "RG-AKS-Lab-10" \
--vnet-name AKSvnet \
--name subnetAKS \
--address-prefixes 10.240.0.0/16 \
--query id \
--output tsv)
Création d'une "Managed Identity":
IDENTITY_ID=$(az identity create \
--resource-group "RG-AKS-Lab-10" \
--name idAks \
--location "eastus2" \
--query id \
--output tsv)
Création d'une "Azure Container Registry"
az acr create \
--name "acrlab0010" \
--resource-group "RG-AKS-Lab-10" \
--sku basic
Création du cluster AKS
az aks create \
--resource-group "RG-AKS-Lab-10" \
--name "AKS-Lab-10" \
--location "eastus2" \
--network-plugin azure \
--generate-ssh-keys \
--node-count 2 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3 \
--vnet-subnet-id $SUBNET_ID \
--enable-managed-identity \
--assign-identity $IDENTITY_ID \
--attach-acr "acrlab0010" \
--yes
Connexion au cluster AKS
az aks get-credentials --resource-group RG-AKS-Lab-10 --name AKS-Lab-10
Prérequis:
az ad sp create-for-rbac --name "votrenom-demo-githubaction2022" --role "Contributor" --scopes /subscriptions/METTRE_ICI_L_ID_DE_LA_SUBSCRIPTION --sdk-auth -o jsonc
{
"clientId": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"clientSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Copiez la sortie dans un notepad
Créez un secret CLIENTID
dans le service secret de GitHub
Créez un secret CLIENTSECRET
dans le service secret de GitHub
Créez un secret AZURE_CREDENTIALS
dans le service secret de GitHub
Exécutions des "Workflows"
Regardez, modifiez puis exécutez les deux workflows:
./github/workflows/Build.yaml
./github/workflows/deploy.yaml