AWS CLI를 사용한 Amazon EKS 예시 - AWS Command Line Interface

이 문서는 AWS CLI의 버전 1에만 해당합니다. AWS CLI의 버전 2와 관련된 문서는 버전 2 사용 설명서를 참조하세요.

AWS CLI를 사용한 Amazon EKS 예시

다음 코드 예시에서는 Amazon EKS에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예시에서는 associate-encryption-config을 사용하는 방법을 보여 줍니다.

AWS CLI

암호화 구성을 기존 클러스터에 연결하려면

다음 associate-encryption-config 예시에서는 아직 암호화가 활성화되지 않은 기존 EKS 클러스터에서 암호화를 활성화합니다.

aws eks associate-encryption-config \ --cluster-name my-eks-cluster \ --encryption-config '[{"resources":["secrets"],"provider":{"keyArn":"arn:aws:kms:region-code:account:key/key"}}]'

출력:

{ "update": { "id": "3141b835-8103-423a-8e68-12c2521ffa4d", "status": "InProgress", "type": "AssociateEncryptionConfig", "params": [ { "type": "EncryptionConfig", "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws:kms:region-code:account:key/key\"}}]" } ], "createdAt": "2024-03-14T11:01:26.297000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서기존 클러스터에서 보안 암호 암호화 활성화 섹션을 참조하세요.

다음 코드 예시에서는 associate-identity-provider-config을 사용하는 방법을 보여 줍니다.

AWS CLI

ID 제공업체를 Amazon EKS 클러스터에 연결하려면

다음 associate-identity-provider-config 예시에서는 ID 제공업체를 Amazon EKS 클러스터에 연결합니다.

aws eks associate-identity-provider-config \ --cluster-name my-eks-cluster \ --oidc 'identityProviderConfigName=my-identity-provider,issuerUrl=https://oidc.eks.us-east-2.amazonaws.com/id/38D6A4619A0A69E342B113ED7F1A7652,clientId=kubernetes,usernameClaim=email,usernamePrefix=my-username-prefix,groupsClaim=my-claim,groupsPrefix=my-groups-prefix,requiredClaims={Claim1=value1,Claim2=value2}' \ --tags env=dev

출력:

{ "update": { "id": "8c6c1bef-61fe-42ac-a242-89412387b8e7", "status": "InProgress", "type": "AssociateIdentityProviderConfig", "params": [ { "type": "IdentityProviderConfig", "value": "[{\"type\":\"oidc\",\"name\":\"my-identity-provider\"}]" } ], "createdAt": "2024-04-11T13:46:49.648000-04:00", "errors": [] }, "tags": { "env": "dev" } }

자세한 내용은 Amazon EKS 사용 설명서OpenID Connect ID 제공업체에서 클러스터에 대한 사용자 인증 - OIDC ID 제공업체 연결 섹션을 참조하세요.

다음 코드 예시에서는 create-addon을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: 각 EKS 클러스터 버전에 대한 기본 호환성 버전으로 Amazon EKS 추가 기능을 만들려면

다음 create-addon 예시 명령은 각 EKS 클러스터 버전에 대한 기본 호환 버전으로 Amazon EKS 추가 기능을 만듭니다.

aws eks create-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.15.1-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/1ec71ee1-b9c2-8915-4e17-e8be0a55a149", "createdAt": "2024-03-14T12:20:03.264000-04:00", "modifiedAt": "2024-03-14T12:20:03.283000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

예시 2: 특정 추가 기능 버전으로 Amazon EKS 추가 기능을 만들려면

다음 create-addon 예시 명령은 특정 추가 기능 버전으로 Amazon EKS 추가 기능을 만듭니다.

aws eks create-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name \ --addon-version v1.16.4-eksbuild.2

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/34c71ee6-7738-6c8b-c6bd-3921a176b5ff", "createdAt": "2024-03-14T12:30:24.507000-04:00", "modifiedAt": "2024-03-14T12:30:24.521000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

예시 3: 사용자 지정 구성 값으로 Amazon EKS 추가 기능을 만들고 충돌 세부 정보를 해결하려면

다음 create-addon 예시 명령은 사용자 지정 구성 값으로 Amazon EKS 추가 기능을 만들고 세부 정보 충돌을 해결합니다.

aws eks create-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name \ --addon-version v1.16.4-eksbuild.2 \ --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' \ --resolve-conflicts OVERWRITE

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/a6c71ee9-0304-9237-1be8-25af1b0f1ffb", "createdAt": "2024-03-14T12:35:58.313000-04:00", "modifiedAt": "2024-03-14T12:35:58.327000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {}, "configurationValues": "{\"resources\":{\"limits\":{\"cpu\":\"100m\"}}}" } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

예시 4: 사용자 지정 JSON 구성 값 파일을 사용하여 Amazon EKS 추가 기능을 만들려면

다음 create-addon 예시 명령은 사용자 지정 구성 값으로 Amazon EKS 추가 기능을 만들고 세부 정보 충돌을 해결합니다.

aws eks create-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name \ --addon-version v1.16.4-eksbuild.2 \ --configuration-values 'file://configuration-values.json' \ --resolve-conflicts OVERWRITE \ --tags '{"eks-addon-key-1": "value-1" , "eks-addon-key-2": "value-2"}'

configuration-values.json의 콘텐츠:

{ "resources": { "limits": { "cpu": "150m" } }, "env": { "AWS_VPC_K8S_CNI_LOGLEVEL": "ERROR" } }

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/d8c71ef8-fbd8-07d0-fb32-6a7be19ececd", "createdAt": "2024-03-14T13:10:51.763000-04:00", "modifiedAt": "2024-03-14T13:10:51.777000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": { "eks-addon-key-1": "value-1", "eks-addon-key-2": "value-2" }, "configurationValues": "{\n \"resources\": {\n \"limits\": {\n \"cpu\": \"150m\"\n }\n },\n \"env\": {\n \"AWS_VPC_K8S_CNI_LOGLEVEL\": \"ERROR\"\n }\n}" } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

예시 5: 사용자 지정 YAML 구성 값 파일을 사용하여 Amazon EKS 추가 기능을 만들려면

다음 create-addon 예시 명령은 사용자 지정 구성 값으로 Amazon EKS 추가 기능을 만들고 세부 정보 충돌을 해결합니다.

aws eks create-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name \ --addon-version v1.16.4-eksbuild.2 \ --configuration-values 'file://configuration-values.yaml' \ --resolve-conflicts OVERWRITE \ --tags '{"eks-addon-key-1": "value-1" , "eks-addon-key-2": "value-2"}'

configuration-values.yaml의 콘텐츠:

resources: limits: cpu: '100m' env: AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/d4c71efb-3909-6f36-a548-402cd4b5d59e", "createdAt": "2024-03-14T13:15:45.220000-04:00", "modifiedAt": "2024-03-14T13:15:45.237000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": { "eks-addon-key-3": "value-3", "eks-addon-key-4": "value-4" }, "configurationValues": "resources:\n limits:\n cpu: '100m'\nenv:\n AWS_VPC_K8S_CNI_LOGLEVEL: 'INFO'" } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateAddon 섹션을 참조하세요.

다음 코드 예시에서는 create-cluster을 사용하는 방법을 보여 줍니다.

AWS CLI

새로운 클러스터를 생성하는 방법

이 예시 명령은 기본 리전에 이름이 prod인 클러스터를 생성합니다.

명령:

aws eks create-cluster --name prod \ --role-arn arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI \ --resources-vpc-config subnetIds=subnet-6782e71e,subnet-e7e761ac,securityGroupIds=sg-6979fe18

출력:

{ "cluster": { "name": "prod", "arn": "arn:aws:eks:us-west-2:012345678910:cluster/prod", "createdAt": 1527808069.147, "version": "1.10", "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", "resourcesVpcConfig": { "subnetIds": [ "subnet-6782e71e", "subnet-e7e761ac" ], "securityGroupIds": [ "sg-6979fe18" ], "vpcId": "vpc-950809ec" }, "status": "CREATING", "certificateAuthority": {} } }

프라이빗 엔드포인트 액세스 및 로깅이 활성화된 새 클러스터를 생성하는 방법

이 예시 명령은 퍼블릭 엔드포인트 액세스가 비활성화되고, 프라이빗 엔드포인트 액세스가 활성화되고, 모든 로깅 유형이 활성화된 상태로 기본 리전에 이름이 example인 클러스터를 생성합니다.

명령:

aws eks create-cluster --name example --kubernetes-version 1.12 \ --role-arn arn:aws:iam::012345678910:role/example-cluster-ServiceRole-1XWBQWYSFRE2Q \ --resources-vpc-config subnetIds=subnet-0a188dccd2f9a632f,subnet-09290d93da4278664,subnet-0f21dd86e0e91134a,subnet-0173dead68481a583,subnet-051f70a57ed6fcab6,subnet-01322339c5c7de9b4,securityGroupIds=sg-0c5b580845a031c10,endpointPublicAccess=false,endpointPrivateAccess=true \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'

출력:

{ "cluster": { "name": "example", "arn": "arn:aws:eks:us-west-2:012345678910:cluster/example", "createdAt": 1565804921.901, "version": "1.12", "roleArn": "arn:aws:iam::012345678910:role/example-cluster-ServiceRole-1XWBQWYSFRE2Q", "resourcesVpcConfig": { "subnetIds": [ "subnet-0a188dccd2f9a632f", "subnet-09290d93da4278664", "subnet-0f21dd86e0e91134a", "subnet-0173dead68481a583", "subnet-051f70a57ed6fcab6", "subnet-01322339c5c7de9b4" ], "securityGroupIds": [ "sg-0c5b580845a031c10" ], "vpcId": "vpc-0f622c01f68d4afec", "endpointPublicAccess": false, "endpointPrivateAccess": true }, "logging": { "clusterLogging": [ { "types": [ "api", "audit", "authenticator", "controllerManager", "scheduler" ], "enabled": true } ] }, "status": "CREATING", "certificateAuthority": {}, "platformVersion": "eks.3" } }
  • API 세부 정보는 AWS CLI 명령 참조CreateCluster를 참조하세요.

다음 코드 예시에서는 create-fargate-profile을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: 네임스페이스가 있는 선택기에 대한 EKS Fargate 프로파일을 만들려면

다음 create-fargate-profile 예시에서는 네임스페이스가 있는 선택기에 대한 EKS Fargate 프로파일을 만듭니다.

aws eks create-fargate-profile \ --cluster-name my-eks-cluster \ --pod-execution-role-arn arn:aws:iam::111122223333:role/role-name \ --fargate-profile-name my-fargate-profile \ --selectors '[{"namespace": "default"}]'

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/a2c72bca-318e-abe8-8ed1-27c6d4892e9e", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:38:47.368000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default" } ], "status": "CREATING", "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서AWS Fargate 프로파일 - Fargate 프로파일 생성 섹션을 참조하세요.

