기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
EKS 하이브리드 노드
소개
Amazon EKS는 AWS에서 사용하는 것과 동일한 Amazon EKS 클러스터, 기능 및 도구를 사용하여 고객 관리형 인프라에서 온프레미스 및 엣지 애플리케이션을 실행할 수 있는 새로운 기능인 하이브리드 노드를 도입합니다. Amazon EKS Hybrid Nodes는 고객이 온프레미스, 엣지 및 클라우드 환경에서 애플리케이션을 실행하는 방법을 단순화하고 표준화할 수 있도록 온프레미스 환경에 AWS 관리형 Kubernetes 환경을 제공합니다. 자세한 내용은 EKS Hybrid Nodes에서 확인하세요.
이 기능에 대한 지원을 용이하게 하기 위해 eksctl은 라는 새로운 최상위 필드를 도입합니다remoteNetworkConfig. 하이브리드 노드 관련 구성은 구성 파일의 일부로이 필드를 통해 설정해야 합니다. CLI 플래그는 해당되지 않습니다. 또한 시작 시 모든 원격 네트워크 구성은 클러스터 생성 중에만 설정할 수 있으며 나중에 업데이트할 수 없습니다. 즉, 하이브리드 노드를 사용하도록 기존 클러스터를 업데이트할 수 없습니다.
구성 파일의 remoteNetworkConfig 섹션에서는 원격 노드를 EKS 클러스터에 조인할 때 네트워킹 및 자격 증명이라는 두 가지 핵심 영역을 설정할 수 있습니다.
네트워킹
EKS Hybrid Nodes는 온프레미스 네트워크(들)를 VPC에 연결하는 선호하는 방법에 유연합니다. AWS Site-to-Site VPN 및 AWS Direct Connect를 포함하여 몇 가지 문서화된 옵션을 사용할 수 있으며 사용 사례에 가장 적합한 방법을 선택할 수 있습니다. 선택할 수 있는 대부분의 방법에서 VPC는 가상 프라이빗 게이트웨이(VGW) 또는 전송 게이트웨이(TGW)에 연결됩니다. eksctl을 사용하여 VPC를 생성하는 경우 eksctl은 EKS 컨트롤 플레인과 원격 노드 간의 통신을 용이하게 하기 위해 VPC 범위 내에서 네트워킹 관련 사전 조건도 구성합니다.
-
수신/송신 SG 규칙
-
프라이빗 서브넷의 라우팅 테이블의 라우팅
-
지정된 TGW 또는 VGW에 대한 VPC 게이트웨이 연결
구성 파일의 예:
remoteNetworkConfig: vpcGatewayID: tgw-xxxx # either VGW or TGW to be attached to your VPC remoteNodeNetworks: # eksctl will create, behind the scenes, SG rules, routes, and a VPC gateway attachment, # to facilitate communication between remote network(s) and EKS control plane, via the attached gateway - cidrs: ["10.80.146.0/24"] remotePodNetworks: - cidrs: ["10.86.30.0/23"]
선택한 연결 방법에 TGW 또는 VGW 사용이 포함되지 않는 경우 eksctl을 사용하여 VPC를 생성해서는 안 되며, 대신 기존 VPC를 제공해야 합니다. 관련 참고로 기존 VPC를 사용하는 경우 eksctl은 이를 수정하지 않으며 모든 네트워킹 요구 사항이 적용되도록 하는 것은 사용자의 책임입니다.
참고
eksctl은 AWS VPC 외부의 네트워킹 인프라(예: VGW/TGW에서 원격 네트워크로의 인프라)를 설정하지 않습니다.
자격 증명
EKS Hybrid Nodes는 AWS SSM 또는 AWS IAM Roles Anywhere에서 프로비저닝한 AWS IAM Authenticator 및 임시 IAM 자격 증명을 사용하여 EKS 클러스터로 인증합니다. 자체 관리형 노드 그룹과 마찬가지로 달리 제공되지 않은 경우 eksctl은 원격 노드가 수임할 하이브리드 노드 IAM 역할을 생성합니다. 또한 IAM Roles Anywhere를 자격 증명 공급자로 사용하는 경우 eksctl은 지정된 인증 기관 번들(iam.caBundleCert)을 기반으로 프로필을 설정하고 앵커를 신뢰합니다. 예:
remoteNetworkConfig: iam: # the provider for temporary IAM credentials. Default is SSM. provider: IRA # the certificate authority bundle that serves as the root of trust, # used to validate the X.509 certificates provided by your nodes. # can only be set when provider is IAMRolesAnywhere. caBundleCert: xxxx
eksctl에서 생성한 하이브리드 노드 역할의 ARN은 나중에 원격 노드를 클러스터에 조인하고, NodeConfig를 설정하고nodeadm, 활성화를 생성하는 과정에서 필요합니다(SSM을 사용하는 경우). 가져오려면 다음을 사용합니다.
aws cloudformation describe-stacks \ --stack-name eksctl-<CLUSTER_NAME>-cluster \ --query 'Stacks[].Outputs[?OutputKey==`RemoteNodesRoleARN`].[OutputValue]' \ --output text
마찬가지로 IAM Roles Anywhere를 사용하는 경우 eksctl에서 생성한 트러스트 앵커 및 Anywhere 프로파일의 ARN을 가져와 각각 RemoteNodesTrustAnchorARN 또는 RemoteNodesRoleARN로 대체하여 이전 명령을 수정할 수 RemoteNodesAnywhereProfileARN있습니다.
기존 IAM Roles Anywhere 구성이 있거나 SSM을 사용하는 경우를 통해 하이브리드 노드에 대한 IAM 역할을 제공할 수 있습니다remoteNetworkConfig.iam.roleARN. 이 시나리오에서 eksctl은 트러스트 앵커와 어디에나 프로필을 생성하지 않습니다. 예:
remoteNetworkConfig: iam: roleARN: arn:aws:iam::000011112222:role/HybridNodesRole
역할을 Kubernetes 자격 증명에 매핑하고 원격 노드가 EKS 클러스터에 조인하도록 권한을 부여하기 위해 eksctl은 하이브리드 노드 IAM 역할을 보안 주체 ARN 및 유형 로 사용하여 액세스 항목을 생성합니다. HYBRID_LINUX예:
eksctl get accessentry --cluster my-cluster --principal-arn arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO --output json [ { "principalARN": "arn:aws:iam::000011112222:role/eksctl-my-cluster-clust-HybridNodesSSMRole-XiIAg0d29PkO", "kubernetesGroups": [ "system:nodes" ] } ]
추가 기능 지원
컨테이너 네트워킹 인터페이스(CNI): AWS VPC CNI를 하이브리드 노드와 함께 사용할 수 없습니다. Cilium과 Calico의 핵심 기능은 하이브리드 노드와 함께 사용할 수 있습니다. Helm과 같은 도구를 선택하여 CNI를 관리할 수 있습니다. 자세한 내용은 하이브리드 노드에 대한 CNI 구성을 참조하세요.
참고
자체 관리형 또는 EKS 관리형 노드 그룹을 위해 클러스터에 VPC CNI를 설치하는 경우 하이브리드 노드에 설치되지 않도록 추가 기능의 데몬 세트에 대한 업데이트가 포함되므로 v1.19.0-eksbuild.1 이상을 사용해야 합니다.