관리형 노드 그룹 생성 - Amazon EKS

관리형 노드 그룹 생성

이 주제는 Amazon EKS 클러스터에 등록하는 노드의 Amazon EKS 관리형 노드 그룹을 시작하는 데 도움이 됩니다. 노드가 클러스터에 조인한 이후 Kubernetes 애플리케이션을 배포할 수 있습니다.

Amazon EKS 관리형 노드 그룹을 처음 시작하는 경우, 대신 Amazon EKS 시작하기 지침 중 하나를 따르는 것이 좋습니다. 이 가이드에서는 노드가 있는 Amazon EKS 클러스터를 생성하기 위한 시연을 제공합니다.

중요
사전 조건

eksctl 또는 AWS Management Console을 사용하여 관리형 노드 그룹을 생성할 수 있습니다.

eksctl
eksctl을 사용하여 관리형 노드 그룹을 생성하려면

이 절차에는 eksctl 버전 0.126.0 이상이 필요합니다. 버전은 다음 명령을 통해 확인할 수 있습니다.

eksctl version

eksctl 설치 또는 업그레이드 방법에 대한 지침은 eksctl 설치 또는 업데이트 섹션을 참조하세요.

  1. (선택 사항) AmazonEKS_CNI_Policy 관리형 IAM 정책이 Amazon EKS 노드 IAM 역할에 연결되어 있는 경우 Kubernetes aws-node 서비스 계정에 연결하는 IAM 역할에 대신 할당하는 것이 좋습니다. 자세한 내용은 서비스 계정에 IAM 역할을 사용하도록 Amazon VPC CNI plugin for Kubernetes 구성 섹션을 참조하세요.

  2. 사용자 정의 시작 템플릿을 사용하거나 사용하지 않고 관리형 노드 그룹을 생성합니다. 시작 템플릿을 수동으로 지정하면 노드 그룹을 더욱 수월하게 사용자 지정할 수 있습니다. 예를 들어, Amazon EKS 최적화 AMI의 boostrap.sh 스크립트에 사용자 지정 AMI를 배포하거나 인수를 제공할 수 있습니다. 사용 가능한 모든 옵션 및 기본값의 전체 목록을 보려면 다음 명령을 입력합니다.

    eksctl create nodegroup --help

    다음 명령에서 my-cluster를 클러스터 이름으로 바꾸고 my-mng를 노드 그룹 이름으로 바꿉니다. 이름에는 영숫자(대/소문자 구분)와 하이픈만 사용할 수 있습니다. 이름은 영문자로 시작해야 하며 100자 이하여야 합니다.

    중요

    관리형 노드 그룹을 처음 생성할 때 사용자 정의 시작 템플릿을 사용하지 않는 경우 나중에 노드 그룹에 대해 시작 템플릿을 사용하지 마세요. 사용자 정의 시작 템플릿을 지정하지 않은 경우 시스템에서 시작 템플릿을 자동으로 생성하므로 수동으로 수정하지 않는 것이 좋습니다. 이 자동 생성된 시작 템플릿을 수동으로 수정하면 오류가 발생할 수 있습니다.

    • 시작 템플릿 제외eksctl은 계정에 기본 Amazon EC2 시작 템플릿을 생성하고 사용자가 지정한 옵션에 따라 생성하는 시작 템플릿을 사용하여 노드 그룹을 배포합니다. --node-type의 값을 지정하려면 Amazon EC2 인스턴스 유형 선택 섹션을 참조하세요.

      허용된 키워드로 ami-family를 바꿉니다. 자세한 내용은 eksctl 설명서의 노드 AMI 패밀리 설정을 참조하세요. my-key를 Amazon EC2 키 페어 또는 퍼블릭 키 이름으로 바꿉니다. 이 키는 노드를 시작한 후 SSH로 연결하는 데 사용됩니다.

      참고

      Windows의 경우 이 명령에서 SSH를 활성화하지 않습니다. 대신에 RDP 암호를 획득할 수 있도록 Amazon EC2 키 페어를 인스턴스와 연결합니다. 그런 다음에 RDP를 사용할 수 있으려면 보안 그룹을 구성하여 Windows 포트 3389를 열어야 합니다.

      Amazon EC2 키 페어가 아직 없는 경우 AWS Management Console에서 새로 생성할 수 있습니다. Linux 정보는 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 키 페어 및 Linux 인스턴스를 참조하세요. Windows 정보는 Windows 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 키 페어 및 Windows 인스턴스를 참조하세요.

      다음과 같은 조건에 해당하면 IMDS에 대한 포드 액세스를 차단하는 것이 좋습니다.

      • 포드에 필요한 최소 권한만 있도록 모든 Kubernetes 서비스 계정에 IAM 역할을 할당할 계획입니다.

      • 클러스터의 어떤 포드도 현재 AWS 리전 검색과 같은 다른 이유로 Amazon EC2 인스턴스 메타데이터 서비스(IMDS)에 액세스할 필요가 없습니다.

      자세한 내용은 워커 노드에 할당된 인스턴스 프로파일에 대한 액세스 제한 섹션을 참조하세요.

      pod가 IMDS에 액세스하지 못하게 차단하고 싶다면 --disable-pod-imds 옵션을 다음 명령에 추가합니다.

      eksctl create nodegroup \ --cluster my-cluster \ --region region-code \ --name my-mng \ --node-ami-family ami-family \ --node-type m5.large \ --nodes 3 \ --nodes-min 2 \ --nodes-max 4 \ --ssh-access \ --ssh-public-key my-key

      인스턴스는 필요에 따라 pods에 훨씬 더 많은 수의 IP 주소를 할당하고, 인스턴스와 다른 CIDR 블록의 pods에 IP 주소를 할당하며, 인터넷 액세스 없이 클러스터에 배포할 수 있습니다. 자세한 내용은 Amazon EC2 노드에 사용 가능한 IP 주소의 양 늘리기, 자습서: 사용자 지정 네트워킹프라이빗 클러스터 요구 사항에서 이전 명령에 추가할 추가 옵션을 참조하세요.

      관리형 노드 그룹은 인스턴스 유형에 따라 노드 그룹의 각 노드에서 실행될 수 있는 최대 pods 수에 대해 단일 값을 계산하고 적용합니다. 다른 인스턴스 유형으로 노드 그룹을 생성하는 경우 모든 인스턴스 유형에 대해 계산된 가장 작은 값이 노드 그룹의 모든 인스턴스 유형에서 실행될 수 있는 최대 pods 수로 적용됩니다. 관리형 노드 그룹은 각 Amazon EC2 인스턴스 유형의 Amazon EKS 권장 최대 pods 수에서 참조된 스크립트를 사용하여 값을 계산합니다.

    • 시작 템플릿 사용 - 시작 템플릿이 이미 존재해야 하며 시작 템플릿 기본 사항에 명시된 요구 사항을 충족해야 합니다.

      다음과 같은 조건에 해당하면 IMDS에 대한 포드 액세스를 차단하는 것이 좋습니다.

      • 포드에 필요한 최소 권한만 있도록 모든 Kubernetes 서비스 계정에 IAM 역할을 할당할 계획입니다.

      • 클러스터의 어떤 포드도 현재 AWS 리전 검색과 같은 다른 이유로 Amazon EC2 인스턴스 메타데이터 서비스(IMDS)에 액세스할 필요가 없습니다.

      자세한 내용은 워커 노드에 할당된 인스턴스 프로파일에 대한 액세스 제한 섹션을 참조하세요.

      IMDS에 대한 pod 액세스를 차단하려면 시작 템플릿에서 필요한 설정을 지정합니다.

      1. 다음 콘텐츠를 디바이스에 복사합니다. 예제 값을 바꾼 다음 수정된 명령을 실행하여 eks-nodegroup.yaml 파일을 생성합니다. 시작 템플릿 없이 배포할 때 지정하는 몇 가지 설정이 시작 템플릿으로 이동됩니다. version을 지정하지 않으면 템플릿의 기본 버전이 사용됩니다.

        cat >eks-nodegroup.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code managedNodeGroups: - name: my-mng launchTemplate: id: lt-id version: "1" EOF

        eksctl config 파일 설정의 전체 목록은 eksctl 설명서에서 Config 파일 스키마를 참조하세요. 인스턴스는 필요에 따라 pods에 훨씬 더 많은 수의 IP 주소를 할당하고, 인스턴스와 다른 CIDR 블록의 pods에 IP 주소를 할당하며, containerd 런타임을 사용하고, 아웃바운드 인터넷 액세스 없이 클러스터에 배포할 수 있습니다. 자세한 내용은 Amazon EC2 노드에 사용 가능한 IP 주소의 양 늘리기, 자습서: 사용자 지정 네트워킹, containerd 런타임 부트스트랩 플래그 사용프라이빗 클러스터 요구 사항에서 config 파일에 추가할 추가 옵션을 참조하세요.

        시작 템플릿에서 AMI ID를 지정하지 않은 경우 관리형 노드 그룹은 인스턴스 유형에 따라 노드 그룹의 각 노드에서 실행될 수 있는 최대 pods 수에 대해 단일 값을 계산하고 적용합니다. 다른 인스턴스 유형으로 노드 그룹을 생성하는 경우 모든 인스턴스 유형에 대해 계산된 가장 작은 값이 노드 그룹의 모든 인스턴스 유형에서 실행될 수 있는 최대 pods 수로 적용됩니다. 관리형 노드 그룹은 각 Amazon EC2 인스턴스 유형의 Amazon EKS 권장 최대 pods 수에서 참조된 스크립트를 사용하여 값을 계산합니다.

        작 템플릿에서 AMI ID를 지정한 경우 사용자 지정 네트워킹을 사용하거나 인스턴스에 할당된 IP 주소의 수를 늘리고 싶으면 노드 그룹의 각 노드에서 실행될 수 있는 최대 pods 수를 지정합니다. 자세한 내용은 각 Amazon EC2 인스턴스 유형의 Amazon EKS 권장 최대 pods 수 섹션을 참조하세요.

      2. 다음 명령을 사용하여 노드 그룹을 배포합니다.

        eksctl create nodegroup --config-file eks-nodegroup.yaml
AWS Management Console
AWS Management Console을 사용하여 관리형 노드 그룹을 생성하려면
  1. 클러스터 상태가 ACTIVE가 되기를 기다립니다. 이미 ACTIVE 상태가 아닌 클러스터에 대한 관리형 노드 그룹을 생성할 수 없습니다.

  2. https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.

  3. 관리형 노드 그룹을 만들려는 클러스터의 이름을 선택합니다.

  4. 컴퓨팅(Compute)을 선택합니다.

  5. 노드 그룹 추가(Add Node Group)를 선택합니다.

  6. 노드 그룹 구성(Configure node group) 페이지에서 적절히 파라미터를 입력하고 다음(Next)을 선택합니다.

    • 이름 - 관리형 노드 그룹의 고유한 이름을 입력합니다. 이름에는 영숫자(대소문자 구분)와 하이픈만 사용할 수 있습니다. 영문자로 시작해야 하며 100자 이하여야 합니다.

    • 노드 IAM 역할 - 노드 그룹에 사용할 노드 인스턴스 역할을 선택합니다. 자세한 내용은 Amazon EKS 노드 IAM 역할 섹션을 참조하세요.

      중요
      • 클러스터를 생성하는 데 사용된 것과 동일한 역할을 사용할 수 없습니다.

      • 자체 관리형 노드 그룹에서 현재 사용하지 않는 역할을 사용하는 것이 좋습니다. 그렇지 않으면 새로운 자체 관리형 노드 그룹과 함께 사용할 계획입니다. 자세한 내용은 관리형 노드 그룹 삭제 섹션을 참조하세요.

    • 시작 템플릿 사용 - (선택 사항) 기존 시작 템플릿을 사용할지 여부를 선택합니다. 시작 템플릿 이름(Launch Template Name)을 선택합니다. 그런 다음 시작 템플릿 버전(Launch template version)을 선택합니다. 버전을 선택하지 않으면 Amazon EKS가 템플릿의 기본 버전을 사용합니다. 시작 템플릿을 사용하면 사용자 지정 AMI 배포를 허용하고, pods에 훨씬 더 많은 수의 IP 주소를 할당하고, 인스턴스와 다른 CIDR 블록의 pods에 IP 주소를 할당하며, 인스턴스에 대해 containerd 런타임을 활성화하고, 아웃바운드 인터넷 액세스 없이 클러스터에 노드를 배포하는 등 더욱 다양한 노드 그룹 사용자 지정이 허용됩니다. 자세한 내용은 Amazon EC2 노드에 사용 가능한 IP 주소의 양 늘리기, 자습서: 사용자 지정 네트워킹, containerd 런타임 부트스트랩 플래그 사용프라이빗 클러스터 요구 사항 섹션을 참조하세요.

      시작 템플릿이 시작 템플릿 지원의 요구 사항을 충족해야 합니다. 자체 시작 템플릿을 사용하지 않는 경우 Amazon EKS API는 계정에 기본 Amazon EC2 시작 템플릿을 생성하고 기본 시작 템플릿을 사용하여 노드 그룹을 배포합니다.

      서비스 계정에 대한 IAM 역할을 구현하고 AWS 서비스에 대한 액세스 권한이 필요한 모든 pod에 직접 필요한 권한을 할당하며 클러스터의 pods가 현재 AWS 리전를 검색하는 등 다른 이유로 IMDS에 액세스할 필요가 없는 경우 시작 템플릿에서 호스트 네트워킹을 사용하지 않는 pods에 대해 IMDS에 대한 액세스를 사용 중지할 수도 있습니다. 자세한 내용은 워커 노드에 할당된 인스턴스 프로파일에 대한 액세스 제한 섹션을 참조하세요.

    • Kubernetes 레이블 - (선택 사항) 관리형 노드 그룹의 노드에 Kubernetes 레이블을 적용하도록 선택할 수 있습니다.

    • Kubernetes 테인트 - (선택 사항) 관리형 노드 그룹의 노드에 Kubernetes 테인트를 적용하도록 선택할 수 있습니다. 효과(Effect) 메뉴에서 사용할 수 있는 옵션은 NoSchedule, NoExecutePreferNoSchedule입니다.

    • 태그 - (선택 사항) Amazon EKS 관리형 노드 그룹에 태그를 지정하도록 선택할 수 있습니다. 이러한 태그는 노드 그룹의 다른 리소스(예: Auto Scaling 그룹이나 인스턴스)에는 전파되지 않습니다. 자세한 내용은 Amazon EKS 리소스 태깅 섹션을 참조하세요.

  7. [컴퓨팅 및 크기 조정 구성 설정(Set compute and scaling configuration)] 페이지에서 파라미터를 입력하고 [다음(Next)]을 선택합니다.

    • AMI 유형 – AMI 유형을 선택합니다. Arm 인스턴스를 배포하는 경우 배포하기 전에 Amazon EKS 최적화 Arm Amazon Linux AMI의 고려 사항을 검토하세요.

      이전 페이지에서 시작 템플릿을 지정하고 시작 템플릿에 AMI를 지정한 경우 값을 선택할 수 없습니다. 템플릿의 값이 표시됩니다. 템플릿에 지정된 AMI에서 AMI 지정의 요구 사항을 충족해야 합니다.

    • 용량 유형 - 용량 유형을 선택합니다. 용량 유형을 선택하는 방법에 대한 자세한 내용은 관리형 노드 그룹 용량 섹션을 참조하세요. 동일한 노드 그룹 내에 서로 다른 용량 유형을 혼합할 수 없습니다. 두 용량 유형을 모두 사용하려면 각각 고유한 용량 및 인스턴스 유형을 가진 별도의 노드 그룹을 생성합니다.

    • 인스턴스 유형 - 기본적으로 하나 이상의 인스턴스 유형이 지정됩니다. 기본 인스턴스 유형을 제거하려면 인스턴스 유형의 오른쪽에 있는 X를 선택합니다. 관리형 노드 그룹에 사용할 인스턴스 유형을 선택합니다. 자세한 내용은 Amazon EC2 인스턴스 유형 선택 섹션을 참조하세요.

      콘솔에는 일반적으로 사용되는 인스턴스 유형 세트가 표시됩니다. 표시되지 않은 인스턴스 유형을 사용하여 관리형 노드 그룹을 생성해야 하는 경우 eksctl, AWS CLI, AWS CloudFormation 또는 SDK를 사용하여 노드 그룹을 생성합니다. 이전 페이지에서 시작 템플릿을 지정한 경우 인스턴스 유형이 시작 템플릿에 지정되어야 하므로 값을 선택할 수 없습니다. 시작 템플릿의 값이 표시됩니다. 용량 유형(Capacity type)에 대한 스팟(Spot)을 선택한 경우 가용성을 높이기 위해 여러 인스턴스 유형을 지정하는 것이 좋습니다.

    • 디스크 크기 - 노드 루트 볼륨에 사용할 디스크 크기(GiB)를 입력합니다.

      이전 페이지에서 시작 템플릿을 지정한 경우 시작 템플릿에 값을 지정해야 하므로 값을 선택할 수 없습니다.

    • 원하는 크기 - 시작할 때 관리형 노드 그룹에서 유지해야 하는 현재 노드 수를 지정합니다.

      참고

      Amazon EKS는 노드 그룹을 자동으로 확장 또는 축소하지 않습니다. 그러나 Kubernetes Cluster Autoscaler가 이 작업을 수행하도록 구성할 수 있습니다.

    • 최소 크기 - 관리형 노드 그룹이 확장될 수 있는 최소 노드 수를 지정합니다.

    • 최대 크기 - 관리형 노드 그룹이 확장될 수 있는 최대 노드 수를 지정합니다.

    • 노드 그룹 업데이트 구성 - (선택 사항) 병렬로 업데이트할 노드의 수 또는 백분율을 선택할 수 있습니다. 이러한 노드는 업데이트 중에 사용할 수 없습니다. [최대 사용 불가(Maximum unavailable)]에서 다음 옵션 중 하나를 선택하고 [값(Value)]을 지정합니다.

      • 숫자(Number) - 노드 그룹에서 병렬로 업데이트할 수 있는 노드 수를 선택하고 지정합니다.

      • 비율(Percentage) - 노드 그룹에서 병렬로 업데이트할 수 있는 노드의 비율을 선택하고 지정합니다. 이 기능은 노드 그룹에 많은 수의 노드가 있는 경우에 유용합니다.

  8. [네트워킹 지정(Specify networking)] 페이지에서 파라미터를 입력하고 [다음(Next)]을 선택합니다.

    • 서브넷 - 관리형 노드를 시작할 서브넷을 선택합니다.

      중요

      Amazon EBS 볼륨에 의해 백업되고 Kubernetes Cluster Autoscaler를 사용하는 상태 기반 애플리케이션을 여러 가용 영역에서 실행하는 경우 각 단일 가용 영역으로 범위가 지정된 여러 노드 그룹을 구성해야 합니다. 또한 --balance-similar-node-groups 기능을 활성화해야 합니다.

      중요
      • 퍼블릭 서브넷을 선택한 경우 클러스터에 퍼블릭 API 서버 엔드포인트만 활성화되어 있으면, 인스턴스의 서브넷에 MapPublicIPOnLaunchtrue로 설정되어 있어야 클러스터에 성공적으로 조인할 수 있습니다. 2020년 3월 26일 이후에 eksctl 또는 Amazon EKS 벤딩 AWS CloudFormation 템플릿을 사용하여 퍼블릭 서브넷을 생성한 경우 이 설정이 이미 true로 설정되어 있습니다. 2020년 3월 26일 이전에 eksctl 또는 AWS CloudFormation 템플릿으로 서브넷을 생성한 경우 해당 설정을 수동으로 변경해야 합니다. 자세한 내용을 알아보려면 서브넷의 퍼블릭 IPv4 주소 지정 속성 수정을 참조하세요.

      • 시작 템플릿을 사용하고 여러 네트워크 인터페이스를 지정하는 경우 MapPublicIpOnLaunchtrue로 설정되어 있더라도 Amazon EC2가 퍼블릭 IPv4 주소를 자동으로 할당하지 않습니다. 이 시나리오에서 노드가 클러스터에 조인하려면 클러스터의 프라이빗 API 서버 엔드포인트를 활성화하거나 NAT 게이트웨이와 같은 대체 방법을 통해 제공되는 아웃바운드 인터넷 액세스를 사용하여 프라이빗 서브넷에서 노드를 시작해야 합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 인스턴스 IP 주소 지정을 참조하세요.

    • 노드에 대한 SSH 액세스 구성(Configure SSH access to nodes)(선택 사항). SSH를 활성화하면 문제가 있는 경우 인스턴스에 연결하여 진단 정보를 수집할 수 있습니다. 노드 그룹을 생성할 때 원격 액세스를 사용 설정하는 것이 좋습니다. 노드 그룹을 생성한 후에는 원격 액세스를 사용 설정할 수 없습니다.

      시작 템플릿을 사용하도록 선택한 경우 이 옵션은 표시되지 않습니다. 노드에 대한 원격 액세스를 활성화하려면 시작 템플릿에 키 페어를 지정하고 시작 템플릿에서 지정한 보안 그룹의 노드에 적절한 포트가 열려 있는지 확인합니다. 자세한 내용은 사용자 지정 보안 그룹 사용 섹션을 참조하세요.

      참고

      Windows의 경우 이 옵션에서 SSH를 활성화하지 않습니다. 대신에 RDP 암호를 획득할 수 있도록 Amazon EC2 키 페어를 인스턴스와 연결합니다. 그런 다음에 RDP를 사용할 수 있으려면 보안 그룹을 구성하여 Windows 포트 3389를 열어야 합니다.

    • [SSH 키 페어(SSH key pair)]에서 사용할 Amazon EC2 SSH 키를 선택합니다. Linux 정보는 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 키 페어 및 Linux 인스턴스를 참조하세요. Windows 정보는 Windows 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 키 페어 및 Windows 인스턴스를 참조하세요. 시작 템플릿을 사용하도록 선택한 경우 시작 템플릿을 선택할 수 없습니다. Bottlerocket AMI를 사용하여 노드 그룹에 Amazon EC2 SSH 키가 제공되면 관리 컨테이너도 사용됩니다. 자세한 내용은 GitHub의 관리자 컨테이너를 참조하세요.

    • 특정 인스턴스에 대한 액세스를 제한하려면 다음에서 SSH 원격 액세스 허용(Allow SSH remote access from)에서 해당 인스턴스에 연결된 보안 그룹을 선택합니다. 특정 보안 그룹을 선택하지 않는 경우 인터넷의 어느 곳에서나(0.0.0.0/0) SSH 액세스가 허용됩니다.

  9. 검토 및 생성(Review and create) 페이지에서 관리형 노드 그룹 구성을 검토하고 생성을 선택합니다.

    노드가 클러스터에 조인하지 못한 경우 문제 해결 가이드의 노드가 클러스터 조인에 실패 섹션을 참조하세요.

  10. 노드의 상태를 확인하고 Ready 상태가 될 때까지 대기합니다.

    kubectl get nodes --watch
  11. (GPU 노드만 해당) GPU 인스턴스 유형과 Amazon EKS 최적화 가속 AMI를 선택한 경우 다음 명령을 사용하여 클러스터에 Kubernetes용 NVIDIA 디바이스 플러그인을 DaemonSet로 적용해야 합니다.

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.9.0/nvidia-device-plugin.yml
  12. (선택 사항) 클러스터에 Linux 노드를 추가한 후 Amazon EKS 클러스터에 대해 Windows 지원 사용 설정의 절차에 따라 클러스터에 Windows 지원을 추가하고 Windows 워커 노드를 추가합니다. 클러스터에서 Windows 워크로드만 실행하려는 경우에도 모든 Amazon EKS 클러스터에는 하나 이상의 Linux 노드가 있어야 합니다.