예시 2: 네임스페이스와 레이블이 있는 선택기에 대한 EKS Fargate 프로파일을 만들려면

다음 create-fargate-profile 예시에서는 네임스페이스와 레이블이 있는 선택기에 대한 EKS Fargate 프로파일을 만듭니다.

aws eks create-fargate-profile \ --cluster-name my-eks-cluster \ --pod-execution-role-arn arn:aws:iam::111122223333:role/role-name \ --fargate-profile-name my-fargate-profile \ --selectors '[{"namespace": "default", "labels": {"labelname1": "labelvalue1"}}]'

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/88c72bc7-e8a4-fa34-44e4-2f1397224bb3", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:33:48.125000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default", "labels": { "labelname1": "labelvalue1" } } ], "status": "CREATING", "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서AWS Fargate 프로파일 - Fargate 프로파일 생성 섹션을 참조하세요.

예시 3: 포드를 시작할 서브넷 ID와 함께 네임스페이스와 레이블이 있는 선택기의 EKS Fargate 프로파일을 만들려면

다음 create-fargate-profile 예시에서는 네임스페이스와 레이블, 포드를 실행할 서브넷의 ID가 있는 선택기에 대한 EKS Fargate 프로파일을 만듭니다.

aws eks create-fargate-profile \ --cluster-name my-eks-cluster \ --pod-execution-role-arn arn:aws:iam::111122223333:role/role-name \ --fargate-profile-name my-fargate-profile \ --selectors '[{"namespace": "default", "labels": {"labelname1": "labelvalue1"}}]' \ --subnets '["subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72"]'

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/e8c72bc8-e87b-5eb6-57cb-ed4fe57577e3", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:35:58.640000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default", "labels": { "labelname1": "labelvalue1" } } ], "status": "CREATING", "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서AWS Fargate 프로파일 - Fargate 프로파일 생성 섹션을 참조하세요.

예시 4: 포드를 시작할 서브넷의 ID와 함께 여러 네임스페이스 및 레이블이 있는 선택기의 EKS Fargate 프로파일을 만들려면

다음 create-fargate-profile 예시에서는 포드를 실행할 서브넷의 ID와 함께 여러 네임스페이스 및 레이블이 있는 선택기에 대한 EKS Fargate 프로파일을 만듭니다.

aws eks create-fargate-profile \ --cluster-name my-eks-cluster \ --pod-execution-role-arn arn:aws:iam::111122223333:role/role-name \ --fargate-profile-name my-fargate-profile \ --selectors '[{"namespace": "default1", "labels": {"labelname1": "labelvalue1", "labelname2": "labelvalue2"}}, {"namespace": "default2", "labels": {"labelname1": "labelvalue1", "labelname2": "labelvalue2"}}]' \ --subnets '["subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72"]' \ --tags '{"eks-fargate-profile-key-1": "value-1" , "eks-fargate-profile-key-2": "value-2"}'

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/4cc72bbf-b766-8ee6-8d29-e62748feb3cd", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:15:55.271000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default1", "labels": { "labelname2": "labelvalue2", "labelname1": "labelvalue1" } }, { "namespace": "default2", "labels": { "labelname2": "labelvalue2", "labelname1": "labelvalue1" } } ], "status": "CREATING", "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } } }

자세한 내용은 Amazon EKS 사용 설명서AWS Fargate 프로파일 - Fargate 프로파일 생성 섹션을 참조하세요.

예시 5: 포드를 시작할 서브넷의 ID와 함께 네임스페이스 및 레이블의 와일드카드 선택기를 사용하여 EKS Fargate 프로파일을 만들려면

다음 create-fargate-profile 예시에서는 포드를 실행할 서브넷의 ID와 함께 여러 네임스페이스 및 레이블이 있는 선택기에 대한 EKS Fargate 프로파일을 만듭니다.

aws eks create-fargate-profile \ --cluster-name my-eks-cluster \ --pod-execution-role-arn arn:aws:iam::111122223333:role/role-name \ --fargate-profile-name my-fargate-profile \ --selectors '[{"namespace": "prod*", "labels": {"labelname*?": "*value1"}}, {"namespace": "*dev*", "labels": {"labelname*?": "*value*"}}]' \ --subnets '["subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72"]' \ --tags '{"eks-fargate-profile-key-1": "value-1" , "eks-fargate-profile-key-2": "value-2"}'

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/e8c72bd6-5966-0bfe-b77b-1802893e5a6f", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T13:05:20.550000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "prod*", "labels": { "labelname*?": "*value1" } }, { "namespace": "*dev*", "labels": { "labelname*?": "*value*" } } ], "status": "CREATING", "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } } }

자세한 내용은 Amazon EKS 사용 설명서AWS Fargate 프로파일 - Fargate 프로파일 생성 섹션을 참조하세요.

다음 코드 예시에서는 create-nodegroup을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터에 대한 관리형 노드 그룹을 만들려면

다음 create-nodegroup 예시에서는 Amazon EKS 클러스터의 관리형 노드 그룹을 만듭니다.

aws eks create-nodegroup \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --node-role arn:aws:iam::111122223333:role/role-name \ --subnets "subnet-0e2907431c9988b72" "subnet-04ad87f71c6e5ab4d" "subnet-09d912bb63ef21b9a" \ --scaling-config minSize=1,maxSize=3,desiredSize=1 \ --region us-east-2

출력:

