Nœuds Windows Worker - Guide de l'utilisateur d'Eksctl

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Nœuds Windows Worker

À partir de la version 1.14, Amazon EKS prend en charge les nœuds Windows qui permettent d'exécuter des conteneurs Windows. Outre les nœuds Windows, un nœud Linux du cluster est nécessaire pour exécuter CoreDNS, car Microsoft ne prend pas encore en charge le mode réseau hôte. Ainsi, un cluster Windows EKS sera un mélange de nœuds Windows et d'au moins un nœud Linux. Les nœuds Linux sont essentiels au fonctionnement du cluster. Par conséquent, pour un cluster de production, il est recommandé de disposer d'au moins deux nœuds t2.large Linux pour HA.

Note

Il n'est plus nécessaire d'installer le contrôleur de ressources VPC sur les nœuds de travail Linux pour exécuter les charges de travail Windows dans les clusters EKS créés après le 22 octobre 2021. Vous pouvez activer la gestion des adresses IP Windows sur le plan de contrôle EKS via un paramètre ConfigMap (voir le lien : eks/latest/userguide/windows -support.html pour plus de détails). eksctl patchera automatiquement le ConfigMap pour activer la gestion des adresses IP Windows lorsqu'un groupe de nœuds Windows est créé.

Création d'un nouveau cluster compatible avec Windows

La syntaxe du fichier de configuration permet de créer un cluster entièrement fonctionnel compatible avec Windows en une seule commande :

# cluster.yaml
# An example of ClusterConfig containing Windows and Linux node groups to support Windows workloads
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: windows-cluster
  region: us-west-2

nodeGroups:
  - name: windows-ng
    amiFamily: WindowsServer2019FullContainer
    minSize: 2
    maxSize: 3

managedNodeGroups:
  - name: linux-ng
    instanceType: t2.large
    minSize: 2
    maxSize: 3

  - name: windows-managed-ng
    amiFamily: WindowsServer2019FullContainer
    minSize: 2
    maxSize: 3
eksctl create cluster -f cluster.yaml

Pour créer un nouveau cluster avec un groupe de nœuds non géré sous Windows sans utiliser de fichier de configuration, exécutez les commandes suivantes :

eksctl create cluster --managed=false --name=windows-cluster --node-ami-family=WindowsServer2019CoreContainer

Ajout du support Windows à un cluster Linux existant

Pour permettre l'exécution de charges de travail Windows sur un cluster existant avec des nœuds Linux (famille AmazonLinux2 AMI), vous devez ajouter un groupe de nœuds Windows.

NOUVEAU Support pour les groupes de nœuds gérés par Windows a été ajouté (--managed=true ou omettre le drapeau).

eksctl create nodegroup --managed=false --cluster=existing-cluster --node-ami-family=WindowsServer2019CoreContainer eksctl create nodegroup --cluster=existing-cluster --node-ami-family=WindowsServer2019CoreContainer

Pour garantir que les charges de travail sont planifiées sur le bon système d'exploitation, elles doivent nodeSelector cibler le système d'exploitation sur lequel elles doivent s'exécuter :

# Targeting Windows nodeSelector: kubernetes.io/os: windows kubernetes.io/arch: amd64
# Targeting Linux nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: amd64

Si vous utilisez un cluster plus ancien que 1.19 le kubernetes.io/os et, kubernetes.io/arch les étiquettes doivent être remplacées par beta.kubernetes.io/os et beta.kubernetes.io/arch respectivement.

Plus d'informations