기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Windows 작업자 노드
버전 1.14부터 Amazon EKS는 Windows 컨테이너 실행을 허용하는 Windows 노드를 지원합니다. Windows 노드가 있는 것 외에도 Microsoft는 아직 호스트 네트워킹 모드를 지원하지 않으므로 클러스터의 Linux 노드가 CoreDNS를 실행해야 합니다. 따라서 Windows EKS 클러스터는 Windows 노드와 하나 이상의 Linux 노드가 혼합되어 있습니다. Linux 노드는 클러스터의 작동에 매우 중요하므로 프로덕션 등급 클러스터의 경우 HA용 t2.large Linux 노드를 두 개 이상 보유하는 것이 좋습니다.
참고
2021년 10월 22일 이후에 생성된 EKS 클러스터에서 Windows 워크로드를 실행하기 위해 Linux 작업자 노드에 VPC 리소스 컨트롤러를 더 이상 설치할 필요가 없습니다. ConfigMap 설정을 통해 EKS 컨트롤 플레인에서 Windows IP 주소 관리를 활성화할 수 있습니다(자세한 내용은 link:eks/latest/userguide/windows-support.html 참조). eksctl은 Windows 노드 그룹이 생성될 때 Windows IP 주소 관리를 활성화하기 위해 ConfigMap을 자동으로 패치합니다.
Windows 지원을 사용하여 새 클러스터 생성
구성 파일 구문을 사용하면 단일 명령으로 Windows를 지원하는 완전한 기능을 갖춘 클러스터를 생성할 수 있습니다.
# 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
구성 파일을 사용하지 않고 Windows 비관리형 노드 그룹을 사용하여 새 클러스터를 생성하려면 다음 명령을 실행합니다.
eksctl create cluster --managed=false --name=windows-cluster --node-ami-family=WindowsServer2019CoreContainer
기존 Linux 클러스터에 Windows 지원 추가
Linux 노드(AmazonLinux2 AMI 패밀리)가 있는 기존 클러스터에서 Windows 워크로드 실행을 활성화하려면 Windows 노드 그룹을 추가해야 합니다.
NEW Windows 관리형 노드 그룹에 대한 지원이 추가되었습니다(--managed=true 또는 플래그 생략).
eksctl create nodegroup --managed=false --cluster=existing-cluster --node-ami-family=WindowsServer2019CoreContainer eksctl create nodegroup --cluster=existing-cluster --node-ami-family=WindowsServer2019CoreContainer
워크로드가 올바른 OS에 예약되도록 하려면 워크로드가 실행되어야 하는 OS를 nodeSelector 대상으로 하는이 있어야 합니다.
# Targeting Windows nodeSelector: kubernetes.io/os: windows kubernetes.io/arch: amd64
# Targeting Linux nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: amd64
kubernetes.io/os 및 kubernetes.io/arch 레이블보다 오래된 클러스터1.19를 사용하는 경우 beta.kubernetes.io/arch 각각 beta.kubernetes.io/os 및 로 교체해야 합니다.