Amazon EKS Provisioned Control Plane 시작하기
Amazon EKS Provisioned Control Plane 시작하기
AWS CLI와 AWS Management Console을 사용해 EKS Provisioned Control Plane을 설정하고 사용하는 방법을 안내해요. 클러스터를 스케일링 티어로 만들고, 현재 티어를 확인하고, 티어를 업데이트하거나 Standard 모드로 전환하는 과정을 다뤄요.
출처: 문서
본문
이 가이드는 AWS CLI와 AWS Management Console을 사용해 EKS Provisioned Control Plane을 설정하고 사용하는 단계를 안내해요.
사전 조건 (Prerequisites)
시작하기 전에 다음 준비가 되어 있어야 해요:
- AWS CLI — Amazon EKS를 포함한 AWS 서비스 작업을 위한 명령줄 도구입니다. 자세한 내용은 AWS Command Line Interface 사용자 안내서의 Installing을 참고해 주세요. AWS CLI 설치 후 구성도 권장합니다. 자세한 내용은 AWS CLI 사용자 안내서의 Quick configuration with aws configure를 참고해 주세요. 이 페이지에 표시된 update-kubeconfig 옵션을 사용하려면 AWS CLI v2가 필요해요.
- 필요한 IAM 권한 — 사용 중인 IAM 보안 주체는 Amazon EKS IAM 역할, 서비스 연결 역할, AWS CloudFormation, VPC 및 관련 리소스로 작업할 권한이 있어야 해요. 자세한 내용은 IAM 사용자 안내서의 Actions와 Using service-linked roles를 참고해 주세요. 이 가이드의 모든 단계를 같은 사용자로 완료해야 해요. 현재 사용자를 확인하려면 다음 명령을 실행하세요:
aws sts get-caller-identity
참고: 이 토픽의 단계는 Bash 셸에서 완료할 것을 권장합니다. Bash 셸이 아니라면 줄 연속 문자와 변수 설정·사용 방식 같은 일부 스크립트 명령을 셸에 맞게 조정해야 해요. 또한 셸의 따옴표와 이스케이프 규칙이 다를 수 있어요. 자세한 내용은 AWS CLI 사용자 안내서의 Using quotation marks with strings in the AWS CLI를 참고해 주세요.
EKS Provisioned Control Plane - AWS CLI
EKS Provisioned Control Plane 스케일링 티어로 클러스터 생성하기 (Create cluster with EKS Provisioned Control Plane Scaling Tier)
aws eks create-cluster --name prod-cluster \
--role-arn arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI \
--resources-vpc-config subnetIds=subnet-6782e71e,subnet-e7e761ac,securityGroupIds=sg-6979fe18 \
--control-plane-scaling-config tier=tier-xl
응답:
{
"cluster": {
"name": "my-eks-cluster",
"arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster",
"createdAt": "2024-03-14T11:31:44.348000-04:00",
"version": "1.26",
"endpoint": "https://JSA79429HJDASKJDJ8223829MNDNASW.yl4.us-east-2.eks.amazonaws.com",
"roleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-cluster-ServiceRole-zMF6CBakwwbW",
"resourcesVpcConfig": {
"subnetIds": [
"subnet-0fb75d2d8401716e7",
"subnet-02184492f67a3d0f9",
"subnet-04098063527aab776",
"subnet-0e2907431c9988b72",
"subnet-04ad87f71c6e5ab4d",
"subnet-09d912bb63ef21b9a"
],
"securityGroupIds": [
"sg-0c1327f6270afbb36"
],
"clusterSecurityGroupId": "sg-01c84d09d70f39a7f",
"vpcId": "vpc-0012b8e1cc0abb17d",
"endpointPublicAccess": true,
"endpointPrivateAccess": true,
"publicAccessCidrs": [
"22.19.18.2/32"
]
},
"controlPlaneScalingConfig": {
"tier": "tier-xl"
},
"kubernetesNetworkConfig": {
"serviceIpv4Cidr": "10.100.0.0/16",
"ipFamily": "ipv4"
},
"logging": {
"clusterLogging": [
{
"types": [
"api",
"audit",
"authenticator",
"controllerManager",
"scheduler"
],
"enabled": true
}
]
},
"identity": {
"oidc": {
"issuer": "https://oidc.eks.us-east-2.amazonaws.com/id/JSA79429HJDASKJDJ8223829MNDNASW"
}
},
"status": "CREATING",
"certificateAuthority": {
"data": "CA_DATA_STRING..."
},
"platformVersion": "eks.14",
"tags": {
"aws:cloudformation:stack-name": "eksctl-my-eks-cluster-cluster",
"alpha.eksctl.io/cluster-name": "my-eks-cluster",
"karpenter.sh/discovery": "my-eks-cluster",
"aws:cloudformation:stack-id": "arn:aws:cloudformation:us-east-2:111122223333:stack/eksctl-my-eks-cluster-cluster/e752ea00-e217-11ee-beae-0a9599c8c7ed",
"auto-delete": "no",
"eksctl.cluster.k8s.io/v1alpha1/cluster-name": "my-eks-cluster",
"EKS-Cluster-Name": "my-eks-cluster",
"alpha.eksctl.io/cluster-oidc-enabled": "true",
"aws:cloudformation:logical-id": "ControlPlane",
"alpha.eksctl.io/eksctl-version": "0.173.0-dev+a7ee89342.2024-03-01T03:40:57Z",
"Name": "eksctl-my-eks-cluster-cluster/ControlPlane"
},
"health": {
"issues": []
},
"accessConfig": {
"authenticationMode": "API_AND_CONFIG_MAP"
}
}
}
클러스터의 제어 플레인 스케일링 티어 보기 (View cluster's Control Plane Scaling Tier)
aws eks describe-cluster --name prod-cluster
응답: (클러스터 상태가 ACTIVE로 표시된 것을 제외하고 위와 동일한 구조. controlPlaneScalingConfig.tier가 tier-xl임)
{
"cluster": {
"name": "my-eks-cluster",
"arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster",
...
"controlPlaneScalingConfig": {
"tier": "tier-xl"
},
...
"status": "ACTIVE",
...
}
}
클러스터를 EKS Provisioned Control Plane 사용으로 업데이트하기 (Update cluster to use EKS Provisioned Control Plane)
aws eks update-cluster-config --name prod-cluster \
--control-plane-scaling-config tier=tier-2xl
응답:
{
"update": {
"id": "7551c64b-1d27-4b1e-9f8e-c45f056eb6fd",
"status": "InProgress",
"type": "ScalingTierConfigUpdate",
"params": [
{
"type": "UpdatedTier",
"value": "tier-2xl"
},
{
"type": "PreviousTier",
"value": "tier-xl"
}
],
"createdAt": 1565807210.37,
"errors": []
}
}
제어 플레인 스케일링 업데이트 보기 (View Control Plane Scaling update)
aws eks list-updates --name example
응답:
{
"updateIds": [
"7551c64b-1d27-4b1e-9f8e-c45f056eb6fd1"
]
}
Provisioned Control Plane에서 Standard Control Plane으로 전환하기 (Exit Provisioned Control Plane to Standard Control Plane)
aws eks update-cluster-config --name prod-cluster \
--control-plane-scaling-config tier=standard
응답:
{
"update": {
"id": "7551c64b-1d27-4b1e-9f8e-c45f056eb6fd",
"status": "InProgress",
"type": "ScalingTierConfigUpdate",
"params": [
{
"type": "UpdatedTier",
"value": "standard"
},
{
"type": "PreviousTier",
"value": "tier-2xl"
}
],
"createdAt": 1565807210.37,
"errors": []
}
}
EKS Provisioned Control Plane - AWS Management Console
- Amazon EKS 콘솔을 엽니다.
- Create cluster를 선택합니다.
- Configuration options에서 Custom configuration을 선택합니다.
- Control plane scaling tier까지 아래로 스크롤합니다. Use a scaling tier를 선택해 Provisioned Control Plane을 활성화합니다.
- XL, 2XL, 4XL, 8XL 같은 다양한 스케일링 티어 옵션 중에서 클러스터에 프로비저닝할 제어 플레인 스케일링 티어를 선택합니다.
- 필요에 따라 다른 클러스터 구성 옵션을 선택합니다. 마지막 단계에서 Create cluster를 선택합니다. 클러스터 생성 완료는 몇 분이 걸릴 수 있어요.