{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/bac7550f-b8b8-5fbb-4f3e-7502a931119e", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-04T13:19:32.260000-04:00", "modifiedAt": "2024-04-04T13:19:32.260000-04:00", "status": "CREATING", "capacityType": "ON_DEMAND", "scalingConfig": { "minSize": 1, "maxSize": 3, "desiredSize": 1 }, "instanceTypes": [ "t3.medium" ], "subnets": [ "subnet-0e2907431c9988b72, subnet-04ad87f71c6e5ab4d, subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "diskSize": 20, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 1 }, "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 생성 섹션을 참조하세요.

예시 2: 사용자 지정 instance-types 및 disk-size를 사용하여 Amazon EKS 클러스터에 대한 관리형 노드 그룹을 만들려면

다음 create-nodegroup 예시에서는 사용자 지정 instance-types 및 disk-size를 사용하여 Amazon EKS 클러스터에 대한 관리형 노드 그룹을 만듭니다.

aws eks create-nodegroup \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --node-role arn:aws:iam::111122223333:role/role-name \ --subnets "subnet-0e2907431c9988b72" "subnet-04ad87f71c6e5ab4d" "subnet-09d912bb63ef21b9a" \ --scaling-config minSize=1,maxSize=3,desiredSize=1 \ --capacity-type ON_DEMAND \ --instance-types 'm5.large' \ --disk-size 50 \ --region us-east-2

출력:

{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/c0c7551b-e4f9-73d9-992c-a450fdb82322", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-04T13:46:07.595000-04:00", "modifiedAt": "2024-04-04T13:46:07.595000-04:00", "status": "CREATING", "capacityType": "ON_DEMAND", "scalingConfig": { "minSize": 1, "maxSize": 3, "desiredSize": 1 }, "instanceTypes": [ "m5.large" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "diskSize": 50, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 1 }, "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 생성 섹션을 참조하세요.

예시 3: 사용자 지정 instance-types, disk-size, ami-type, capacity-type, update-config, labels, taints 및 tags를 사용하여 Amazon EKS 클러스터에 대한 관리형 노드 그룹을 만들려면

다음 create-nodegroup 예시에서는 사용자 지정 instance-types, disk-size, ami-type, capacity-type, update-config, labels, taints 및 tags를 사용하여 Amazon EKS 클러스터에 대한 관리형 노드 그룹을 만듭니다.

aws eks create-nodegroup \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --node-role arn:aws:iam::111122223333:role/role-name \ --subnets "subnet-0e2907431c9988b72" "subnet-04ad87f71c6e5ab4d" "subnet-09d912bb63ef21b9a" \ --scaling-config minSize=1,maxSize=5,desiredSize=4 \ --instance-types 't3.large' \ --disk-size 50 \ --ami-type AL2_x86_64 \ --capacity-type SPOT \ --update-config maxUnavailable=2 \ --labels '{"my-eks-nodegroup-label-1": "value-1" , "my-eks-nodegroup-label-2": "value-2"}' \ --taints '{"key": "taint-key-1" , "value": "taint-value-1", "effect": "NO_EXECUTE"}' \ --tags '{"my-eks-nodegroup-key-1": "value-1" , "my-eks-nodegroup-key-2": "value-2"}'

출력:

{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/88c75524-97af-0cb9-a9c5-7c0423ab5314", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-04T14:05:07.940000-04:00", "modifiedAt": "2024-04-04T14:05:07.940000-04:00", "status": "CREATING", "capacityType": "SPOT", "scalingConfig": { "minSize": 1, "maxSize": 5, "desiredSize": 4 }, "instanceTypes": [ "t3.large" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "labels": { "my-eks-nodegroup-label-2": "value-2", "my-eks-nodegroup-label-1": "value-1" }, "taints": [ { "key": "taint-key-1", "value": "taint-value-1", "effect": "NO_EXECUTE" } ], "diskSize": 50, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 2 }, "tags": { "my-eks-nodegroup-key-1": "value-1", "my-eks-nodegroup-key-2": "value-2" } } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 생성 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateNodegroup 섹션을 참조하세요.

다음 코드 예시에서는 delete-addon을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1. Amazon EKS 추가 기능을 삭제하지만 EKS 클러스터에서 추가 기능 소프트웨어를 유지하려면

다음 delete-addon 예시 명령은 Amazon EKS 추가 기능을 삭제하지만 EKS 클러스터에서 추가 기능 소프트웨어를 유지합니다.

aws eks delete-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon \ --preserve

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "DELETING", "addonVersion": "v1.9.3-eksbuild.7", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/a8c71ed3-944e-898b-9167-c763856af4b8", "createdAt": "2024-03-14T11:49:09.009000-04:00", "modifiedAt": "2024-03-14T12:03:49.776000-04:00", "tags": {} } }

자세한 내용은 Amazon EKSAmazon EKS 추가 기능 관리 - 추가 기능 삭제 섹션을 참조하세요.

예시 2. Amazon EKS 추가 기능을 삭제하고 EKS 클러스터에서 추가 기능 소프트웨어도 삭제하려면

다음 delete-addon 예시 명령은 Amazon EKS 추가 기능을 삭제하고 EKS 클러스터에서 추가 소프트웨어도 삭제합니다.

aws eks delete-addon \ --cluster-name my-eks-cluster \ --addon-name my-eks-addon

출력:

{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "DELETING", "addonVersion": "v1.15.1-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/bac71ed1-ec43-3bb6-88ea-f243cdb58954", "createdAt": "2024-03-14T11:45:31.983000-04:00", "modifiedAt": "2024-03-14T11:58:40.136000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {} } }

자세한 내용은 Amazon EKSAmazon EKS 추가 기능 관리 - 추가 기능 삭제 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteAddon 섹션을 참조하세요.

다음 코드 예시에서는 delete-cluster을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터 컨트롤 플레인을 삭제하려면

다음 delete-cluster 예시에서는 Amazon EKS 클러스터 컨트롤 플레인을 삭제합니다.

aws eks delete-cluster \ --name my-eks-cluster

출력:

{ "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.27", "endpoint": "https://DALSJ343KE23J3RN45653DSKJTT647TYD.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": [ "0.0.0.0/0" ] }, "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/DALSJ343KE23J3RN45653DSKJTT647TYD" } }, "status": "DELETING", "certificateAuthority": { "data": "XXX_CA_DATA_XXX" }, "platformVersion": "eks.16", "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" }, "accessConfig": { "authenticationMode": "API_AND_CONFIG_MAP" } } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터 삭제 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteCluster를 참조하세요.

다음 코드 예시에서는 delete-fargate-profile을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: 네임스페이스가 있는 선택기에 대한 EKS Fargate 프로파일을 만들려면

다음 delete-fargate-profile 예시에서는 네임스페이스가 있는 선택기에 대한 EKS Fargate 프로파일을 만듭니다.

aws eks delete-fargate-profile \ --cluster-name my-eks-cluster \ --fargate-profile-name my-fargate-profile

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/1ac72bb3-3fc6-2631-f1e1-98bff53bed62", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T11:48:39.975000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default", "labels": { "foo": "bar" } } ], "status": "DELETING", "tags": {} } }

자세한 내용은 Amazon EKS 사용 설명서AWS Fargate 프로파일 - Fargate 삭제 섹션을 참조하세요.

다음 코드 예시에서는 delete-nodegroup을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터의 관리형 노드 그룹을 삭제하려면

다음 delete-nodegroup 예시에서는 Amazon EKS 클러스터의 관리형 노드 그룹을 삭제합니다.

aws eks delete-nodegroup \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup

출력:

{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/1ec75f5f-0e21-dcc0-b46e-f9c442685cd8", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-08T13:25:15.033000-04:00", "modifiedAt": "2024-04-08T13:25:31.252000-04:00", "status": "DELETING", "capacityType": "SPOT", "scalingConfig": { "minSize": 1, "maxSize": 5, "desiredSize": 4 }, "instanceTypes": [ "t3.large" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "labels": { "my-eks-nodegroup-label-2": "value-2", "my-eks-nodegroup-label-1": "value-1" }, "taints": [ { "key": "taint-key-1", "value": "taint-value-1", "effect": "NO_EXECUTE" } ], "diskSize": 50, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 2 }, "tags": { "my-eks-nodegroup-key-1": "value-1", "my-eks-nodegroup-key-2": "value-2" } } }
  • API 세부 정보는 AWS CLI 명령 참조DeleteNodegroup 섹션을 참조하세요.

다음 코드 예시에서는 deregister-cluster을 사용하는 방법을 보여 줍니다.

AWS CLI

연결된 클러스터를 등록 취소하여 Amazon EKS 컨트롤 플레인에서 제거하려면

다음 deregister-cluster 예시에서는 연결된 클러스터를 등록 취소하여 Amazon EKS 컨트롤 플레인에서 제거합니다.

aws eks deregister-cluster \ --name my-eks-anywhere-cluster

출력:

{ "cluster": { "name": "my-eks-anywhere-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-anywhere-cluster", "createdAt": "2024-04-12T12:38:37.561000-04:00", "status": "DELETING", "tags": {}, "connectorConfig": { "activationId": "dfb5ad28-13c3-4e26-8a19-5b2457638c74", "activationExpiry": "2024-04-15T12:38:37.082000-04:00", "provider": "EKS_ANYWHERE", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" } } }

자세한 내용은 Amazon EKS 사용 설명서클러스터 등록 취소 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeregisterCluster 섹션을 참조하세요.

다음 코드 예시에서는 describe-addon-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon vpc-cni 추가 기능을 만들거나 업데이트할 때 사용할 수 있는 구성 옵션

다음 describe-addon-configuration 예시에서는 vpc-cni 추가 기능에 대해 추가 기능이 생성되거나 업데이트될 때 사용 가능한 모든 구성 스키마를 해당 버전과 함께 반환합니다.

aws eks describe-addon-configuration \ --addon-name vpc-cni \ --addon-version v1.15.1-eksbuild.1

출력:

{ "addonName": "vpc-cni", "addonVersion": "v1.15.1-eksbuild.1", "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Affinity\":{\"type\":[\"object\",\"null\"]},\"EniConfig\":{\"additionalProperties\":false,\"properties\":{\"create\":{\"type\":\"boolean\"},\"region\":{\"type\":\"string\"},\"subnets\":{\"additionalProperties\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"securityGroups\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"}},\"required\":[\"id\"],\"type\":\"object\"},\"minProperties\":1,\"type\":\"object\"}},\"required\":[\"create\",\"region\",\"subnets\"],\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"ANNOTATE_POD_IP\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_EC2_ENDPOINT\":{\"type\":\"string\"},\"AWS_EXTERNAL_SERVICE_CIDRS\":{\"type\":\"string\"},\"AWS_MANAGE_ENIS_NON_SCHEDULABLE\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"CLUSTER_ENDPOINT\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_LEAKED_ENI_CLEANUP\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_POD_V6\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_BANDWIDTH_PLUGIN\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V4_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V6_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENI_CONFIG_ANNOTATION_DEF\":{\"type\":\"string\"},\"ENI_CONFIG_LABEL_DEF\":{\"type\":\"string\"},\"INTROSPECTION_BIND_ADDRESS\":{\"type\":\"string\"},\"IP_COOLDOWN_PERIOD\":{\"format\":\"integer\",\"type\":\"string\"},\"MAX_ENI\":{\"format\":\"integer\",\"type\":\"string\"},\"MINIMUM_IP_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"POD_SECURITY_GROUP_ENFORCING_MODE\":{\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_IP_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"Init\":{\"additionalProperties\":false,\"properties\":{\"env\":{\"$ref\":\"#/definitions/InitEnv\"}},\"title\":\"Init\",\"type\":\"object\"},\"InitEnv\":{\"additionalProperties\":false,\"properties\":{\"DISABLE_TCP_EARLY_DEMUX\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V6_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"}},\"title\":\"InitEnv\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"NodeAgent\":{\"additionalProperties\":false,\"properties\":{\"enableCloudWatchLogs\":{\"format\":\"boolean\",\"type\":\"string\"},\"enablePolicyEventLogs\":{\"format\":\"boolean\",\"type\":\"string\"},\"healthProbeBindAddr\":{\"format\":\"integer\",\"type\":\"string\"},\"metricsBindAddr\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"NodeAgent\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"Tolerations\":{\"additionalProperties\":false,\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"affinity\":{\"$ref\":\"#/definitions/Affinity\"},\"enableNetworkPolicy\":{\"format\":\"boolean\",\"type\":\"string\"},\"enableWindowsIpam\":{\"format\":\"boolean\",\"type\":\"string\"},\"eniConfig\":{\"$ref\":\"#/definitions/EniConfig\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"init\":{\"$ref\":\"#/definitions/Init\"},\"livenessProbeTimeoutSeconds\":{\"type\":\"integer\"},\"nodeAgent\":{\"$ref\":\"#/definitions/NodeAgent\"},\"readinessProbeTimeoutSeconds\":{\"type\":\"integer\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"},\"tolerations\":{\"$ref\":\"#/definitions/Tolerations\"}},\"title\":\"VpcCni\",\"type\":\"object\"}},\"description\":\"vpc-cni\"}" }

