하이브리드 노드가 있는 Amazon EKS 클러스터 생성
하이브리드 노드가 있는 Amazon EKS 클러스터 생성
하이브리드 노드가 활성화된 Amazon EKS 클러스터를 생성할 때 사용할 수 있는 옵션과 고려 사항을 설명합니다.
출처: 문서
본문
이 주제는 하이브리드 노드가 활성화된 Amazon EKS 클러스터를 만들 때 사용할 수 있는 옵션의 개요와 고려 사항을 설명합니다. EKS Hybrid Nodes는 표준 및 확장 지원을 포함하여 클라우드 노드가 있는 Amazon EKS 클러스터와 동일한 Kubernetes 버전 지원을 갖습니다.
EKS Hybrid Nodes를 사용할 계획이 아니라면 기본 Amazon EKS 클러스터 생성 문서(Create an Amazon EKS cluster)를 참조하세요.
사전 요구 사항
- 하이브리드 노드 사전 요구 사항 설정이 완료되었습니다. 하이브리드 노드가 활성화된 클러스터를 만들기 전에 온프레미스 노드 및 선택적으로 Pod CIDR을 식별하고, EKS 요구 사항과 하이브리드 노드 요구 사항에 따라 VPC와 서브넷을 만들고, 온프레미스 및 선택적으로 Pod CIDR에 대한 인바운드 규칙이 있는 보안 그룹을 만들어야 합니다. 이러한 사전 요구 사항에 대한 자세한 내용은 하이브리드 노드용 네트워킹 준비를 참조하세요.
- 디바이스에 최신 버전의 AWS Command Line Interface(AWS CLI)가 설치되고 구성되었습니다. 현재 버전을 확인하려면
aws --version을 사용하세요. yum, apt-get, macOS용 Homebrew 같은 패키지 관리자는 종종 최신 AWS CLI 버전보다 몇 버전 뒤처집니다. 최신 버전 설치 방법은 AWS Command Line Interface 사용자 가이드의 최신 버전의 AWS CLI 설치 또는 업데이트 및 AWS CLI 설정 구성을 참조하세요. - IAM 역할을 만들고 정책을 연결하며 EKS 클러스터를 만들고 설명할 수 있는 권한이 있는 IAM 주체.
고려 사항
- 클러스터는 클러스터 인증 모드로
API또는API_AND_CONFIG_MAP중 하나를 사용해야 합니다. - 클러스터는 IPv4 주소 패밀리를 사용해야 합니다.
- 클러스터는 공용 또는 프라이빗 클러스터 엔드포인트 연결을 사용해야 합니다. VPC 외부에서 실행되는 하이브리드 노드에 대해 Amazon EKS Kubernetes API 서버 엔드포인트가 공용 IP로 해석되므로 클러스터는 "Public and Private" 클러스터 엔드포인트 연결을 사용할 수 없습니다.
- 하이브리드 노드가 있는 EKS 클러스터에서는 OIDC 인증이 지원됩니다.
- 기존 클러스터의 하이브리드 노드 구성을 추가, 변경, 제거할 수 있습니다. 자세한 내용은 기존 Amazon EKS 클러스터에서 하이브리드 노드 활성화 또는 구성 수정을 참조하세요.
- 하이브리드 노드가 활성화된 클러스터를 만들 때 Kubernetes 서비스 IPv4 CIDR을 명시적으로 지정하지 않으면 Amazon EKS가 구성된 원격 노드 및 Pod 네트워크와 겹치지 않는 서비스 CIDR을 자동으로 선택합니다. 할당된 CIDR은 표준 기본값(
10.100.0.0/16또는172.20.0.0/16)과 다를 수 있습니다. 예를 들어 원격 노드 또는 Pod 네트워크가 이러한 기본 범위와 겹치면 Amazon EKS가172.16.0.0/16같은 개인 IP 범위의 대체 CIDR을 선택합니다. 예측 가능한 구성을 보장하려면 클러스터 생성 중 서비스 IPv4 CIDR을 명시적으로 지정할 것을 권장합니다. 클러스터 생성 후 할당된 서비스 CIDR은aws eks describe-cluster --name CLUSTER_NAME --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr"로 찾을 수 있습니다.
Step 1: 클러스터 IAM 역할 생성
이미 클러스터 IAM 역할이 있거나 eksctl 또는 AWS CloudFormation으로 클러스터를 만들 예정이라면 이 단계를 건너뛸 수 있습니다. 기본적으로 eksctl과 AWS CloudFormation 템플릿은 클러스터 IAM 역할을 대신 생성합니다.
다음 명령을 실행하여 IAM 신뢰 정책 JSON 파일을 만듭니다.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Amazon EKS 클러스터 IAM 역할을 만듭니다. 필요하면 이전 단계에서 파일을 기록한 컴퓨터의 경로를 eks-cluster-role-trust-policy.json 앞에 붙이세요. 이 명령은 이전 단계에서 만든 신뢰 정책을 역할에 연결합니다. IAM 역할을 만들려면 역할을 만드는 IAM 주체에 iam:CreateRole 작업(권한)이 할당되어 있어야 합니다.
aws iam create-role \
--role-name myAmazonEKSClusterRole \
--assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
Amazon EKS 관리형 정책을 할당하거나 직접 사용자 지정 정책을 만들 수 있습니다. 사용자 지정 정책에 사용해야 하는 최소 권한은 Amazon EKS 노드 IAM 역할을 참조하세요. AmazonEKSClusterPolicy라는 Amazon EKS 관리형 정책을 역할에 연결합니다. IAM 주체에 IAM 정책을 연결하려면 정책을 연결하는 주체에 iam:AttachUserPolicy 또는 iam:AttachRolePolicy 중 하나의 IAM 작업(권한)이 할당되어 있어야 합니다.
aws iam attach-role-policy \
--policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \
--role-name myAmazonEKSClusterRole
Step 2: 하이브리드 노드가 활성화된 클러스터 생성
다음 중 하나를 사용하여 클러스터를 만들 수 있습니다.
- eksctl
- AWS CloudFormation
- AWS CLI
- AWS Management Console
eksctl로 하이브리드 노드가 활성화된 클러스터 생성
최신 버전의 eksctl 명령줄 도구를 설치해야 합니다. eksctl 설치 또는 업데이트 방법은 eksctl 문서의 Installation을 참조하세요.
하이브리드 노드가 활성화된 Amazon EKS IPv4 클러스터를 정의하는 cluster-config.yaml을 만듭니다. cluster-config.yaml에서 다음을 바꾸세요. 전체 설정 목록은 eksctl 문서를 참조하세요.
CLUSTER_NAME을 클러스터 이름으로 바꾸세요. 이름에는 영숫자 문자(대소문자 구분)와 하이픈만 포함할 수 있습니다. 영숫자 문자로 시작해야 하며 100자를 초과할 수 없습니다. 이름은 클러스터를 만드는 AWS 리전과 AWS 계정 내에서 고유해야 합니다.AWS_REGION을 클러스터를 만들 AWS 리전으로 바꾸세요.K8S_VERSION을 Amazon EKS 지원 버전으로 바꾸세요.CREDS_PROVIDER를 하이브리드 노드용 자격 증명 준비 단계에서 구성한 자격 증명 공급자에 따라ssm또는ira로 바꾸세요.- 자격 증명 공급자가
ira(AWS IAM Roles Anywhere를 자격 증명 공급자로 사용)로 설정된 경우CA_BUNDLE_CERT를 바꾸세요. CA_BUNDLE_CERT는 CA(certificate authority) 인증서 본문이며 CA 선택에 따라 달라집니다. 인증서는 PEM(Privacy Enhanced Mail) 형식이어야 합니다. GATEWAY_ID를 VPC에 연결할 가상 프라이빗 게이트웨이 또는 트랜짓 게이트웨이의 ID로 바꾸세요.REMOTE_NODE_CIDRS를 하이브리드 노드의 온프레미스 노드 CIDR로 바꾸세요.REMOTE_POD_CIDRS를 하이브리드 노드에서 실행되는 워크로드의 온프레미스 Pod CIDR로 바꾸거나, 하이브리드 노드에서 웹훅을 실행하지 않는다면 구성에서 이 줄을 제거하세요. CNI가 Pod 트래픽이 온프레미스 호스트를 떠날 때 Pod IP 주소에 NAT(network address translation) 또는 마스커레이드(masquerade)를 사용하지 않는다면REMOTE_POD_CIDRS를 구성해야 합니다. 하이브리드 노드에서 웹훅을 실행한다면REMOTE_POD_CIDRS를 구성해야 합니다. 자세한 내용은 하이브리드 노드용 웹훅 구성을 참조하세요.
온프레미스 노드 및 Pod CIDR 블록은 다음 요구 사항을 충족해야 합니다.
- IPv4 RFC-1918 범위
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16중 하나 또는 RFC 6598로 정의된 CGNAT 범위100.64.0.0/10내에 있어야 합니다. - 서로, 클러스터의
VPC CIDR, Kubernetes 서비스 IPv4 CIDR과 겹치면 안 됩니다.
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: CLUSTER_NAME
region: AWS_REGION
version: "K8S_VERSION"
remoteNetworkConfig:
iam:
provider: CREDS_PROVIDER # default SSM, can also be set to IRA
# caBundleCert: CA_BUNDLE_CERT
vpcGatewayID: GATEWAY_ID
remoteNodeNetworks:
- cidrs: ["REMOTE_NODE_CIDRS"]
remotePodNetworks:
- cidrs: ["REMOTE_POD_CIDRS"]
다음 명령을 실행합니다.
eksctl create cluster -f cluster-config.yaml
클러스터 프로비저닝에는 몇 분이 걸립니다. 클러스터가 생성되는 동안 여러 줄의 출력이 나타납니다. 마지막 출력 줄은 다음 예시 줄과 유사합니다.
[✓] EKS cluster "CLUSTER_NAME" in "REGION" region is ready
Step 3: kubeconfig 업데이트로 계속합니다.
AWS CloudFormation으로 하이브리드 노드가 활성화된 클러스터 생성
CloudFormation 스택은 EKS 클러스터 IAM 역할과 지정된 RemoteNodeNetwork 및 RemotePodNetwork가 있는 EKS 클러스터를 만듭니다. CloudFormation 템플릿에 노출되지 않은 EKS 클러스터 설정을 사용자 지정해야 한다면 CloudFormation 템플릿을 수정하세요.
CloudFormation 템플릿을 다운로드합니다.
curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-eks-cfn.yaml'
cfn-eks-parameters.json을 만들고 각 값에 대한 구성을 지정합니다.
CLUSTER_NAME: 생성할 EKS 클러스터의 이름CLUSTER_ROLE_NAME: 생성할 EKS 클러스터 IAM 역할의 이름. 템플릿의 기본값은 "EKSClusterRole"입니다.SUBNET1_ID: 사전 요구 사항 단계에서 만든 첫 번째 서브넷의 IDSUBNET2_ID: 사전 요구 사항 단계에서 만든 두 번째 서브넷의 IDSG_ID: 사전 요구 사항 단계에서 만든 보안 그룹의 IDREMOTE_NODE_CIDRS: 하이브리드 노드의 온프레미스 노드 CIDRREMOTE_POD_CIDRS: 하이브리드 노드에서 실행되는 워크로드의 온프레미스 Pod CIDR. CNI가 Pod 트래픽이 온프레미스 호스트를 떠날 때 Pod IP 주소에 NAT 또는 마스커레이드를 사용하지 않는다면REMOTE_POD_CIDRS를 구성해야 합니다. 하이브리드 노드에서 웹훅을 실행한다면REMOTE_POD_CIDRS를 구성해야 합니다. 자세한 내용은 하이브리드 노드용 웹훅 구성을 참조하세요.
온프레미스 노드 및 Pod CIDR 블록은 다음 요구 사항을 충족해야 합니다.
-
IPv4 RFC-1918 범위
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16중 하나 또는 RFC 6598로 정의된 CGNAT 범위100.64.0.0/10내에 있어야 합니다. -
서로, 클러스터의
VPC CIDR, Kubernetes 서비스 IPv4 CIDR과 겹치면 안 됩니다. -
CLUSTER_AUTH: 클러스터의 클러스터 인증 모드. 유효한 값은API와API_AND_CONFIG_MAP입니다. 템플릿의 기본값은API_AND_CONFIG_MAP입니다. -
CLUSTER_ENDPOINT: 클러스터의 클러스터 엔드포인트 연결. 유효한 값은 "Public"과 "Private"입니다. 템플릿의 기본값은 Private이며, 이는 VPC 내부에서만 Kubernetes API 엔드포인트에 연결할 수 있음을 의미합니다. -
K8S_VERSION: 클러스터에 사용할 Kubernetes 버전. Amazon EKS supported versions를 참조하세요.
{
"Parameters": {
"ClusterName": "CLUSTER_NAME",
"ClusterRoleName": "CLUSTER_ROLE_NAME",
"SubnetId1": "SUBNET1_ID",
"SubnetId2": "SUBNET2_ID",
"SecurityGroupId": "SG_ID",
"RemoteNodeCIDR": "REMOTE_NODE_CIDRS",
"RemotePodCIDR": "REMOTE_POD_CIDRS",
"ClusterAuthMode": "CLUSTER_AUTH",
"ClusterEndpointConnectivity": "CLUSTER_ENDPOINT",
"K8sVersion": "K8S_VERSION"
}
}
CloudFormation 스택을 배포합니다. STACK_NAME을 CloudFormation 스택 이름으로, AWS_REGION을 클러스터가 생성될 AWS 리전으로 바꾸세요.
aws cloudformation deploy \
--stack-name STACK_NAME \
--region AWS_REGION \
--template-file hybrid-eks-cfn.yaml \
--parameter-overrides file://cfn-eks-parameters.json \
--capabilities CAPABILITY_NAMED_IAM
클러스터 프로비저닝에는 몇 분이 걸립니다. 다음 명령으로 스택 상태를 확인할 수 있습니다. STACK_NAME을 CloudFormation 스택 이름으로, AWS_REGION을 클러스터가 생성될 AWS 리전으로 바꾸세요.
aws cloudformation describe-stacks \
--stack-name STACK_NAME \
--region AWS_REGION \
--query 'Stacks[].StackStatus'
Step 3: kubeconfig 업데이트로 계속합니다.
AWS CLI로 하이브리드 노드가 활성화된 클러스터 생성
다음 명령을 실행하여 하이브리드 노드가 활성화된 EKS 클러스터를 만듭니다. 명령을 실행하기 전에 다음을 자신의 설정으로 바꾸세요. 전체 설정 목록은 Amazon EKS 클러스터 생성 문서를 참조하세요.
CLUSTER_NAME: 생성할 EKS 클러스터의 이름AWS_REGION: 클러스터가 생성될 AWS 리전K8S_VERSION: 클러스터에 사용할 Kubernetes 버전. Amazon EKS supported versions를 참조하세요.ROLE_ARN: 클러스터에 대해 구성한 Amazon EKS 클러스터 역할. 자세한 내용은 Amazon EKS 클러스터 IAM 역할을 참조하세요.SUBNET1_ID: 사전 요구 사항 단계에서 만든 첫 번째 서브넷의 IDSUBNET2_ID: 사전 요구 사항 단계에서 만든 두 번째 서브넷의 IDSG_ID: 사전 요구 사항 단계에서 만든 보안 그룹의 ID
클러스터 접근 인증 모드에 API와 API_AND_CONFIG_MAP을 사용할 수 있습니다. 아래 명령에서 클러스터 접근 인증 모드는 API_AND_CONFIG_MAP으로 설정되어 있습니다.
endpointPublicAccess와 endpointPrivateAccess 매개변수를 사용하여 클러스터의 Kubernetes API 서버 엔드포인트에 대한 공용 및 프라이빗 액세스를 활성화하거나 비활성화할 수 있습니다. 아래 명령에서 endpointPublicAccess는 false로, endpointPrivateAccess는 true로 설정되어 있습니다.
REMOTE_NODE_CIDRS: 하이브리드 노드의 온프레미스 노드 CIDRREMOTE_POD_CIDRS(선택 사항): 하이브리드 노드에서 실행되는 워크로드의 온프레미스 Pod CIDR
온프레미스 노드 및 Pod CIDR 블록은 다음 요구 사항을 충족해야 합니다.
- IPv4 RFC-1918 범위
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16중 하나 또는 RFC 6598로 정의된 CGNAT 범위100.64.0.0/10내에 있어야 합니다. - 서로, Amazon EKS 클러스터의
VPC CIDR, Kubernetes 서비스 IPv4 CIDR과 겹치면 안 됩니다.
aws eks create-cluster \
--name CLUSTER_NAME \
--region AWS_REGION \
--kubernetes-version K8S_VERSION \
--role-arn ROLE_ARN \
--resources-vpc-config subnetIds=SUBNET1_ID,SUBNET2_ID,securityGroupIds=SG_ID,endpointPrivateAccess=true,endpointPublicAccess=false \
--access-config authenticationMode=API_AND_CONFIG_MAP \
--remote-network-config '{"remoteNodeNetworks":[{"cidrs":["REMOTE_NODE_CIDRS"]}],"remotePodNetworks":[{"cidrs":["REMOTE_POD_CIDRS"]}]}'
클러스터 프로비저닝에는 몇 분이 걸립니다. 다음 명령으로 클러스터 상태를 쿼리할 수 있습니다. CLUSTER_NAME을 생성 중인 클러스터의 이름으로, AWS_REGION을 클러스터가 생성 중인 AWS 리전으로 바꾸세요. 반환된 출력이 ACTIVE가 될 때까지 다음 단계로 진행하지 마세요.
aws eks describe-cluster \
--name CLUSTER_NAME \
--region AWS_REGION \
--query "cluster.status"
Step 3: kubeconfig 업데이트로 계속합니다.
AWS Management Console로 하이브리드 노드가 활성화된 클러스터 생성
- Amazon EKS 콘솔을 엽니다.
- Add cluster를 선택한 다음 Create를 선택합니다.
- Configure cluster 페이지에서 다음 필드를 입력합니다.
- Name – 클러스터 이름. 이름에는 영숫자 문자(대소문자 구분), 하이픈, 밑줄만 포함할 수 있습니다. 영숫자 문자로 시작해야 하며 100자를 초과할 수 없습니다. 이름은 클러스터를 만드는 AWS 리전과 AWS 계정 내에서 고유해야 합니다.
- Cluster IAM role – Kubernetes 컨트롤 플레인이 사용자를 대신하여 AWS 자원을 관리할 수 있도록 만든 Amazon EKS 클러스터 IAM 역할을 선택합니다.
- Kubernetes version – 클러스터에 사용할 Kubernetes 버전. 이전 버전이 필요하지 않다면 최신 버전을 선택할 것을 권장합니다.
- Upgrade policy – Extended 또는 Standard를 선택합니다.
- Extended: 이 옵션은 릴리스 날짜 후 26개월 동안 Kubernetes 버전을 지원합니다. 확장 지원 기간에는 표준 지원 기간이 끝난 후 시작되는 시간당 추가 요금이 있습니다. 확장 지원이 끝나면 클러스터가 다음 버전으로 자동 업그레이드됩니다.
- Standard: 이 옵션은 릴리스 날짜 후 14개월 동안 Kubernetes 버전을 지원합니다. 추가 비용은 없습니다. 표준 지원이 끝나면 클러스터가 다음 버전으로 자동 업그레이드됩니다.
- Cluster access – 클러스터 관리자 접근을 허용할지 선택하고 인증 모드를 선택합니다. 하이브리드 노드가 활성화된 클러스터에 지원되는 인증 모드는 다음과 같습니다.
- EKS API: 클러스터는 EKS 접근 항목 API에서만 인증된 IAM 주체를 소싱합니다.
- EKS API and ConfigMap: 클러스터는 EKS 접근 항목 API와
aws-authConfigMap 모두에서 인증된 IAM 주체를 소싱합니다.
- Secrets encryption – (선택 사항) KMS 키를 사용하여 Kubernetes 시크릿 암호화를 활성화합니다. 클러스터 생성 후에도 활성화할 수 있습니다. 이 기능을 활성화하기 전에 기존 클러스터에서 KMS로 Kubernetes 시크릿 암호화 문서의 정보를 숙지하세요.
- ARC zonal shift – 활성화하면 EKS가 클러스터를 ARC zonal shift에 등록하여 zonal shift로 AZ에서 애플리케이션 트래픽을 이동할 수 있게 합니다.
- Tags – (선택 사항) 클러스터에 태그를 추가합니다. 자세한 내용은 태그로 Amazon EKS 자원 구성(Organize Amazon EKS resources with tags)을 참조하세요.
- 이 페이지를 완료했으면 Next를 선택합니다.
- Specify networking 페이지에서 다음 필드에 대한 값을 선택합니다.
- VPC – VPC 및 서브넷에 대한 Amazon EKS 네트워킹 요구 사항 및 Amazon EKS Hybrid Nodes 요구 사항을 충족하는 기존 VPC를 선택합니다. VPC를 선택하기 전에 VPC, 서브넷, 하이브리드 노드에 대한 Amazon EKS 네트워킹 요구 사항의 모든 요구 사항과 고려 사항을 숙지할 것을 권장합니다. 클러스터 생성 후 사용할 VPC를 변경할 수 없습니다. VPC가 나열되지 않으면 먼저 하나를 만들어야 합니다. 자세한 내용은 Amazon EKS 클러스터용 Amazon VPC 생성 및 Amazon EKS Hybrid Nodes 네트워킹 요구 사항을 참조하세요.
- Subnets – 기본적으로 이전 필드에 지정된 VPC의 모든 사용 가능한 서브넷이 사전 선택됩니다. 최소 2개를 선택해야 합니다.
- Security groups – (선택 사항) Amazon EKS가 만드는 네트워크 인터페이스에 연결하려는 하나 이상의 보안 그룹을 지정합니다. 지정하는 보안 그룹 중 최소 하나는 온프레미스 노드 및 선택적으로 Pod CIDR에 대한 인바운드 규칙이 있어야 합니다. 자세한 내용은 Amazon EKS Hybrid Nodes 네트워킹 요구 사항을 참조하세요. 보안 그룹을 선택하든 아니든 Amazon EKS는 클러스터와 VPC 간의 통신을 활성화하는 보안 그룹을 만듭니다. Amazon EKS는 이 보안 그룹과 선택한 모든 보안 그룹을 만드는 네트워크 인터페이스에 연결합니다. Amazon EKS가 만드는 클러스터 보안 그룹에 대한 자세한 내용은 클러스터용 Amazon EKS 보안 그룹 요구 사항 보기를 참조하세요. Amazon EKS가 만드는 클러스터 보안 그룹의 규칙을 수정할 수 있습니다.
- Choose cluster IP address family – 하이브리드 노드가 활성화된 클러스터에는 IPv4를 선택해야 합니다.
- (선택 사항) Configure Kubernetes Service IP address range를 선택하고 Service IPv4 범위를 지정합니다. 하이브리드 노드가 활성화된 클러스터에는 명시적 서비스 CIDR 지정을 권장합니다. 지정하지 않으면 Amazon EKS가 원격 노드 및 Pod 네트워크와의 충돌을 피하는 CIDR을 선택하는데, 이는 표준 기본값(
10.100.0.0/16또는172.20.0.0/16)과 다를 수 있습니다. - Configure remote networks를 선택하여 하이브리드 노드를 활성화하고 하이브리드 노드용 온프레미스 노드 및 Pod CIDR을 지정합니다.
- CNI가 Pod 트래픽이 온프레미스 호스트를 떠날 때 Pod IP 주소에 NAT 또는 마스커레이드를 사용하지 않는다면 원격 Pod CIDR을 구성해야 합니다. 하이브리드 노드에서 웹훅을 실행한다면 원격 Pod CIDR을 구성해야 합니다.
- 온프레미스 노드 및 Pod CIDR 블록은 다음 요구 사항을 충족해야 합니다.
- IPv4 RFC-1918 범위
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16중 하나 또는 RFC 6598로 정의된 CGNAT 범위100.64.0.0/10내에 있어야 합니다. - 서로, 클러스터의
VPC CIDR, Kubernetes 서비스 IPv4 CIDR과 겹치면 안 됩니다.
- IPv4 RFC-1918 범위
- Cluster endpoint access에 대해 옵션을 선택합니다. 클러스터 생성 후에도 이 옵션을 변경할 수 있습니다. 하이브리드 노드가 활성화된 클러스터에는 Public 또는 Private 중 하나를 선택해야 합니다. 기본이 아닌 옵션을 선택하기 전에 옵션과 그 영향에 익숙해져야 합니다. 자세한 내용은 Cluster API server endpoint를 참조하세요.
- 이 페이지를 완료했으면 Next를 선택합니다.
- (선택 사항) Configure observability 페이지에서 켤 Metrics 및 Control plane logging 옵션을 선택합니다. 기본적으로 각 로그 유형은 꺼져 있습니다. Prometheus 메트릭 옵션에 대한 자세한 내용은 Prometheus로 클러스터 메트릭 모니터링을 참조하세요. EKS 컨트롤 로깅 옵션에 대한 자세한 내용은 CloudWatch Logs로 컨트롤 플레인 로그 보내기를 참조하세요.
- 이 페이지를 완료했으면 Next를 선택합니다.
- Select add-ons 페이지에서 클러스터에 추가할 애드온을 선택합니다. 필요한 만큼 많은 Amazon EKS 애드온과 AWS Marketplace 애드온을 선택할 수 있습니다. 하이브리드 노드와 호환되지 않는 Amazon EKS 애드온은 "Not compatible with Hybrid Nodes"로 표시되며 하이브리드 노드에서 실행되지 않도록 하는 반-친화성(anti-affinity) 규칙이 있습니다. 자세한 내용은 하이브리드 노드용 애드온 구성을 참조하세요. 설치하려는 AWS Marketplace 애드온이 나열되지 않으면 검색 상자에 텍스트를 입력하여 사용 가능한 AWS Marketplace 애드온을 검색할 수 있습니다. 카테고리, 벤더, 가격 모델로도 검색한 다음 검색 결과에서 애드온을 선택할 수 있습니다.
- CoreDNS와 kube-proxy 같은 일부 애드온은 기본적으로 설치됩니다. 기본 애드온을 비활성화하면 Kubernetes 애플리케이션 실행 능력에 영향을 줄 수 있습니다.
- 이 페이지를 완료했으면 Next를 선택합니다.
- Configure selected add-ons settings 페이지에서 설치할 버전을 선택합니다. 클러스터 생성 후 항상 이후 버전으로 업데이트할 수 있습니다. 클러스터 생성 후 각 애드온의 구성을 업데이트할 수 있습니다. 애드온 구성에 대한 자세한 내용은 Amazon EKS 애드온 업데이트를 참조하세요. 하이브리드 노드와 호환되는 애드온 버전은 하이브리드 노드용 애드온 구성을 참조하세요.
- 이 페이지를 완료했으면 Next를 선택합니다.
- Review and create 페이지에서 이전 페이지에 입력하거나 선택한 정보를 검토합니다. 변경이 필요하면 Edit을 선택합니다. 만족하면 Create를 선택합니다. 클러스터가 프로비저닝되는 동안 Status 필드에 CREATING이 표시됩니다. 클러스터 프로비저닝에는 몇 분이 걸립니다.
- Step 3: kubeconfig 업데이트로 계속합니다.
Step 3: kubeconfig 업데이트
eksctl로 클러스터를 만들었다면 이 단계를 건너뛸 수 있습니다. eksctl이 이미 이 단계를 완료했기 때문입니다. kubeconfig 파일의 새 컨텍스트를 추가하여 kubectl이 클러스터와 통신하도록 활성화합니다. 파일 생성 및 업데이트 방법은 kubeconfig 파일을 만들어 EKS 클러스터에 kubectl 연결을 참조하세요.
aws eks update-kubeconfig --name CLUSTER_NAME --region AWS_REGION
출력 예시는 다음과 같습니다.
Added new context arn:aws:eks:AWS_REGION:111122223333:cluster/CLUSTER_NAME to /home/username/.kube/config
다음 명령을 실행하여 클러스터와의 통신을 확인합니다.
kubectl get svc
출력 예시는 다음과 같습니다.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.100.0.1 443/TCP 28h
Step 4: 클러스터 설정
다음 단계로, 하이브리드 노드가 클러스터에 조인할 수 있도록 접근을 활성화하려면 하이브리드 노드용 클러스터 접근 준비를 참조하세요.