Nodi Windows Worker - Guida per l'utente di Eksctl

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Nodi Windows Worker

A partire dalla versione 1.14, Amazon EKS supporta Windows Nodes che consentono l'esecuzione di contenitori Windows. Oltre a disporre di nodi Windows, è necessario un nodo Linux nel cluster per eseguire CoredNS, poiché Microsoft non supporta ancora la modalità di rete host. Pertanto, un cluster Windows EKS sarà composto da una combinazione di nodi Windows e almeno un nodo Linux. I nodi Linux sono fondamentali per il funzionamento del cluster e pertanto, per un cluster di livello di produzione, si consiglia di disporre di almeno due nodi t2.large Linux per HA.

Nota

Non è più necessario installare il controller di risorse VPC sui nodi di lavoro Linux per eseguire carichi di lavoro Windows nei cluster EKS creati dopo il 22 ottobre 2021. È possibile abilitare la gestione degli indirizzi IP di Windows sul piano di controllo EKS tramite un'impostazione ConfigMap (vedi link: eks/latest/userguide/windows -support.html per i dettagli). eksctl applicherà automaticamente una patch per abilitare la gestione degli indirizzi IP di Windows quando viene ConfigMap creato un gruppo di nodi Windows.

Creazione di un nuovo cluster con supporto per Windows

La sintassi del file di configurazione consente di creare un cluster completamente funzionante con supporto per Windows in un unico comando:

# 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

Per creare un nuovo cluster con un gruppo di nodi non gestito da Windows senza utilizzare un file di configurazione, esegui i seguenti comandi:

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

Aggiungere il supporto per Windows a un cluster Linux esistente

Per consentire l'esecuzione di carichi di lavoro Windows su un cluster esistente con nodi Linux (famiglia AmazonLinux2 AMI), è necessario aggiungere un gruppo di nodi Windows.

È stato aggiunto il NUOVO supporto per il gruppo di nodi gestito da Windows (--managed=true o omit the flag).

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

Per garantire che i carichi di lavoro siano pianificati sul sistema operativo giusto, devono avere come destinazione il sistema operativo su cui devono essere eseguiti: nodeSelector

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

Se si utilizza un cluster più vecchio di kubernetes.io/os e 1.19 le kubernetes.io/arch etichette devono essere sostituite rispettivamente con beta.kubernetes.io/os ebeta.kubernetes.io/arch.

Ulteriori informazioni