예시 2: Amazon coredns 추가 기능을 만들거나 업데이트할 때 사용할 수 있는 구성 옵션

다음 describe-addon-configuration 예시에서는 coredns 추가 기능에 대한 추가 기능이 생성되거나 업데이트될 때 사용 가능한 모든 구성 스키마를 해당 버전과 함께 반환합니다.

aws eks describe-addon-configuration \ --addon-name coredns \ --addon-version v1.8.7-eksbuild.4

출력:

{ "addonName": "coredns", "addonVersion": "v1.8.7-eksbuild.4", "configurationSchema": "{\"$ref\":\"#/definitions/Coredns\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Coredns\":{\"additionalProperties\":false,\"properties\":{\"computeType\":{\"type\":\"string\"},\"corefile\":{\"description\":\"Entire corefile contents to use with installation\",\"type\":\"string\"},\"nodeSelector\":{\"additionalProperties\":{\"type\":\"string\"},\"type\":\"object\"},\"replicaCount\":{\"type\":\"integer\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"Coredns\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"}}}" }

자세한 내용은 Amazon EKSAmazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트 섹션을 참조하세요.

다음 코드 예시에서는 describe-addon-versions을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: EKS 클러스터에 사용 가능한 모든 추가 기능을 나열하려면

다음 describe-addon-versions 예시에서는 사용 가능한 모든 AWS 추가 기능을 나열합니다.

aws eks describe-addon-versions \ --query 'sort_by(addons &owner)[].{publisher: publisher, owner: owner, addonName: addonName, type: type}' \ --output table

출력:

-------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------+------------------+-----------------------+-------------------------+ | addonName | owner | publisher | type | +---------------------------------------------+------------------+-----------------------+-------------------------+ | vpc-cni | aws | eks | networking | | snapshot-controller | aws | eks | storage | | kube-proxy | aws | eks | networking | | eks-pod-identity-agent | aws | eks | security | | coredns | aws | eks | networking | | aws-mountpoint-s3-csi-driver | aws | s3 | storage | | aws-guardduty-agent | aws | eks | security | | aws-efs-csi-driver | aws | eks | storage | | aws-ebs-csi-driver | aws | eks | storage | | amazon-cloudwatch-observability | aws | eks | observability | | adot | aws | eks | observability | | upwind-security_upwind-operator | aws-marketplace | Upwind Security | security | | upbound_universal-crossplane | aws-marketplace | upbound | infra-management | | tetrate-io_istio-distro | aws-marketplace | tetrate-io | policy-management | | teleport_teleport | aws-marketplace | teleport | policy-management | | stormforge_optimize-live | aws-marketplace | StormForge | cost-management | | splunk_splunk-otel-collector-chart | aws-marketplace | Splunk | monitoring | | solo-io_istio-distro | aws-marketplace | Solo.io | service-mesh | | rafay-systems_rafay-operator | aws-marketplace | rafay-systems | kubernetes-management | | new-relic_kubernetes-operator | aws-marketplace | New Relic | observability | | netapp_trident-operator | aws-marketplace | NetApp Inc. | storage | | leaksignal_leakagent | aws-marketplace | leaksignal | monitoring | | kubecost_kubecost | aws-marketplace | kubecost | cost-management | | kong_konnect-ri | aws-marketplace | kong | ingress-service-type | | kasten_k10 | aws-marketplace | Kasten by Veeam | data-protection | | haproxy-technologies_kubernetes-ingress-ee | aws-marketplace | HAProxy Technologies | ingress-controller | | groundcover_agent | aws-marketplace | groundcover | monitoring | | grafana-labs_kubernetes-monitoring | aws-marketplace | Grafana Labs | monitoring | | factorhouse_kpow | aws-marketplace | factorhouse | monitoring | | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | datree_engine-pro | aws-marketplace | datree | policy-management | | datadog_operator | aws-marketplace | Datadog | monitoring | | cribl_cribledge | aws-marketplace | Cribl | observability | | calyptia_fluent-bit | aws-marketplace | Calyptia Inc | observability | | accuknox_kubearmor | aws-marketplace | AccuKnox | security | +---------------------------------------------+------------------+-----------------------+-------------------------+

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

예시 2: EKS용으로 지원되는 지정된 Kubernetes 버전에 사용 가능한 모든 추가 기능을 나열하려면

다음 describe-addon-versions 예시에서는 EKS용으로 지원되는 지정된 Kubernetes 버전에 사용 가능한 모든 추가 기능을 나열합니다.

aws eks describe-addon-versions \ --kubernetes-version=1.26 \ --query 'sort_by(addons &owner)[].{publisher: publisher, owner: owner, addonName: addonName, type: type}' \ --output table

출력:

-------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------+------------------+-----------------------+-------------------------+ | addonName | owner | publisher | type | +---------------------------------------------+------------------+-----------------------+-------------------------+ | vpc-cni | aws | eks | networking | | snapshot-controller | aws | eks | storage | | kube-proxy | aws | eks | networking | | eks-pod-identity-agent | aws | eks | security | | coredns | aws | eks | networking | | aws-mountpoint-s3-csi-driver | aws | s3 | storage | | aws-guardduty-agent | aws | eks | security | | aws-efs-csi-driver | aws | eks | storage | | aws-ebs-csi-driver | aws | eks | storage | | amazon-cloudwatch-observability | aws | eks | observability | | adot | aws | eks | observability | | upwind-security_upwind-operator | aws-marketplace | Upwind Security | security | | tetrate-io_istio-distro | aws-marketplace | tetrate-io | policy-management | | stormforge_optimize-live | aws-marketplace | StormForge | cost-management | | splunk_splunk-otel-collector-chart | aws-marketplace | Splunk | monitoring | | solo-io_istio-distro | aws-marketplace | Solo.io | service-mesh | | rafay-systems_rafay-operator | aws-marketplace | rafay-systems | kubernetes-management | | new-relic_kubernetes-operator | aws-marketplace | New Relic | observability | | netapp_trident-operator | aws-marketplace | NetApp Inc. | storage | | leaksignal_leakagent | aws-marketplace | leaksignal | monitoring | | kubecost_kubecost | aws-marketplace | kubecost | cost-management | | kong_konnect-ri | aws-marketplace | kong | ingress-service-type | | haproxy-technologies_kubernetes-ingress-ee | aws-marketplace | HAProxy Technologies | ingress-controller | | groundcover_agent | aws-marketplace | groundcover | monitoring | | grafana-labs_kubernetes-monitoring | aws-marketplace | Grafana Labs | monitoring | | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | datadog_operator | aws-marketplace | Datadog | monitoring | | cribl_cribledge | aws-marketplace | Cribl | observability | | calyptia_fluent-bit | aws-marketplace | Calyptia Inc | observability | | accuknox_kubearmor | aws-marketplace | AccuKnox | security | +---------------------------------------------+------------------+-----------------------+-------------------------+

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

예시 3: EKS용으로 지원되는 지정된 Kubernetes 버전에 사용 가능한 모든 vpc-cni 추가 기능 버전을 나열하려면

다음 describe-addon-versions 예시에서는 EKS용으로 지원되는 지정된 Kubernetes 버전에 대해 사용 가능한 모든 vpc-cni 추가 기능 버전을 나열합니다.

aws eks describe-addon-versions \ --kubernetes-version=1.26 \ --addon-name=vpc-cni \ --query='addons[].addonVersions[].addonVersion'

출력:

[ "v1.18.0-eksbuild.1", "v1.17.1-eksbuild.1", "v1.16.4-eksbuild.2", "v1.16.3-eksbuild.2", "v1.16.2-eksbuild.1", "v1.16.0-eksbuild.1", "v1.15.5-eksbuild.1", "v1.15.4-eksbuild.1", "v1.15.3-eksbuild.1", "v1.15.1-eksbuild.1", "v1.15.0-eksbuild.2", "v1.14.1-eksbuild.1", "v1.14.0-eksbuild.3", "v1.13.4-eksbuild.1", "v1.13.3-eksbuild.1", "v1.13.2-eksbuild.1", "v1.13.0-eksbuild.1", "v1.12.6-eksbuild.2", "v1.12.6-eksbuild.1", "v1.12.5-eksbuild.2", "v1.12.0-eksbuild.2" ]

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 생성 섹션을 참조하세요.

다음 코드 예시에서는 describe-addon을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터에서 EKS 추가 기능을 능동적으로 실행하는 방법 설명

