Démarrage rapide : Déployer un cluster hôte de conteneur Azure Linux pour AKS en utilisant l’interface Azure CLI
Pour commencer, vous allez déployer un cluster hôte de conteneur Azure Linux pour AKS en utilisant l’interface Azure CLI. Une fois les prérequis installés, vous devez créer un groupe de ressources et un cluster AKS, vous connecter au cluster, puis exécuter un exemple d’application multiconteneur dans le cluster.
Prérequis
-
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide d’Azure Cloud Shell - Bash.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Créer un groupe de ressources
Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées. Lors de la création d’un groupe de ressources, vous devez spécifier un emplacement. Cet emplacement est :
- L’emplacement de stockage des métadonnées de votre groupe de ressources.
- Là où vos ressources s’exécutent dans Azure si vous ne spécifiez pas une autre région lors de la création d’une ressource.
Pour créer un groupe de ressources nommé testAzureLinuxResourceGroup dans la région eastus, procédez comme suit :
Créez un groupe de ressources avec la commande az group create
.
az group create --name testAzureLinuxReourceGroup --location eastus
La sortie suivante indique que votre groupe de ressources a été correctement créé :
{
"id": "/subscriptions/<guid>/resourceGroups/testAzureLinuxResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "testAzureLinuxResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Notes
L’exemple ci-dessus utilise eastus, mais les clusters hôtes de conteneur Azure Linux sont disponibles dans toutes les régions.
Créer un cluster hôte de conteneur Azure Linux
Créez un cluster AKS en utilisant la commande az aks create
avec le paramètre --os-sku
pour provisionner le cluster AKS avec une image Azure Linux. L’exemple suivant crée un cluster Azure Linux nommé testAzureLinuxCluster avec un nœud :
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux
Au bout de quelques minutes, la commande se termine et retourne des informations au format JSON sur le cluster.
Se connecter au cluster
Pour gérer un cluster Kubernetes, utilisez kubectl, le client de ligne de commande Kubernetes.
- Configurez
kubectl
afin de vous connecter à votre cluster Kubernetes avec la commandeaz aks get-credentials
.
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
- Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get. Cette commande retourne la liste des pods.
kubectl get pods --all-namespaces
Déployer l’application
Un fichier manifeste Kubernetes définit un état souhaité d’un cluster, notamment les images conteneur à exécuter.
Dans ce guide de démarrage rapide, un manifeste est utilisé afin de créer tous les objets nécessaires pour l’exécution de l’application Azure Vote. Ce manifeste comprend deux déploiements Kubernetes :
- Exemples d’applications Python pour Azure Vote.
- Une instance Redis.
Deux services Kubernetes sont également créés :
- Un service interne pour l’instance Redis.
- Un service externe pour accéder à l’application Azure vote à partir d’Internet.
Créez un fichier nommé
azure-vote.yaml
et copiez-y le manifeste suivant.- Si vous utilisez Azure Cloud Shell, ce fichier peut être créé en utilisant
code
,vi
ounano
comme si vous travailliez sur un système virtuel ou physique.
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-front
Pour obtenir une répartition des fichiers manifeste YAML, consultez Déploiements et manifestes YAML.
- Si vous utilisez Azure Cloud Shell, ce fichier peut être créé en utilisant
Déployez l’application à l’aide de la commande kubectl apply et spécifiez le nom de votre manifeste YAML :
kubectl apply -f azure-vote.yaml
L’exemple suivant ressemble à la sortie montrant les déploiements et services créés avec succès :
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
Test de l’application
Quand l’application s’exécute, un service Kubernetes expose le front-end de l’application sur Internet. L’exécution de ce processus peut prendre plusieurs minutes.
Surveillez la progression avec la commande kubectl get service et l’argument --watch
.
kubectl get service azure-vote-front --watch
La sortie EXTERNAL-IP pour le service azure-vote-front
affiche initialement En attente.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Quand l’adresse EXTERNAL-IP passe de l’état pending à une adresse IP publique réelle, utilisez CTRL-C
pour arrêter le processus de surveillance kubectl
. L’exemple de sortie suivant montre une adresse IP publique valide affectée au service :
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Pour voir l’application Azure Vote en action, ouvrez un navigateur web en utilisant l’adresse IP externe de votre service.
Supprimer le cluster
Si vous n’envisagez pas de suivre les tutoriels suivants, nettoyez toutes les ressources inutiles pour éviter les frais Azure. Utilisez la commande az group delete
pour supprimer le groupe de ressources et toutes les ressources associées.
az group delete --name testAzureLinuxCluster --yes --no-wait
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez déployé un cluster hôte de conteneur Azure Linux. Pour en savoir plus sur l’hôte de conteneur Azure Linux et suivre pas à pas un exemple complet illustrant le déploiement et la gestion d’un cluster, passez au tutoriel sur l’hôte de conteneur Azure Linux.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour