하이브리드 노드용 클러스터 접근 준비

하이브리드 노드용 클러스터 접근 준비

하이브리드 노드가 Amazon EKS 클러스터에 조인할 수 있도록 Hybrid Nodes IAM 역할에 Kubernetes 권한을 활성화하는 방법을 설명합니다.

출처: 문서

본문

하이브리드 노드를 Amazon EKS 클러스터에 연결하기 전에 Hybrid Nodes IAM 역할에 클러스터에 조인할 Kubernetes 권한을 활성화해야 합니다. Hybrid Nodes IAM 역할 생성 방법은 하이브리드 노드용 자격 증명 준비를 참조하세요. Amazon EKS는 IAM 주체를 Kubernetes RBAC(Role-Based Access Control)와 연결하는 두 가지 방법인 Amazon EKS 접근 항목(access entries)과 aws-auth ConfigMap을 지원합니다. Amazon EKS 접근 관리에 대한 자세한 내용은 IAM 사용자 및 역할에 Kubernetes API 접근 권한 부여를 참조하세요.

아래 절차로 Hybrid Nodes IAM 역할을 Kubernetes 권한과 연결합니다. Amazon EKS 접근 항목을 사용하려면 클러스터가 API 또는 API_AND_CONFIG_MAP 인증 모드로 생성되어 있어야 합니다. aws-auth ConfigMap을 사용하려면 클러스터가 API_AND_CONFIG_MAP 인증 모드로 생성되어 있어야 합니다. CONFIG_MAP 전용 인증 모드는 하이브리드 노드가 활성화된 Amazon EKS 클러스터에서 지원되지 않습니다.

Hybrid Nodes IAM 역할에 Amazon EKS 접근 항목 사용

Hybrid Linux라는 하이브리드 노드용 Amazon EKS 접근 항목 유형이 있으며 IAM 역할과 함께 사용할 수 있습니다. 이 접근 항목 유형을 사용하면 사용자 이름이 자동으로 system:node:{{SessionName}}으로 설정됩니다. 접근 항목 생성에 대한 자세한 내용은 접근 항목 생성을 참조하세요.

AWS CLI

디바이스에 최신 버전의 AWS CLI가 설치되고 구성되어 있어야 합니다. 현재 버전을 확인하려면 aws --version을 사용하세요. yum, apt-get, macOS용 Homebrew 같은 패키지 관리자는 종종 최신 AWS CLI 버전보다 몇 버전 뒤처집니다. 최신 버전 설치 방법은 AWS Command Line Interface 사용자 가이드의 설치 및 aws configure로 빠른 구성(Quick configuration)을 참조하세요.

다음 명령으로 접근 항목을 만듭니다. CLUSTER_NAME을 클러스터 이름으로, HYBRID_NODES_ROLE_ARN을 하이브리드 노드용 자격 증명 준비 단계에서 만든 역할의 ARN으로 바꾸세요.

aws eks create-access-entry --cluster-name CLUSTER_NAME \
    --principal-arn HYBRID_NODES_ROLE_ARN \
    --type HYBRID_LINUX

AWS Management Console

  1. Amazon EKS 콘솔을 엽니다.
  2. 하이브리드 노드가 활성화된 클러스터의 이름을 선택합니다.
  3. Access 탭을 선택합니다.
  4. Create access entry를 선택합니다.
  5. IAM principal에서 하이브리드 노드용 자격 증명 준비 단계에서 만든 Hybrid Nodes IAM 역할을 선택합니다.
  6. Type에서 Hybrid Linux를 선택합니다.
  7. (선택 사항) Tags에서 접근 항목에 라벨을 지정합니다. 예를 들어 같은 태그를 가진 모든 자원을 더 쉽게 찾을 수 있도록 하려면요.
  8. Skip to review and create를 선택합니다. Hybrid Linux 접근 항목에 정책을 추가하거나 접근 범위를 변경할 수 없습니다.
  9. 접근 항목의 구성을 검토합니다. 잘못된 것이 있으면 Previous를 선택하여 단계를 거슬러 오류를 수정하세요. 구성이 올바르면 Create를 선택합니다.

Hybrid Nodes IAM 역할에 aws-auth ConfigMap 사용

다음 단계에서 하이브리드 노드용 자격 증명 준비 단계에서 만든 Hybrid Nodes IAM 역할의 ARN으로 aws-auth ConfigMap을 만들거나 업데이트합니다.

클러스터에 기존 aws-auth ConfigMap이 있는지 확인합니다. 특정 kubeconfig 파일을 사용한다면 --kubeconfig 플래그를 사용하세요.

kubectl describe configmap -n kube-system aws-auth

aws-auth ConfigMap이 표시되면 필요에 따라 업데이트합니다.

편집용 ConfigMap을 엽니다.

kubectl edit -n kube-system configmap/aws-auth

필요에 따라 새 mapRoles 항목을 추가합니다. HYBRID_NODES_ROLE_ARN을 Hybrid Nodes IAM 역할의 ARN으로 바꾸세요. 참고: {{SessionName}}은 ConfigMap에 저장할 올바른 템플릿 형식입니다. 다른 값으로 바꾸지 마세요.

data:
  mapRoles: |
  - groups:
    - system:bootstrappers
    - system:nodes
    rolearn: HYBRID_NODES_ROLE_ARN
    username: system:node:{{SessionName}}

파일을 저장하고 텍스트 편집기를 종료합니다.

클러스터에 기존 aws-auth ConfigMap이 없다면 다음 명령으로 생성합니다. HYBRID_NODES_ROLE_ARN을 Hybrid Nodes IAM 역할의 ARN으로 바꾸세요. {{SessionName}}은 ConfigMap에 저장할 올바른 템플릿 형식입니다. 다른 값으로 바꾸지 마세요.

kubectl apply -f=/dev/stdin <<EOF
apiVersion: v1
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system
data:
  mapRoles: |
    - groups:
      - system:bootstrappers
      - system:nodes
      rolearn: HYBRID_NODES_ROLE_ARN
      username: system:node:{{SessionName}}
EOF

더 알아보기 (Learn more)