다음 describe-addon 예시에서는 Amazon EKS 클러스터에서 EKS 추가 기능을 능동적으로 실행합니다.

aws eks describe-addon \ --cluster-name my-eks-cluster \ --addon-name vpc-cni

출력:

{ "addon": { "addonName": "vpc-cni", "clusterName": "my-eks-cluster", "status": "ACTIVE", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/vpc-cni/0ec71efc-98dd-3203-60b0-4b939b2a5e5f", "createdAt": "2024-03-14T13:18:45.417000-04:00", "modifiedAt": "2024-03-14T13:18:49.557000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm", "tags": { "eks-addon-key-3": "value-3", "eks-addon-key-4": "value-4" }, "configurationValues": "resources:\n limits:\n cpu: '100m'\nenv:\n AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'" } }
  • API 세부 정보는 AWS CLI 명령 참조DescribeAddon 섹션을 참조하세요.

다음 코드 예시에서는 describe-cluster을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터에서 EKS 추가 기능을 능동적으로 실행하는 방법 설명

다음 describe-cluster 예시에서는 Amazon EKS 클러스터에서 EKS 추가 기능을 능동적으로 실행합니다.

aws eks describe-cluster \ --name my-eks-cluster

출력:

{ "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" ] }, "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": "ACTIVE", "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" } } }
  • API 세부 정보는 AWS CLI 명령 참조DescribeCluster를 참조하세요.

다음 코드 예시에서는 describe-fargate-profile을 사용하는 방법을 보여 줍니다.

AWS CLI

Fargate 프로파일 설명

다음 describe-fargate-profile 예시에서는 Fargate 프로파일을 설명합니다.

aws eks describe-fargate-profile \ --cluster-name my-eks-cluster \ --fargate-profile-name my-fargate-profile

출력:

{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/96c766ce-43d2-f9c9-954c-647334391198", "clusterName": "my-eks-cluster", "createdAt": "2024-04-11T10:42:52.486000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-farga-FargatePodExecutionRole-1htfAaJdJUEO", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "prod*", "labels": { "labelname*?": "*value1" } }, { "namespace": "*dev*", "labels": { "labelname*?": "*value*" } } ], "status": "ACTIVE", "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } } }

다음 코드 예시에서는 describe-identity-provider-config을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터와 연결된 ID 제공업체 구성 설명

다음 describe-identity-provider-config 예시에서는 Amazon EKS 클러스터에 연결된 ID 제공업체 구성을 설명합니다.

aws eks describe-identity-provider-config \ --cluster-name my-eks-cluster \ --identity-provider-config type=oidc,name=my-identity-provider

출력:

{ "identityProviderConfig": { "oidc": { "identityProviderConfigName": "my-identity-provider", "identityProviderConfigArn": "arn:aws:eks:us-east-2:111122223333:identityproviderconfig/my-eks-cluster/oidc/my-identity-provider/8ac76722-78e4-cec1-ed76-d49eea058622", "clusterName": "my-eks-cluster", "issuerUrl": "https://oidc.eks.us-east-2.amazonaws.com/id/38D6A4619A0A69E342B113ED7F1A7652", "clientId": "kubernetes", "usernameClaim": "email", "usernamePrefix": "my-username-prefix", "groupsClaim": "my-claim", "groupsPrefix": "my-groups-prefix", "requiredClaims": { "Claim1": "value1", "Claim2": "value2" }, "tags": { "env": "dev" }, "status": "ACTIVE" } } }

자세한 내용은 Amazon EKS 사용 설명서OpenID Connect ID 제공업체에서 클러스터에 대한 사용자 인증 섹션을 참조하세요.

다음 코드 예시에서는 describe-nodegroup을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터에 대한 관리형 노드 그룹 설명

다음 describe-nodegroup 예시에서는 Amazon EKS 클러스터의 관리형 노드 그룹을 설명합니다.

aws eks describe-nodegroup \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup

출력:

{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/a8c75f2f-df78-a72f-4063-4b69af3de5b1", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-08T11:42:10.555000-04:00", "modifiedAt": "2024-04-08T11:44:12.402000-04:00", "status": "ACTIVE", "capacityType": "ON_DEMAND", "scalingConfig": { "minSize": 1, "maxSize": 3, "desiredSize": 1 }, "instanceTypes": [ "t3.medium" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "labels": {}, "resources": { "autoScalingGroups": [ { "name": "eks-my-eks-nodegroup-a8c75f2f-df78-a72f-4063-4b69af3de5b1" } ] }, "diskSize": 20, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 1 }, "tags": {} } }
  • API 세부 정보는 AWS CLI 명령 참조DescribeNodegroup 섹션을 참조하세요.

다음 코드 예시에서는 describe-update을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: 클러스터 업데이트를 설명하려면

다음 describe-update 예시에서는 이름이 지정된 클러스터에 대한 업데이트를 설명합니다.

aws eks describe-update \ --name my-eks-cluster \ --update-id 10bddb13-a71b-425a-b0a6-71cd03e59161

출력:

{ "update": { "id": "10bddb13-a71b-425a-b0a6-71cd03e59161", "status": "Successful", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "false" }, { "type": "EndpointPrivateAccess", "value": "true" } ], "createdAt": "2024-03-14T10:01:26.297000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터 Kubernetes 버전 업데이트 섹션을 참조하세요.

예시 2: 클러스터 업데이트를 설명하려면

다음 describe-update 예시에서는 이름이 지정된 클러스터에 대한 업데이트를 설명합니다.

aws eks describe-update \ --name my-eks-cluster \ --update-id e4994991-4c0f-475a-a040-427e6da52966

출력:

