Nodos de trabalho do Windows - Guia do usuário do Eksctl

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Nodos de trabalho do Windows

A partir da versão 1.14, o Amazon EKS oferece suporte aos nós do Windows que permitem a execução de contêineres do Windows. Além de ter nós do Windows, é necessário um nó Linux no cluster para executar o CoreDNS, pois a Microsoft ainda não oferece suporte ao modo de rede host. Assim, um cluster do Windows EKS será uma mistura de nós do Windows e pelo menos um nó do Linux. Os nós Linux são essenciais para o funcionamento do cluster e, portanto, para um cluster de nível de produção, é recomendável ter pelo menos dois nós t2.large Linux para HA.

nota

Você não precisa mais instalar o controlador de recursos VPC nos nós de trabalho do Linux para executar cargas de trabalho do Windows em clusters EKS criados após 22 de outubro de 2021. Você pode ativar o gerenciamento de endereços IP do Windows no plano de controle do EKS por meio de uma configuração do ConfigMap (consulte o link: eks/latest/userguide/windows -support.html para obter detalhes). O eksctl corrigirá automaticamente o ConfigMap para habilitar o gerenciamento de endereços IP do Windows quando um grupo de nós do Windows for criado.

Criação de um novo cluster com suporte para Windows

A sintaxe do arquivo de configuração permite criar um cluster totalmente funcional com suporte ao Windows em um único 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

Para criar um novo cluster com o grupo de nós não gerenciado do Windows sem usar um arquivo de configuração, emita os seguintes comandos:

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

Adicionando suporte ao Windows a um cluster Linux existente

Para permitir a execução de cargas de trabalho do Windows em um cluster existente com nós Linux (família AmazonLinux2 AMI), você precisa adicionar um grupo de nós do Windows.

O NOVO Support for Windows managed nodegroup foi adicionado (--managed=true ou omita a sinalização).

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

Para garantir que as cargas de trabalho sejam programadas no sistema operacional correto, elas devem ter um sistema operacional nodeSelector direcionado ao qual devem ser executadas:

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

Se você estiver usando um cluster mais antigo que 1.19 o kubernetes.io/os e, os kubernetes.io/arch rótulos precisarão ser substituídos por beta.kubernetes.io/os ebeta.kubernetes.io/arch, respectivamente.

Mais informações