Brouillon pour Azure Kubernetes Service (AKS) (préversion)

Draft est un projet open source qui simplifie le développement Kubernetes en prenant une application non conteneurisée et en générant les manifestes Dockerfiles, les manifestes Kubernetes, les graphiques Helm, les configurations Kustomize et d’autres artefacts associés à une application conteneurisée. Draft peut également créer un fichier workflow d'Action GitHub pour construire et déployer rapidement des applications sur tout cluster Kubernetes.

Fonctionnement

Draft comporte les commandes suivantes pour faciliter votre développement sur Kubernetes :

  • draft create : crée le fichier Dockerfile et les fichiers manifeste appropriés.
  • draft setup-gh : configure votre GitHub OIDC.
  • draft generate-workflow : génère le fichier de flux de travail action GitHub pour le déploiement sur votre cluster.
  • draft up : configure votre GitHub OIDC et génère un fichier de flux de travail d’action GitHub, combinant les deux commandes précédentes.

Prérequis

  • Si vous n'avez pas d'abonnement Azure, créez un compte free avant de commencer.
  • Installez la dernière version du Azure CLI et de l’extension aks-preview.
  • Si vous n'en avez pas encore, vous devez créer un cluster AKS et une instance de Azure Container Registry.

Installer l’extension aks-preview Azure CLI

Important

Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les aperçus sont fournis « en l’état » et « selon les disponibilités », et sont exclus des accords de niveau de service et de la garantie limitée. Les préversions AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Telles quelles, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :

  1. Installez l'extension aks-preview à l'aide de la commande az extension add.

    az extension add --name aks-preview
    
  2. Mettez à jour l’extension pour vous assurer que vous disposez de la dernière version à l’aide de la commande az extension update.

    az extension update --name aks-preview
    

Créer des artefacts avec draft create

Vous pouvez utiliser draft create pour créer des Dockerfiles, des graphiques Helm, des manifestes Kubernetes ou des fichiers Kustomize nécessaires au déploiement de votre application sur un cluster AKS.

  • Créez un artefact à l’aide de la commande az aks draft create.

    az aks draft create
    
    • Vous pouvez également exécuter la commande sur un répertoire spécifique à l’aide de l’indicateur --destination, comme illustré dans l’exemple suivant :

      az aks draft create --destination /Workspaces/ContosoAir
      

Configurer GitHub OIDC à l’aide de draft setup-gh

Pour utiliser Draft, vous devez inscrire votre application auprès de GitHub à l’aide de draft setup-gh. Cette étape ne doit être effectuée qu’une fois par référentiel.

  • Inscrivez votre application avec GitHub à l’aide de la commande az aks draft setup-gh.

    az aks draft setup-gh
    

Générer un fichier de flux de travail d’action de GitHub pour le déploiement à l’aide de draft generate-workflow

Après avoir créé vos artefacts et configuré GitHub OIDC, vous pouvez utiliser draft generate-workflow pour générer un fichier de flux de travail d’action GitHub, en créant une action qui déploie votre application sur votre cluster AKS. Une fois votre fichier de flux de travail généré, vous devez le valider dans votre référentiel pour lancer l’action de GitHub.

  • Générez un fichier de flux de travail d’action GitHub à l’aide de la commande az aks draft generate-workflow.

    az aks draft generate-workflow
    
    • Vous pouvez également exécuter la commande sur un répertoire spécifique à l’aide de l’indicateur --destination, comme illustré dans l’exemple suivant :

      az aks draft generate-workflow --destination /Workspaces/ContosoAir
      

Configurez GitHub OpenID Connect (OIDC) et générez un fichier de flux de travail d’action de GitHub à l’aide de draft up

draft up est une commande unique pour configurer la configuration OIDC de GitHub et générer un fichier de flux de travail de l’action GitHub pour le déploiement. Elle combine efficacement les commandes draft setup-gh et draft generate-workflow, ce qui signifie qu’il s’agit de la commande la plus couramment utilisée pour bien démarrer avec un nouveau référentiel et qu’elle ne doit être exécutée qu’une seule fois. Les mises à jour suivantes du fichier de flux de travail action GitHub peuvent être effectuées à l’aide de draft generate-workflow.

  • Configurez GitHub OIDC et générez un fichier de flux de travail d’action de GitHub à l’aide de la commande az aks draft up.

    az aks draft up
    
    • Vous pouvez également exécuter la commande sur un répertoire spécifique à l’aide de l’indicateur --destination, comme illustré dans l’exemple suivant :

      az aks draft up --destination /Workspaces/ContosoAir
      

Utiliser le routage d’applications avec Draft pour rendre votre application accessible par Internet

Le routage des applications est le moyen le plus simple d’obtenir votre application web opérationnelle en toute sécurité dans Kubernetes. Le routage des applications élimine la complexité des contrôleurs d’entrée, tout comme celle de la gestion des certificats et DNS, et offre une configuration aux entreprises désireuses de mettre en place leur propre système. Le routage des applications offre un contrôleur d’entrée managé basé sur NGINX que vous pouvez utiliser sans restriction. Cette solution prête à l’emploi s’intègre à Open Service Mesh pour sécuriser les communications au sein du cluster.

  • Configurez Draft avec le routage des applications à l’aide du az aks draft update et transmettez le nom DNS et le certificat stocké Azure Key Vault lorsque vous y êtes invité.

    az aks draft update
    
    • Vous pouvez également exécuter la commande sur un répertoire spécifique à l’aide de l’indicateur --destination, comme illustré dans l’exemple suivant :

      az aks draft update --destination /Workspaces/ContosoAir