Windows Worker-Knoten - Eksctl-Benutzerhandbuch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Windows Worker-Knoten

Ab Version 1.14 unterstützt Amazon EKS Windows-Knoten, die das Ausführen von Windows-Containern ermöglichen. Zusätzlich zu den Windows-Knoten ist ein Linux-Knoten im Cluster erforderlich, um CoreDNS auszuführen, da Microsoft den Host-Netzwerkmodus noch nicht unterstützt. Somit wird ein Windows EKS-Cluster eine Mischung aus Windows-Knoten und mindestens einem Linux-Knoten sein. Die Linux-Knoten sind für das Funktionieren des Clusters von entscheidender Bedeutung. Daher wird für einen Cluster auf Produktionsniveau empfohlen, mindestens zwei t2.large Linux-Knoten für HA zu haben.

Anmerkung

Sie müssen den VPC-Ressourcencontroller nicht mehr auf Linux-Worker-Knoten installieren, um Windows-Workloads in EKS-Clustern auszuführen, die nach dem 22. Oktober 2021 erstellt wurden. Sie können die Windows-IP-Adressverwaltung auf der EKS-Steuerebene über eine ConfigMap-Einstellung aktivieren (Einzelheiten finden Sie unter Link: eks/latest/userguide/windows -support.html). eksctl patcht das automatisch, um die Windows-IP-Adressverwaltung ConfigMap zu aktivieren, wenn eine Windows-Knotengruppe erstellt wird.

Einen neuen Cluster mit Windows-Unterstützung erstellen

Die Syntax der Konfigurationsdatei ermöglicht die Erstellung eines voll funktionsfähigen Clusters mit Windows-Unterstützung mit einem einzigen Befehl:

# 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

Um einen neuen Cluster mit einer nicht verwalteten Windows-Knotengruppe ohne Verwendung einer Konfigurationsdatei zu erstellen, geben Sie die folgenden Befehle ein:

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

Hinzufügen von Windows-Unterstützung zu einem vorhandenen Linux-Cluster

Um die Ausführung von Windows-Workloads auf einem vorhandenen Cluster mit Linux-Knoten (AmazonLinux2AMI-Familie) zu ermöglichen, müssen Sie eine Windows-Knotengruppe hinzufügen.

NEU Support für von Windows verwaltete Knotengruppen wurde hinzugefügt (--managed=true oder das Flag weglassen).

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

Um sicherzustellen, dass Workloads auf dem richtigen Betriebssystem geplant werden, müssen sie auf das Betriebssystem nodeSelector ausgerichtet sein, auf dem sie ausgeführt werden sollen:

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

Wenn Sie einen Cluster verwenden, der älter als 1.19 der ist, müssen die kubernetes.io/arch Bezeichnungen kubernetes.io/os und beta.kubernetes.io/arch jeweils durch beta.kubernetes.io/os und ersetzt werden.

Weitere Informationen