{ "update": { "id": "e4994991-4c0f-475a-a040-427e6da52966", "status": "Successful", "type": "AssociateEncryptionConfig", "params": [ { "type": "EncryptionConfig", "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws:kms:region-code:account:key/key\"}}]" } ], "createdAt": "2024-03-14T11:01:26.297000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터 Kubernetes 버전 업데이트 섹션을 참조하세요.

예시 3: 클러스터 업데이트를 설명하려면

다음 describe-update 예시에서는 이름이 지정된 클러스터에 대한 업데이트를 설명합니다.

aws eks describe-update \ --name my-eks-cluster \ --update-id b5f0ba18-9a87-4450-b5a0-825e6e84496f

출력:

{ "update": { "id": "b5f0ba18-9a87-4450-b5a0-825e6e84496f", "status": "Successful", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.29" }, { "type": "PlatformVersion", "value": "eks.1" } ], "createdAt": "2024-03-14T12:05:26.297000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터 Kubernetes 버전 업데이트 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DescribeUpdate 섹션을 참조하세요.

다음 코드 예시에서는 disassociate-identity-provider-config을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터에서 ID 제공업체 연결 해제

다음 disassociate-identity-provider-config 예시에서는 ID 제공업체를 Amazon EKS 클러스터에서 연결 해제합니다.

aws eks disassociate-identity-provider-config \ --cluster-name my-eks-cluster \ --identity-provider-config 'type=oidc,name=my-identity-provider'

출력:

{ "update": { "id": "5f78d14e-c57b-4857-a3e4-cf664ae20949", "status": "InProgress", "type": "DisassociateIdentityProviderConfig", "params": [ { "type": "IdentityProviderConfig", "value": "[]" } ], "createdAt": "2024-04-11T13:53:43.314000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서OpenID Connect ID 제공업체에서 클러스터에 대한 사용자 인증 - 클러스터에서 OIDC ID 제공업체 연결 해제 섹션을 참조하세요.

다음 코드 예시에서는 get-token을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: 'my-eks-cluster'라는 Amazon EKS 클러스터의 인증 토큰 가져오기

다음 get-token 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 대한 인증 토큰을 가져옵니다.

aws eks get-token \ --cluster-name my-eks-cluster

출력:

{ "kind": "ExecCredential", "apiVersion": "client.authentication.k8s.io/v1beta1", "spec": {}, "status": { "expirationTimestamp": "2024-04-11T20:59:56Z", "token": "k8s-aws-v1.EXAMPLE_TOKEN_DATA_STRING..." } }

예시 2: 토큰에 서명할 때 자격 증명에 대해 이 roleARN을 수임하여 'my-eks-cluster'라는 Amazon EKS 클러스터의 인증 토큰 가져오기

다음 get-token 예시에서는 토큰에 서명할 때 자격 증명에 대해 이 roleARN을 수임하여 my-eks-cluster라는 Amazon EKS 클러스터에 대한 인증 토큰을 가져옵니다.

aws eks get-token \ --cluster-name my-eks-cluster \ --role-arn arn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM

출력:

{ "kind": "ExecCredential", "apiVersion": "client.authentication.k8s.io/v1beta1", "spec": {}, "status": { "expirationTimestamp": "2024-04-11T21:05:26Z", "token": "k8s-aws-v1.EXAMPLE_TOKEN_DATA_STRING..." } }
  • API 세부 정보는 AWS CLI 명령 참조GetToken 섹션을 참조하세요.

다음 코드 예시에서는 list-addons을 사용하는 방법을 보여 줍니다.

AWS CLI

'my-eks-cluster'라는 Amazon EKS 클러스터에 설치된 모든 추가 기능 나열

다음 list-addons 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 설치된 모든 추가 기능을 나열합니다.

aws eks list-addons \ --cluster-name my-eks-cluster

출력:

{ "addons": [ "kube-proxy", "vpc-cni" ] }
  • API 세부 정보는 AWS CLI 명령 참조ListAddons 섹션을 참조하세요.

다음 코드 예시에서는 list-clusters을 사용하는 방법을 보여 줍니다.

AWS CLI

'my-eks-cluster'라는 Amazon EKS 클러스터에 설치된 모든 추가 기능을 나열하려면

다음 list-clusters 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 설치된 모든 추가 기능을 나열합니다.

aws eks list-clusters

출력:

{ "clusters": [ "prod", "qa", "stage", "my-eks-cluster" ] }
  • API 세부 정보는 AWS CLI 명령 참조ListClusters를 참조하세요.

다음 코드 예시에서는 list-fargate-profiles을 사용하는 방법을 보여 줍니다.

AWS CLI

'my-eks-cluster'라는 Amazon EKS 클러스터의 모든 Fargate 프로파일을 나열하려면

다음 list-fargate-profiles 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터의 모든 Fargate 프로파일을 나열합니다.

aws eks list-fargate-profiles \ --cluster-name my-eks-cluster

출력:

{ "fargateProfileNames": [ "my-fargate-profile" ] }

다음 코드 예시에서는 list-identity-provider-configs을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터에 연결된 ID 제공업체 나열

다음 list-identity-provider-configs 예시에서는 Amazon EKS 클러스터에 연결된 ID 제공업체를 나열합니다.

aws eks list-identity-provider-configs \ --cluster-name my-eks-cluster

출력:

{ "identityProviderConfigs": [ { "type": "oidc", "name": "my-identity-provider" } ] }

자세한 내용은 Amazon EKS 사용 설명서OpenID Connect ID 제공업체에서 클러스터에 대한 사용자 인증 섹션을 참조하세요.

다음 코드 예시에서는 list-nodegroups을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon EKS 클러스터의 모든 노드 그룹 나열

다음 list-nodegroups 예시에서는 Amazon EKS 클러스터에의 모든 노드 그룹을 나열합니다.

aws eks list-nodegroups \ --cluster-name my-eks-cluster

출력:

{ "nodegroups": [ "my-eks-managed-node-group", "my-eks-nodegroup" ] }
  • API 세부 정보는 AWS CLI 명령 참조ListNodegroups 섹션을 참조하세요.

다음 코드 예시에서는 list-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터 ARN의 모든 태그를 나열하려면

다음 list-tags-for-resource 예시에서는 Amazon EKS 클러스터 ARN에 대한 모든 태그를 나열합니다.

aws eks list-tags-for-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster

출력:

{ "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" } }

예시 2: Amazon EKS 노드 그룹 ARN의 모든 태그를 나열하려면

다음 list-tags-for-resource 예시에서는 Amazon EKS 노드 그룹 ARN의 모든 태그를 나열합니다.

aws eks list-tags-for-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-managed-node-group/60c71ed2-2cfb-020f-a5f4-ad32477f198c

출력:

{ "tags": { "aws:cloudformation:stack-name": "eksctl-my-eks-cluster-nodegroup-my-eks-managed-node-group", "aws:cloudformation:stack-id": "arn:aws:cloudformation:us-east-2:111122223333:stack/eksctl-my-eks-cluster-nodegroup-my-eks-managed-node-group/eaa20310-e219-11ee-b851-0ab9ad8228ff", "eksctl.cluster.k8s.io/v1alpha1/cluster-name": "my-eks-cluster", "EKS-Cluster-Name": "my-eks-cluster", "alpha.eksctl.io/nodegroup-type": "managed", "NodeGroup Name 1": "my-eks-managed-node-group", "k8s.io/cluster-autoscaler/enabled": "true", "nodegroup-role": "worker", "alpha.eksctl.io/cluster-name": "my-eks-cluster", "alpha.eksctl.io/nodegroup-name": "my-eks-managed-node-group", "karpenter.sh/discovery": "my-eks-cluster", "NodeGroup Name 2": "AmazonLinux-Linux-Managed-NG-v1-26-v1", "auto-delete": "no", "k8s.io/cluster-autoscaler/my-eks-cluster": "owned", "aws:cloudformation:logical-id": "ManagedNodeGroup", "alpha.eksctl.io/eksctl-version": "0.173.0-dev+a7ee89342.2024-03-01T03:40:57Z" } }

예시 3: Amazon EKS Fargate 프로파일 ARN의 모든 태그를 나열하려면

다음 list-tags-for-resource 예시에서는 Amazon EKS Fargate 프로파일 ARN의 모든 태그를 나열합니다.

aws eks list-tags-for-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/d6c76780-e541-0725-c816-36754cab734b

출력:

{ "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } }

예시 4: Amazon EKS 추가 기능 ARN의 모든 태그를 나열하려면

다음 list-tags-for-resource 예시에서는 Amazon EKS 추가 기능 ARN의 모든 태그를 나열합니다.

aws eks list-tags-for-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/vpc-cni/0ec71efc-98dd-3203-60b0-4b939b2a5e5f

출력:

{ "tags": { "eks-addon-key-2": "value-2", "eks-addon-key-1": "value-1" } }

예시 5: Amazon EKS OIDC ID 제공업체 ARN의 모든 태그를 나열하려면

다음 list-tags-for-resource 예시에서는 Amazon EKS OIDC ID 제공업체 ARN의 모든 태그를 나열합니다.

aws eks list-tags-for-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:identityproviderconfig/my-eks-cluster/oidc/my-identity-provider/8ac76722-78e4-cec1-ed76-d49eea058622

출력:

{ "tags": { "my-identity-provider": "test" } }

다음 코드 예시에서는 list-update을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터 이름과 연결된 업데이트를 나열하려면

다음 list-updates 예시에서는 Amazon EKS 클러스터 이름의 모든 업데이트 ID를 나열합니다.

aws eks list-updates \ --name my-eks-cluster

출력:

{ "updateIds": [ "5f78d14e-c57b-4857-a3e4-cf664ae20949", "760e5a3f-adad-48c7-88d3-7ac283c09c26", "cd4ec863-bc55-47d5-a377-3971502f529b", "f12657ce-e869-4f17-b158-a82ab8b7d937" ] }

예시 2: Amazon EKS 노드 그룹의 모든 업데이트 ID를 나열하려면

다음 list-updates 예시에서는 Amazon EKS 노드 그룹의 모든 업데이트 ID를 나열합니다.

aws eks list-updates \ --name my-eks-cluster \ --nodegroup-name my-eks-managed-node-group

출력:

{ "updateIds": [ "8c6c1bef-61fe-42ac-a242-89412387b8e7" ] }

예시 3: Amazon EKS 추가 기능의 모든 업데이트 ID를 나열하려면

다음 list-updates 예시에서는 Amazon EKS 추가 기능의 모든 업데이트 ID를 나열합니다.

aws eks list-updates \ --name my-eks-cluster \ --addon-name vpc-cni

출력:

{ "updateIds": [ "9cdba8d4-79fb-3c83-afe8-00b508d33268" ] }
  • API 세부 정보는 AWS CLI 명령 참조ListUpdate 섹션을 참조하세요.

다음 코드 예시에서는 list-updates을 사용하는 방법을 보여 줍니다.

AWS CLI

클러스터에 대한 업데이트를 나열하려면

이 예시 명령은 기본 리전에 example 클러스터의 현재 업데이트를 나열합니다.

명령:

aws eks list-updates --name example

출력:

{ "updateIds": [ "10bddb13-a71b-425a-b0a6-71cd03e59161" ] }
  • API 세부 정보는 AWS CLI 명령 참조ListUpdates 섹션을 참조하세요.

다음 코드 예시에서는 register-cluster을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS에 외부 EKS_ANYWHERE Kubernetes 클러스터 등록

다음 register-cluster 예시에서는 Amazon EKS에 외부 EKS_ANYWHERE Kubernetes 클러스터를 등록합니다.

aws eks register-cluster \ --name my-eks-anywhere-cluster \ --connector-config 'roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider=EKS_ANYWHERE'

출력:

{ "cluster": { "name": "my-eks-anywhere-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-anywhere-cluster", "createdAt": "2024-04-12T12:38:37.561000-04:00", "status": "PENDING", "tags": {}, "connectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": "2024-04-15T12:38:37.082000-04:00", "provider": "EKS_ANYWHERE", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" } } }

자세한 내용은 Amazon EKS 사용 설명서외부 클러스터 생성 섹션을 참조하세요.

예시 2: Amazon EKS에 외부 Kubernetes 클러스터 등록

다음 register-cluster 예시에서는 Amazon EKS에 외부 EKS_ANYWHERE Kubernetes 클러스터를 등록합니다.

aws eks register-cluster \ --name my-eks-anywhere-cluster \ --connector-config 'roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider=OTHER'

출력:

{ "cluster": { "name": "my-onprem-k8s-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-onprem-k8s-cluster", "createdAt": "2024-04-12T12:42:10.861000-04:00", "status": "PENDING", "tags": {}, "connectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": "2024-04-15T12:42:10.339000-04:00", "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" } } }

자세한 내용은 Amazon EKS 사용 설명서외부 클러스터 생성 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조RegisterCluster 섹션을 참조하세요.

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터에 지정된 태그를 추가하려면

다음 tag-resource 예시에서는 지정된 태그를 Amazon EKS 클러스터에 추가합니다.

aws eks tag-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster \ --tag 'my-eks-cluster-test-1=test-value-1,my-eks-cluster-dev-1=dev-value-2'

이 명령은 출력을 생성하지 않습니다.

예시 2: Amazon EKS 노드 그룹에 지정된 태그를 추가하려면

다음 tag-resource 예시에서는 지정된 태그를 Amazon EKS 노드 그룹에 추가합니다.

aws eks tag-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-managed-node-group/60c71ed2-2cfb-020f-a5f4-ad32477f198c \ --tag 'my-eks-nodegroup-test-1=test-value-1,my-eks-nodegroup-dev-1=dev-value-2'

이 명령은 출력을 생성하지 않습니다.

  • API 세부 정보는 AWS CLI 명령 참조의 TagResource를 참조하세요.

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터에서 지정된 태그를 삭제하려면

다음 untag-resource 예시에서는 지정된 태그를 Amazon EKS 클러스터에서 삭제합니다.

aws eks untag-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster \ --tag-keys "my-eks-cluster-test-1" "my-eks-cluster-dev-1"

이 명령은 출력을 생성하지 않습니다.

예시 2: Amazon EKS 노드 그룹에서 지정된 태그를 삭제하려면

다음 untag-resource 예시에서는 지정된 태그를 Amazon EKS 노드 그룹에서 삭제합니다.

aws eks untag-resource \ --resource-arn arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-managed-node-group/60c71ed2-2cfb-020f-a5f4-ad32477f198c \ --tag-keys "my-eks-nodegroup-test-1" "my-eks-nodegroup-dev-1"

이 명령은 출력을 생성하지 않습니다.

  • API 세부 정보는 AWS CLI 명령 참조UntagResource를 참조하세요.

다음 코드 예시에서는 update-addon을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1. 서비스 계정 역할 ARN으로 Amazon EKS 추가 기능을 업데이트하려면

다음 update-addon 예시 명령은 서비스 계정 역할 ARN으로 Amazon EKS 추가 기능을 업데이트합니다.

aws eks update-addon \ --cluster-name my-eks-cluster \ --addon-name vpc-cni \ --service-account-role-arn arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm

출력:

{ "update": { "id": "c00d2de2-c2e4-3d30-929e-46b8edec2ce4", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" } ], "updatedAt": "2024-04-12T16:04:55.614000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 업데이트 섹션을 참조하세요.

예시 2. 특정 추가 기능 버전으로 Amazon EKS 추가 기능을 업데이트하려면

다음 update-addon 예시 명령은 특정 추가 기능 버전으로 Amazon EKS 추가 기능을 업데이트합니다.

aws eks update-addon \ --cluster-name my-eks-cluster \ --addon-name vpc-cni \ --service-account-role-arn arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm \ --addon-version v1.16.4-eksbuild.2

출력:

{ "update": { "id": "f58dc0b0-2b18-34bd-bc6a-e4abc0011f36", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.16.4-eksbuild.2" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" } ], "createdAt": "2024-04-12T16:07:16.550000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 업데이트 섹션을 참조하세요.

예시 3. 사용자 지정 구성 값으로 Amazon EKS 추가 기능을 업데이트하고 충돌 세부 정보를 해결하려면

다음 update-addon 예시 명령은 Amazon EKS 추가 기능을 사용자 지정 구성 값으로 업데이트하고 충돌 세부 정보를 해결합니다.

aws eks update-addon \ --cluster-name my-eks-cluster \ --addon-name vpc-cni \ --service-account-role-arn arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm \ --addon-version v1.16.4-eksbuild.2 \ --configuration-values '{"resources": {"limits":{"cpu":"100m"}, "requests":{"cpu":"50m"}}}' \ --resolve-conflicts PRESERVE

출력:

{ "update": { "id": "cd9f2173-a8d8-3004-a90f-032f14326520", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.16.4-eksbuild.2" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" }, { "type": "ResolveConflicts", "value": "PRESERVE" }, { "type": "ConfigurationValues", "value": "{\"resources\": {\"limits\":{\"cpu\":\"100m\"}, \"requests\":{\"cpu\":\"50m\"}}}" } ], "createdAt": "2024-04-12T16:16:27.363000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 업데이트 섹션을 참조하세요.

예시 4. 사용자 지정 JSON 구성 값 파일로 Amazon EKS 추가 기능을 업데이트하려면

다음 update-addon 예시 명령은 Amazon EKS 추가 기능을 사용자 지정 JSON 구성 값으로 업데이트하고 충돌 세부 정보를 해결합니다.

aws eks update-addon \ --cluster-name my-eks-cluster \ --addon-name vpc-cni \ --service-account-role-arn arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm \ --addon-version v1.17.1-eksbuild.1 \ --configuration-values 'file://configuration-values.json' \ --resolve-conflicts PRESERVE

configuration-values.json의 콘텐츠:

{ "resources": { "limits": { "cpu": "100m" }, "requests": { "cpu": "50m" } }, "env": { "AWS_VPC_K8S_CNI_LOGLEVEL": "ERROR" } }

출력:

{ "update": { "id": "6881a437-174f-346b-9a63-6e91763507cc", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.17.1-eksbuild.1" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" }, { "type": "ResolveConflicts", "value": "PRESERVE" }, { "type": "ConfigurationValues", "value": "{\n \"resources\": {\n \"limits\": {\n \"cpu\": \"100m\"\n },\n \"requests\": {\n \"cpu\": \"50m\"\n }\n },\n \"env\": {\n \"AWS_VPC_K8S_CNI_LOGLEVEL\": \"ERROR\"\n }\n}" } ], "createdAt": "2024-04-12T16:22:55.519000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 업데이트 섹션을 참조하세요.

예시 5. 사용자 지정 YAML 구성 값 파일로 Amazon EKS 추가 기능을 업데이트하려면

다음 update-addon 예시 명령은 Amazon EKS 추가 기능을 사용자 지정 YAML 구성 값으로 업데이트하고 충돌 세부 정보를 해결합니다.

aws eks update-addon \ --cluster-name my-eks-cluster \ --addon-name vpc-cni \ --service-account-role-arn arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm \ --addon-version v1.18.0-eksbuild.1 \ --configuration-values 'file://configuration-values.yaml' \ --resolve-conflicts PRESERVE

configuration-values.yaml의 콘텐츠:

resources: limits: cpu: '100m' requests: cpu: '50m' env: AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'

출력:

{ "update": { "id": "a067a4c9-69d0-3769-ace9-d235c5b16701", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.18.0-eksbuild.1" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" }, { "type": "ResolveConflicts", "value": "PRESERVE" }, { "type": "ConfigurationValues", "value": "resources:\n limits:\n cpu: '100m'\n requests:\n cpu: '50m'\nenv:\n AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'" } ], "createdAt": "2024-04-12T16:25:07.212000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 추가 기능 관리 - 추가 기능 업데이트 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateAddon 섹션을 참조하세요.

다음 코드 예시에서는 update-cluster-config을 사용하는 방법을 보여 줍니다.

AWS CLI

클러스터 엔드포인트 액세스를 업데이트하려면

이 예시 명령은 클러스터를 업데이트하여 엔드포인트 퍼블릭 액세스를 비활성화하고 프라이빗 엔드포인트 액세스를 활성화합니다.

명령:

aws eks update-cluster-config --name example \ --resources-vpc-config endpointPublicAccess=false,endpointPrivateAccess=true

출력:

{ "update": { "id": "ec883c93-2e9e-407c-a22f-8f6fa6e67d4f", "status": "InProgress", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "false" }, { "type": "EndpointPrivateAccess", "value": "true" } ], "createdAt": 1565806986.506, "errors": [] } }

클러스터에 대한 로깅을 활성화하려면

이 예시 명령은 example 클러스터에 대한 모든 클러스터 컨트롤 플레인 로깅 유형을 활성화합니다.

명령:

aws eks update-cluster-config --name example \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'

출력:

{ "update": { "id": "7551c64b-1d27-4b1e-9f8e-c45f056eb6fd", "status": "InProgress", "type": "LoggingUpdate", "params": [ { "type": "ClusterLogging", "value": "{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}" } ], "createdAt": 1565807210.37, "errors": [] } }

다음 코드 예시에서는 update-cluster-version을 사용하는 방법을 보여 줍니다.

AWS CLI

'my-eks-cluster'라는 Amazon EKS 클러스터를 지정된 Kubernetes 버전으로 업데이트하려면

다음 update-cluster-version 예시에서는 Amazon EKS 클러스터를 지정된 Kubernetes 버전으로 업데이트합니다.

aws eks update-cluster-version \ --name my-eks-cluster \ --kubernetes-version 1.27

출력:

{ "update": { "id": "e4091a28-ea14-48fd-a8c7-975aeb469e8a", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.27" }, { "type": "PlatformVersion", "value": "eks.16" } ], "createdAt": "2024-04-12T16:56:01.082000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터 Kubernetes 버전 업데이트 섹션을 참조하세요.

다음 코드 예시에서는 update-kubeconfig을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: 'my-eks-cluster'라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig를 만들거나 업데이트하여 kubectl 구성

다음 update-kubeconfig 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig를 만들거나 업데이트하여 kubectl을 구성합니다.

aws eks update-kubeconfig \ --name my-eks-cluster

출력:

Updated context arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster in /Users/xxx/.kube/config

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트 섹션을 참조하세요.

예시 2: 'my-eks-cluster'라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig(클러스터 인증을 위한 역할을 수임하는 role-arn 옵션 포함)를 만들거나 업데이트하여 kubectl을 구성

다음 update-kubeconfig 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig(클러스터 인증을 위한 역할을 수임하는 role-arn 옵션 포함)를 만들거나 업데이트하여 kubectl을 구성합니다.

aws eks update-kubeconfig \ --name my-eks-cluster \ --role-arn arn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM

출력:

Updated context arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster in /Users/xxx/.kube/config

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트 섹션을 참조하세요.

예시 3: `my-eks-cluster`라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig(사용자 지정 클러스터 별칭 및 user-alias와 함께 클러스터 인증을 위한 역할을 수임하는 role-arn 옵션 포함)를 만들거나 업데이트하여 kubectl 구성

다음 update-kubeconfig 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig(사용자 지정 클러스터 별칭 및 user-alias와 함께 클러스터 인증을 위한 역할을 수임하는 role-arn 옵션 포함)를 만들거나 업데이트하여 kubectl을 구성합니다.

aws eks update-kubeconfig \ --name my-eks-cluster \ --role-arn arn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM \ --alias stage-eks-cluster \ --user-alias john

출력:

Updated context stage-eks-cluster in /Users/dubaria/.kube/config

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트 섹션을 참조하세요.

예시 4: 검토를 위해 kubeconfig 파일 항목을 출력하고 'my-eks-cluster'라는 Amazon EKS 클러스터에 연결할 수 있도록 kubectl 구성

다음 update-kubeconfig 예시에서는 my-eks-cluster라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig(사용자 지정 클러스터 별칭 및 user-alias와 함께 클러스터 인증을 위한 역할을 수임하는 role-arn 옵션 포함)를 만들거나 업데이트하여 kubectl을 구성합니다.

aws eks update-kubeconfig \ --name my-eks-cluster \ --role-arn arn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM \ --alias stage-eks-cluster \ --user-alias john \ --verbose

출력:

Updated context stage-eks-cluster in /Users/dubaria/.kube/config Entries: context: cluster: arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster user: john name: stage-eks-cluster name: john user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-east-2 - eks - get-token - --cluster-name - my-eks-cluster - --output - json - --role - arn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM command: aws cluster: certificate-authority-data: xxx_CA_DATA_xxx server: https://DALSJ343KE23J3RN45653DSKJTT647TYD.yl4.us-east-2.eks.amazonaws.com name: arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster

자세한 내용은 Amazon EKS 사용 설명서Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateKubeconfig 섹션을 참조하세요.

다음 코드 예시에서는 update-nodegroup-config을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 클러스터의 EKS 워커 노드에 새 레이블과 테인트를 추가하도록 관리형 노드 그룹 업데이트

다음 update-nodegroup-config 예시에서는 관리형 노드 그룹을 업데이트하여 Amazon EKS 클러스터의 EKS 워커 노드에 새 레이블과 테인트를 추가합니다.

aws eks update-nodegroup-config \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --labels 'addOrUpdateLabels={my-eks-nodegroup-label-1=value-1,my-eks-nodegroup-label-2=value-2}' \ --taints 'addOrUpdateTaints=[{key=taint-key-1,value=taint-value-1,effect=NO_EXECUTE}]'

출력:

{ "update": { "id": "e66d21d3-bd8b-3ad1-a5aa-b196dc08c7c1", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "LabelsToAdd", "value": "{\"my-eks-nodegroup-label-2\":\"value-2\",\"my-eks-nodegroup-label-1\":\"value-1\"}" }, { "type": "TaintsToAdd", "value": "[{\"effect\":\"NO_EXECUTE\",\"value\":\"taint-value-1\",\"key\":\"taint-key-1\"}]" } ], "createdAt": "2024-04-08T12:05:19.161000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 업데이트 섹션을 참조하세요.

예시 2: Amazon EKS 클러스터의 EKS 워커 노드에 대한 레이블 및 테인트를 제거하도록 관리형 노드 그룹 업데이트

다음 update-nodegroup-config 예시에서는 Amazon EKS 클러스터의 EKS 워커 노드에 대한 레이블과 테인트를 제거하도록 관리형 노드 그룹을 업데이트합니다.

aws eks update-nodegroup-config \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --labels 'removeLabels=my-eks-nodegroup-label-1, my-eks-nodegroup-label-2' \ --taints 'removeTaints=[{key=taint-key-1,value=taint-value-1,effect=NO_EXECUTE}]'

출력:

{ "update": { "id": "67a08692-9e59-3ace-a916-13929f44cec3", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "LabelsToRemove", "value": "[\"my-eks-nodegroup-label-1\",\"my-eks-nodegroup-label-2\"]" }, { "type": "TaintsToRemove", "value": "[{\"effect\":\"NO_EXECUTE\",\"value\":\"taint-value-1\",\"key\":\"taint-key-1\"}]" } ], "createdAt": "2024-04-08T12:17:31.817000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 업데이트 섹션을 참조하세요.

예시 3: Amazon EKS 클러스터의 EKS 워커 노드에 대한 레이블 및 테인트를 제거 및 추가하도록 관리형 노드 그룹 업데이트

다음 update-nodegroup-config 예시에서는 Amazon EKS 클러스터의 EKS 워커 노드에 대한 레이블과 테인트를 제거하고 추가하도록 관리형 노드 그룹을 업데이트합니다.

aws eks update-nodegroup-config \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --labels 'addOrUpdateLabels={my-eks-nodegroup-new-label-1=new-value-1,my-eks-nodegroup-new-label-2=new-value-2},removeLabels=my-eks-nodegroup-label-1, my-eks-nodegroup-label-2' \ --taints 'addOrUpdateTaints=[{key=taint-new-key-1,value=taint-new-value-1,effect=PREFER_NO_SCHEDULE}],removeTaints=[{key=taint-key-1,value=taint-value-1,effect=NO_EXECUTE}]'

출력:

{ "update": { "id": "4a9c8c45-6ac7-3115-be71-d6412a2339b7", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "LabelsToAdd", "value": "{\"my-eks-nodegroup-new-label-1\":\"new-value-1\",\"my-eks-nodegroup-new-label-2\":\"new-value-2\"}" }, { "type": "LabelsToRemove", "value": "[\"my-eks-nodegroup-label-1\",\"my-eks-nodegroup-label-2\"]" }, { "type": "TaintsToAdd", "value": "[{\"effect\":\"PREFER_NO_SCHEDULE\",\"value\":\"taint-new-value-1\",\"key\":\"taint-new-key-1\"}]" }, { "type": "TaintsToRemove", "value": "[{\"effect\":\"NO_EXECUTE\",\"value\":\"taint-value-1\",\"key\":\"taint-key-1\"}]" } ], "createdAt": "2024-04-08T12:30:55.486000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 업데이트 섹션을 참조하세요.

예시 4: Amazon EKS 클러스터의 EKS 워커 노드에 대한 scaling-config 및 update-config를 업데이트하도록 관리형 노드 그룹 업데이트

다음 update-nodegroup-config 예시에서는 Amazon EKS 클러스터의 EKS 워커 노드에 대한 scaling-config 및 update-config를 업데이트하도록 관리형 노드 그룹을 업데이트합니다.

aws eks update-nodegroup-config \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --scaling-config minSize=1,maxSize=5,desiredSize=2 \ --update-config maxUnavailable=2

출력:

{ "update": { "id": "a977160f-59bf-3023-805d-c9826e460aea", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "MinSize", "value": "1" }, { "type": "MaxSize", "value": "5" }, { "type": "DesiredSize", "value": "2" }, { "type": "MaxUnavailable", "value": "2" } ], "createdAt": "2024-04-08T12:35:17.036000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 업데이트 섹션을 참조하세요.

다음 코드 예시에서는 update-nodegroup-version을 사용하는 방법을 보여 줍니다.

AWS CLI

예시 1: Amazon EKS 관리형 노드 그룹의 Kubernetes 버전 또는 AMI 버전 업데이트

다음 update-nodegroup-version 예시에서는 Amazon EKS 관리형 노드 그룹의 Kubernetes 버전 또는 AMI 버전을 Kubernetes 클러스터에 사용 가능한 최신 버전으로 업데이트합니다.

aws eks update-nodegroup-version \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --no-force

출력:

{ "update": { "id": "a94ebfc3-6bf8-307a-89e6-7dbaa36421f7", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.26" }, { "type": "ReleaseVersion", "value": "1.26.12-20240329" } ], "createdAt": "2024-04-08T13:16:00.724000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서관리형 노드 그룹 업데이트 섹션을 참조하세요.

예시 2: Amazon EKS 관리형 노드 그룹의 Kubernetes 버전 또는 AMI 버전 업데이트

다음 update-nodegroup-version 예시에서는 Amazon EKS 관리형 노드 그룹의 Kubernetes 버전 또는 AMI 버전을 지정된 AMI 릴리스 버전으로 업데이트합니다.

aws eks update-nodegroup-version \ --cluster-name my-eks-cluster \ --nodegroup-name my-eks-nodegroup \ --kubernetes-version '1.26' \ --release-version '1.26.12-20240307' \ --no-force

출력:

{ "update": { "id": "4db06fe1-088d-336b-bdcd-3fdb94995fb7", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.26" }, { "type": "ReleaseVersion", "value": "1.26.12-20240307" } ], "createdAt": "2024-04-08T13:13:58.595000-04:00", "errors": [] } }

자세한 내용은 Amazon EKS 사용 설명서의 관리형 노드 그룹 업데이트 - <https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html>` 섹션을 참조하세요.