정상 작동하는 Amazon EKS 클러스터와 노드가 있으므로, Kubernetes 추가 기능을 설치하고 클러스터에 애플리케이션을 배포하기 시작할 준비가 되었습니다. 다음은 클러스터의 기능을 확장하는 데 도움이 되는 설명서 주제입니다.

  • 클러스터를 생성한 IAM 엔터티(사용자 또는 역할)는 kubectl 또는 AWS Management Console을 사용하여 Kubernetes API 서버를 호출할 수 있는 유일한 IAM 엔터티입니다. 다른 IAM 사용자 또는 역할이 클러스터에 액세스할 수 있게 하려면 해당 사용자 및 역할을 추가해야 합니다. 자세한 내용은 클러스터에 대한 IAM 사용자 및 역할 액세스 사용 설정필요한 권한 섹션을 참조하세요.

  • 다음과 같은 조건에 해당하면 IMDS에 대한 포드 액세스를 차단하는 것이 좋습니다.

    • 포드에 필요한 최소 권한만 있도록 모든 Kubernetes 서비스 계정에 IAM 역할을 할당할 계획입니다.

    • 클러스터의 어떤 포드도 현재 AWS 리전 검색과 같은 다른 이유로 Amazon EC2 인스턴스 메타데이터 서비스(IMDS)에 액세스할 필요가 없습니다.

    자세한 내용은 워커 노드에 할당된 인스턴스 프로파일에 대한 액세스 제한 섹션을 참조하세요.

  • Cluster Autoscaler - 노드 그룹의 노드 수를 자동으로 조정하도록 Kubernetes Cluster Autoscaler를 구성합니다.

  • 클러스터에 샘플 애플리케이션을 배포합니다.

  • 클러스터 관리 - 클러스터를 관리하는 데 중요한 도구를 사용하는 방법에 대해 알아봅니다.