Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✔️ AKS Automatic
Utilisez des déploiements automatisés pour créer et déployer une application à partir d’un référentiel de code vers un cluster automatique AKS nouveau ou existant. Les déploiements automatisés simplifient le processus de configuration d’un flux de travail d’action de GitHub pour générer et déployer votre code. Une fois connecté, chaque nouveau commit que vous effectuez déclenche le pipeline. Les déploiements automatisés s'appuient sur draft.sh. Lorsque vous créez un workflow de déploiement, vous pouvez utiliser un Dockerfile existant, générer un Dockerfile, utiliser des manifestes Kubernetes existants ou générer des manifestes Kubernetes. Les manifestes générés sont créés en gardant à l’esprit les meilleures pratiques de sécurité et de résilience. AKS Automatic inclut également un SLA de disponibilité des pods qui garantit que 99,9 % des opérations de préparation de pod éligibles se terminent en 5 minutes, assurant une infrastructure fiable et auto-réparatrice pour vos applications.
Dans ce guide de démarrage rapide, vous allez apprendre à :
- Connectez-vous à un référentiel de code.
- Conteneurisez votre application.
- Configurez les manifestes Kubernetes.
- Créez un cluster automatique AKS.
- Déployez l'application via une pull request.
Avant de commencer
- Disposer d’un compte GitHub avec l’application à déployer.
- AKS Automatic enable Azure Policy sur votre cluster AKS, mais vous devez préinscrire le fournisseur de ressources
Microsoft.PolicyInsightsdans votre abonnement pour une expérience plus fluide. Pour plus d’informations, consultez Azure fournisseurs de ressources et types.
Important
À partir d’AKS 1.36, les nouveaux clusters AKS Automatic activeront par défaut Kubernetes Gateway API via le module complémentaire de routage d’application au lieu de Managed NGINX ingress avec le module complémentaire de routage d’application, en raison de l’abandon en amont d’Ingress NGINX.
Les clusters automatiques existants ne sont pas affectés, mais doivent commencer la migration vers l’API kubernetes Gateway via le module complémentaire de routage d’application.
Limites
Les limitations suivantes s’appliquent aux clusters automatiques AKS :
- AKS Automatic est généralement disponible dans les régions suivantes :
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus2,westus3.- Par défaut, les nouveaux clusters automatiques AKS activent les pools de nœuds système managés et LocalDNS. Vous ne pouvez pas créer de clusters automatiques AKS sans pools de nœuds système managés dans n’importe quelle région.
- Le cluster automatique AKS est préconfiguré avec le verrouillage du groupe de ressources des nœuds, ce qui n’autorise pas les modifications du
MC_groupe de ressources et empêche les liens de réseau virtuel sur la zone DNS privée par défaut. Pour les scénarios DNS inter-réseaux virtuels ou personnalisés, utilisez un réseau personnalisé et un DNS privé en suivant Créer un cluster automatique de Azure Kubernetes Service (AKS) privé dans un réseau virtuel personnalisé. - Azure CLI version 2.86.0 ou ultérieure est requise. Pour rechercher la version, exécutez
az --versionla commande. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI. - Les extensions suivantes ne sont pas prises en charge :
- Les nœuds Windows ne sont pas pris en charge.
- La migration entre la référence SKU de base AKS et la référence SKU automatique n’est pas prise en charge.
- Les migrations entre les clusters automatiques AKS sans pools de nœuds système managés et les clusters automatiques AKS avec des pools de nœuds système managés ne sont pas prises en charge.
Apporter le code source de votre application
Pour déployer une application à partir d’un référentiel de codes, commencez à la page d’accueil Azure portail.
- Recherchez les services Kubernetes dans la barre de recherche supérieure.
- Sélectionnez Kubernetes services dans les résultats de recherche.
- Sélectionnez le bouton Créer et sélectionnez Déployer l’application.
Se connecter au référentiel de code source
Créez un flux de travail de déploiement automatisé et autorisez-le à se connecter au référentiel de code source souhaité.
- Dans l’onglet Bases, sélectionnez Déployer votre application.
- Sous Détail du projet, choisissez l'abonnement, le groupe de ressources et la région.
- Sous Repository details, entrez un nom pour le flux de travail, puis sélectionnez Authorize access pour vous connecter au référentiel de GitHub souhaité.
- Choisissez le référentiel et la branche.
- Sélectionnez le bouton Suivant.
Choisir la configuration de l'image du conteneur
Pour préparer une application pour Kubernetes, vous devez la créer dans une image de conteneur et la stocker dans un registre de conteneurs. Vous utilisez un Dockerfile pour fournir des instructions sur la façon de créer l'image du conteneur. Si votre référentiel de code source ne dispose pas déjà d'un Dockerfile, Automated Deployments peut en générer un pour vous, sinon, vous pouvez utiliser un Dockerfile existant.
Utilisez des déploiements automatisés pour générer un fichier Dockerfile pour de nombreux langages et frameworks tels que Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift et Rust. Le support linguistique est basé sur ce qui est disponible dans draft.sh.
- Sélectionnez Conteneurisation automatique (générer Dockerfile) pour la configuration du conteneur.
- Sélectionnez l’emplacement où enregistrer le Dockerfile généré dans le référentiel.
- Choisissez l’environnement d’application dans la liste des langages et frameworks pris en charge.
- Entrez le port de l'application.
- Sélectionnez un Azure Container Registry existant ou créez-en un. Ce registre est utilisé pour stocker l'image de l'application créée. L’identité kubelet du cluster AKS Automatic reçoit des autorisations
AcrPullsur ce registre.
Choisissez la configuration du manifeste Kubernetes
Une application exécutée sur Kubernetes se compose de nombreux composants primitifs Kubernetes. Ces composants décrivent quelle image de conteneur utiliser, combien de réplicas exécuter, si une IP publique est requise pour exposer l'application, etc. Pour plus d'informations, consultez la documentation officielle de Kubernetes. Si votre référentiel de code source ne dispose pas déjà des manifestes Kubernetes de base à déployer, les déploiements automatisés peuvent les générer pour vous. Sinon, vous pouvez utiliser un ensemble de manifestes existants. Vous pouvez également choisir une carte Helm existante.
Utilisez les déploiements automatisés pour générer un ensemble de fichiers manifestes Kubernetes de base pour que votre application soit opérationnelle. À l’heure actuelle, les déploiements automatisés créent un Deployment, un Service et un ConfigMap.
Les manifestes générés sont conçus pour appliquer les suggestions de garanties de déploiement, telles que :
- Génération automatique des sondes d’activité, de préparation et de démarrage.
- Préférence pour l’anti-affinité de pod et les contraintes de répartition topologique qui répartissent les réplicas sur différents nœuds pour améliorer la résilience.
- Application du
RuntimeDefaultprofil informatique sécurisé qui établit une couche de protection supplémentaire contre les vulnérabilités courantes des appels système exploitées par des acteurs malveillants. - Abandon de toutes les fonctionnalités Linux et autorisation d'un ensemble limité uniquement, conformément aux Standards de sécurité de base des pods Kubernetes.
Pour générer des manifestes Kubernetes :
- Sélectionnez Générer les fichiers de déploiement d’application pour les options de déploiement.
- Entrez le port de l'application. Ce port est utilisé sur le généré
Service. - Sélectionnez l’emplacement où enregistrer les manifestes Kubernetes générés dans le référentiel.
- Sélectionnez le bouton Suivant.
Sélectionnez où vous souhaitez déployer l'application
Si vous ne disposez pas encore de cluster, vous pouvez créer un nouveau cluster automatique AKS dans le cadre de ce déploiement.
- Sélectionnez Créer un cluster Kubernetes automatique pour la configuration du cluster.
- Entrez un nom de cluster.
- Choisissez le calendrier de maintenance de mise à niveau automatique ou laissez la valeur par défaut sélectionnée.
- Saisissez l’espace de noms Kubernetes dans lequel l’application est déployée.
- Choisissez le niveau de surveillance et de journalisation ou laissez la valeur par défaut sélectionnée.
- Sélectionnez le bouton Suivant.
Examiner la configuration et déployer
Vérifiez la configuration du cluster, de l’application et des manifestes Kubernetes, puis sélectionnez Déployer. La création d'un cluster prend quelques minutes, ne quittez pas la page de déploiement.
- Un nouveau cluster automatique AKS est créé ou un cluster existant est configuré.
- Un registre de conteneurs est créé ou un registre existant est configuré avec le cluster.
- Les informations d’identification fédérées sont créées pour permettre au workflow GitHub Actions de se déployer dans le cluster.
- Une requête d'extraction est créée sur le référentiel de code avec tous les fichiers générés et le flux de travail.
Réviser et fusionner les requêtes d'extraction
Une fois le déploiement réussi, sélectionnez le bouton Afficher la requête d’extraction pour afficher les détails de la requête d’extraction générée sur votre référentiel de code.
- Vérifiez les modifications sous Fichiers modifiés et apportez les modifications souhaitées.
- Sélectionnez Fusionner la requête d’extraction pour fusionner les modifications dans votre référentiel de code.
La fusion de la modification exécute le flux de travail GitHub Actions qui génère votre application dans une image conteneur, la stocke dans Azure Container Registry et la déploie sur le cluster.
Vérifier les ressources déployées
Une fois le pipeline terminé, vous pouvez examiner le Service Kubernetes créé sur le portail Azure en sélectionnant Services et ingresses dans le menu de service Ressources Kubernetes.
La sélection de l'adresse IP externe devrait ouvrir une nouvelle page de navigateur avec l'application en cours d'exécution.
Supprimer des ressources
Une fois que vous avez terminé avec votre cluster, vous pouvez le supprimer pour éviter d'entraîner des frais Azure.
- Dans le portail Azure, accédez à votre groupe de ressources.
- Sélectionnez Supprimer le groupe de ressources.
- Saisissez le nom de votre groupe de ressources pour confirmer la suppression et sélectionnez Supprimer.
- Dans la boîte de dialogue de confirmation de suppression, sélectionnez Supprimer.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez déployé une application sur un cluster Kubernetes à l'aide d'AKS Automatic et configuré un pipeline d'intégration continue/déploiement continu (CI/CD) à partir d'un référentiel de code.
Pour en savoir plus sur AKS Automatic, passez à la présentation.