Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
GitHub Actions vous donne la possibilité de créer un flux de travail de cycle de vie de développement logiciel automatisé. Vous pouvez utiliser plusieurs actions Kubernetes pour déployer des conteneurs d’Azure Container Registry (ACR) sur Azure Kubernetes Service (AKS) avec GitHub Actions.
Grâce à GitHub Actions, vous pouvez automatiser vos workflows de développement de logiciel à partir de GitHub. Pour plus d’informations, consultez l’article GitHub Actions pour Azure.
Le tableau ci-dessous répertorie les actions disponibles pour AKS :
Nom | Description | En savoir plus |
---|---|---|
azure/aks-set-context |
Définissez le contexte de cluster AKS cible pour les autres actions à utiliser ou pour exécuter des commandes kubectl. | azure/aks-set-context |
azure/k8s-set-context |
Définissez le contexte de cluster Kubernetes cible pour les autres actions à utiliser ou pour exécuter des commandes kubectl. | azure/k8s-set-context |
azure/k8s-bake |
Effectuez un bake du fichier manifeste à utiliser pour les déploiements à l’aide de Helm, kustomize ou kompose. | azure/k8s-bake |
azure/k8s-create-secret |
Créez un secret générique ou un secret docker-registre dans le cluster Kubernetes. | azure/k8s-create-secret |
azure/k8s-deploy |
Effectuez un bake et déployez des manifestes sur des clusters Kubernetes. | azure/k8s-deploy |
azure/k8s-lint |
Validez/lint vos fichiers manifestes. | azure/k8s-lint |
azure/setup-helm |
Installez une version spécifique du fichier binaire Helm sur l’exécuteur. | azure/setup-helm |
azure/setup-kubectl |
Installez une version spécifique de kubectl sur l’exécuteur. | azure/setup-kubectl |
azure/k8s-artifact-substitute |
Mettez à jour la balise ou la synthèse pour les images conteneur. | azure/k8s-artifact-substitute |
azure/aks-create-action |
Créez un cluster AKS à l’aide de Terraform. | azure/aks-create-action |
azure/aks-github-runner |
Configurez des agents auto-hébergés pour GitHub Actions. | azure/aks-github-runner |
azure/acr-build |
Générez des conteneurs à l’aide d’ACR. | azure/acr-build |
Par exemple, vous pouvez utiliser GitHub Actions pour déployer une application sur votre cluster AKS chaque fois qu’une modification est envoyée (push) à votre référentiel GitHub. Cet exemple utilise l’application Azure Vote.
Notes
Cet exemple utilise un principal de service pour l’authentification avec votre instance ACR et votre cluster AKS. Vous pouvez également configurer Open ID Connect (OIDC) et mettre à jour l’action azure/login
pour utiliser OIDC. Pour plus d’informations, consultez la section Configurer Azure Login avec l’authentification OpenID Connect.
Accédez au référentiel Azure Vote, puis sélectionnez Dupliquer.
Mettez à jour le fichier azure-vote-all-in-one-redis.yaml
pour utiliser votre registre ACR pour l’image azure-vote-front
. Remplacez <registryName>
par le nom de votre registre.
...
containers:
- name: azure-vote-front
image: <registryName>.azurecr.io/azuredocs/azure-vote-front:v1
...
Validez le fichier azure-vote-all-in-one-redis.yaml
mis à jour dans votre référentiel.
Créez un principal de service pour accéder à votre groupe de ressources avec le rôle Contributor
à l’aide de la commande az ad sp create-for-rbac
. Remplacez <SUBSCRIPTION_ID>
par l’ID d’abonnement de votre compte Azure et <RESOURCE_GROUP>
par le nom du groupe de ressources contenant votre registre ACR.
az ad sp create-for-rbac \
--name "ghActionAzureVote" \
--scope /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP> \
--role Contributor \
--json-auth
Vous devez obtenir un résultat semblable à l’exemple de sortie qui suit :
{
"clientId": <clientId>,
"clientSecret": <clientSecret>,
"subscriptionId": <subscriptionId>,
"tenantId": <tenantId>,
...
}
Accédez aux paramètres de votre référentiel GitHub et sélectionnez Sécurité>Secrets et variables>Actions.
Pour chaque secret, sélectionnez Nouveau secret de référentiel, puis entrez le nom et la valeur du secret.
Nom du secret | Valeur du secret |
---|---|
AZURE_CREDENTIALS | Sortie JSON entière de la commande az ad sp create-for-rbac . |
service_principal | la valeur de la propriété <clientId> ; |
service_principal_password | la valeur de la propriété <clientSecret> ; |
abonnement | la valeur de la propriété <subscriptionId> ; |
tenant | la valeur de la propriété <tenantId> ; |
Registre | Nom de votre registre. |
repository | azuredocs |
resource_group | Nom de votre groupe de ressources. |
nom_cluster | Nom de votre cluster. |
Pour plus d’informations sur la création de secrets, consultez la section Secrets chiffrés.
Dans votre référentiel, créez un fichier .github/workflows/main.yml
et collez le contenu suivant :
name: build_deploy_aks
on:
push:
paths:
- "azure-vote/**"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: ACR build
id: build-push-acr
uses: azure/acr-build@v1
with:
service_principal: ${{ secrets.service_principal }}
service_principal_password: ${{ secrets.service_principal_password }}
tenant: ${{ secrets.tenant }}
registry: ${{ secrets.registry }}
repository: ${{ secrets.repository }}
image: azure-vote-front
folder: azure-vote
branch: master
tag: ${{ github.sha }}
- name: Azure login
id: login
uses: azure/login@v1.4.3
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Set AKS context
id: set-context
uses: azure/aks-set-context@v3
with:
resource-group: '${{ secrets.resource_group }}'
cluster-name: '${{ secrets.cluster_name }}'
- name: Setup kubectl
id: install-kubectl
uses: azure/setup-kubectl@v3
- name: Deploy to AKS
id: deploy-aks
uses: Azure/k8s-deploy@v4
with:
namespace: 'default'
manifests: |
azure-vote-all-in-one-redis.yaml
images: '${{ secrets.registry }}.azurecr.io/${{ secrets.repository }}/azure-vote-front:${{ github.sha }}'
pull-images: false
La section on
contient l’événement qui déclenche l’action. Dans l’exemple de fichier, l’action est déclenchée quand une modification est envoyée (push) au répertoire azure-vote
.
La section steps
contient chaque action distincte :
Validez le fichier .github/workflows/main.yml
dans votre référentiel.
Pour confirmer que l’action fonctionne, mettez à jour le fichier azure-vote/azure-vote/config_file.cfg
avec le contenu suivant :
# UI Configurations
TITLE = 'Azure Voting App'
VOTE1VALUE = 'Fish'
VOTE2VALUE = 'Dogs'
SHOWHOST = 'false'
Validez le fichier azure-vote/azure-vote/config_file.cfg
mis à jour dans votre référentiel.
Dans votre référentiel, sélectionnez Actions et vérifiez qu’un workflow est en cours d’exécution. Ensuite, vérifiez que le workflow est associé à une coche verte et que l’application mise à jour est déployée sur votre cluster.
Passez en revue les workflows de démarrage suivants pour AKS. Pour plus d’informations, consultez la rubrique Utilisation de workflows de démarrage.
Commentaires sur Azure Kubernetes Service
Azure Kubernetes Service est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Module
Utilisez un pipeline CI/CD GitHub Actions pour générer une image conteneur et la déployer sur Azure Kubernetes Service (AKS).
Certification
Microsoft Certified: Azure Developer Associate - Certifications
Générez des solutions de bout en bout dans Microsoft Azure pour créer des fonctions Azure Functions, implémenter et gérer des applications web, développer des solutions qui utilisent le Stockage Azure, et bien plus encore.