Azure Kubernetes Service
Aperçu
Cette section présente quelques indications sur la configuration et la gestion d'un cluster (groupement) Kubernetes adapté à WorkflowGen dans Azure.
Création d'un nouveau cluster
Pour créer un nouveau cluster qui supporte les charges de travail Linux et Windows, voir l'article Microsoft Créer un conteneur Windows Server sur un cluster Azure Kubernetes Service (AKS) à l’aide d’Azure CLI, qui comprend des instructions étape par étape sur la façon de créer le cluster. Suivez toutes les instructions, y compris la création d'un pool de nœuds Windows. À la fin, vous devez avoir au moins deux nœuds : un nœud Linux et un nœud Windows.
Vous pouvez utiliser Azure Active Directory pour authentifier et autoriser les utilisateurs du cluster. Consultez l'article Microsoft Intégrer Azure Active Directory avec Azure Kubernetes Service à l’aide d’Azure AD pour plus d'informations.
Il n'est possible d'intégrer Azure Active Directory qu'à la création d'un nouveau cluster.
Gestion des nœuds Windows et Linux
Par défaut, AKS ne restreint pas d'autres nœuds Windows d'empêcher le déploiement de Linux sur eux. Il est recommandé d'utiliser des taches (« taints ») et tolérances pour éviter les problèmes d'ordonnancement de déploiement Linux sur les nœuds Windows (voir l'article Kubernetes Taints and Tolerations pour plus d'informations). Voici un exemple de la façon dont vous pouvez utiliser les taches et les tolérances pour gérer les déploiements hybrides.
Appliquez des taches à tous les nœuds Windows
L'application de taches à tous les nœuds Windows empêchera tout déploiement sur les nœuds Windows, sauf lorsque le déploiement a la tolérance requise. Par conséquent, pour de nombreux cartes (« charts ») Linux Helm qui n'ont pas de sélecteur de nœud, les déploiements seront automatiquement ordonnancés sur les nœuds Linux. Google Kubernetes Engine le fait par défaut. Exécutez la commande suivante pour appliquer une tache à un nœud Windows :
Remplacez <NODE_NAME>
par le nom du nœud Windows.
Ajoutez des tolérances aux déploiements Windows
Pour pouvoir déployer des modules Windows sur des nœuds Windows, vous devez utiliser une combinaison de tolérances et de sélecteurs de nœuds dans votre spécification de déploiement. Par exemple, considérez ce déploiement WorkflowGen :
Pour qu'il soit ordonnancé sur un nœud Windows, vous devez ajouter ce qui suit au spec
du template
:
Cela ajoute une tolérance à la tache que vous venez d'ajouter au nœud et indique à l'ordonnanceur Kubernetes de sélectionner un nœud Windows lors de l'ordonnancement des pods (capsules) WorkflowGen.
Vous pouvez également simplifier cela en créant un objet RuntimeClass
qui contient ces informations et en référençant la classe d'exécution dans vos déploiements Windows :
Appliquez ce fichier :
Ensuite, ajoutez ce qui suit à la spécification du pod :
Comme vous pouvez le voir, cet objet RuntimeClass
garantit également que le déploiement se fera sur un nœud Windows LTSC 2019 (1809).
Gestion des mises à jour des nœuds
Il y a deux choses que vous devez considérer pour la gestion des mises à jour : la version de Kubernetes et la mise à jour du système d'exploitation. Pour plus d'informations sur la mise à jour du cluster vers une version Kubernetes spécifique, voir l'article Microsoft Appliquer des mises à jour de sécurité et du noyau à des nœuds Linux dans Azure Kubernetes Service (AKS). (Ne vous inquiétez pas du nom de l'article, il contient un paragraphe sur les mises à jour Windows.)
Mise à l'échelle automatique des pools de nœuds
Vous pouvez utiliser un « autoscaler » dans AKS pour mettre à l'échelle automatiquement le nombre de nœuds dans votre cluster en fonction des règles pour répondre aux demandes. Voir l'article Microsoft Mise à l’échelle automatique d’un cluster pour répondre aux demandes applicatives d’Azure Kubernetes Service (AKS) pour plus d'informations. Cette fonctionnalité se marie bien avec l'autoscaler horizontal de pod Kubernetes. Voir l'article Kubernetes Horizontal Pod Autoscaler pour plus d'informations.
Vous pouvez également utiliser des instances de conteneur Azure pour faire évoluer rapidement votre cluster pendant une courte période. Voir l'article Microsoft Options de mise à l’échelle des applications dans AKS (Azure Kubernetes Service) pour plus d'informations.
Last updated