이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
Amazon EKS 노드 클래스는 EKS Auto Mode 관리형 노드의 구성을 세부적으로 제어합니다. 노드 클래스는 네트워크 구성, 스토리지 설정, 리소스 태그 지정을 포함하여 EKS 클러스터의 노드 그룹에 적용되는 인프라 수준 설정을 정의합니다. 이 주제에서는 특정 운영 요구 사항에 맞게 노드 클래스를 생성하고 구성하는 방법을 설명합니다.
EKS Auto Mode가 기본 설정 이상으로 EC2 인스턴스를 프로비저닝하고 구성하는 방법을 사용자 지정해야 하는 경우, 노드 클래스를 생성하면 중요한 인프라 파라미터를 정확하게 제어할 수 있습니다. 예를 들어 보안 강화를 위해 프라이빗 서브넷 배치를 지정하거나, 성능에 민감한 워크로드에 대해 인스턴스 임시 스토리지를 구성하거나, 비용 할당을 위해 사용자 지정 태그 지정을 적용할 수 있습니다.
노드 클래스 생성
다음 단계에 따라 노드 클러스터를 생성합니다.
-
노드 클래스 구성으로 YAML 파일(예:
nodeclass.yaml
) 생성 -
kubectl
을 사용하여 클러스터에 해당 구성 적용 -
노드 풀 구성에서 노드 클래스를 참조하세요. 자세한 내용은 EKS Auto Mode용 노드 풀 생성 단원을 참조하십시오.
kubectl
을 설치하고 구성해야 합니다. 자세한 내용은 Amazon EKS를 사용하도록 설정 단원을 참조하십시오.
기본 노드 클래스 예제
다음은 노드 클래스 예제입니다.
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
name: private-compute
spec:
ephemeralStorage:
size: "160Gi"
이 NodeClass는 노드의 임시 스토리지 양을 늘립니다.
다음을 사용하여 이 구성을 적용합니다.
kubectl apply -f nodeclass.yaml
그런 다음 노드 풀 구성에서 노드 클래스를 참조합니다. 자세한 내용은 EKS Auto Mode용 노드 풀 생성 단원을 참조하십시오.
노드 클래스 사양
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
name: default
spec:
# Required: Name of IAM Role for Nodes
role: "MyNodeRole"
# Required: Subnet selection for node placement
subnetSelectorTerms:
- tags:
Name: "<tag-name>"
kubernetes.io/role/internal-elb: "1"
# Alternative using direct subnet ID
# - id: "subnet-0123456789abcdef0"
# Required: Security group selection for nodes
securityGroupSelectorTerms:
- tags:
Name: "eks-cluster-node-sg"
# Alternative approaches:
# - id: "sg-0123456789abcdef0"
# - name: "eks-cluster-node-security-group"
# Optional: Configure SNAT policy (defaults to Random)
snatPolicy: Random # or Disabled
# Optional: Network policy configuration (defaults to DefaultAllow)
networkPolicy: DefaultAllow # or DefaultDeny
# Optional: Network policy event logging (defaults to Disabled)
networkPolicyEventLogs: Disabled # or Enabled
# Optional: Configure ephemeral storage (shown with default values)
ephemeralStorage:
size: "80Gi" # Range: 1-59000Gi or 1-64000G or 1-58Ti or 1-64T
iops: 3000 # Range: 3000-16000
throughput: 125 # Range: 125-1000
# Optional: Additional EC2 tags
tags:
Environment: "production"
Team: "platform"
고려 사항:
-
NodeClass와 연결된 노드 IAM 역할을 변경하는 경우 새 액세스 항목을 생성해야 합니다. EKS는 클러스터 생성 중에 노드 IAM 역할에 대한 액세스 항목을 자동으로 생성합니다. 노드 IAM 역할에는
AmazonEKSAutoNodePolicy
EKS 액세스 정책이 필요합니다. 자세한 내용은 EKS 액세스 항목을 사용한 IAM 사용자에게 Kubernetes에 대한 액세스 권한 부여 단원을 참조하십시오. -
EKS는 노드의 최대 포드 수를 110으로 제한합니다. 이 제한은 기존의 최대 포드 계산 후에 적용됩니다. 자세한 내용은 최적의 Amazon EC2 노드 인스턴스 유형 선택 단원을 참조하십시오.
-
Kubernetes에서 EC2로 태그를 전파하려면 추가 IAM 권한을 구성해야 합니다. 자세한 내용은 EKS Auto Mode의 자격 증명 및 액세스에 대해 알아보기 단원을 참조하십시오.