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

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 Amazon EKS 예제 AWS CLI

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

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

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

주제

작업

다음 코드 예시에서는 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

자격 증명 공급자를 Amazon EKS 클러스터에 연결

다음 associate-identity-provider-config 예제에서는 자격 증명 공급자를 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 자격 증명 공급자에서 클러스터 사용자 인증 - OIDC 자격 증명 공급자 연결을 참조하세요.

다음 코드 예시에서는 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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. EKS

예제 2: 특정 EKS 추가 기능 버전으로 Amazon 추가 기능 생성

다음 create-addon 예제 명령은 특정 EKS 추가 기능 버전을 사용하여 Amazon 추가 기능을 생성합니다.

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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. 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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. 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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. 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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. EKS

  • 자세한 API 내용은 명령 참조CreateAddon의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조CreateCluster의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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: 포드를 시작할 서브넷과 함께 네임스페이스와 레이블이 있는 선택기IDs에 대한 EKS Fargate 프로파일 생성.

다음 create-fargate-profile 예제에서는 포드를 시작할 IDs 서브넷과 함께 네임스페이스와 레이블이 있는 선택기에 대한 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: 여러 네임스페이스와 레이블이 있는 선택기에 대한 EKS Fargate 프로파일 생성과 포드를 시작할 IDs 서브넷

다음 create-fargate-profile 예제에서는 포드를 시작할 IDs 서브넷과 함께 여러 네임스페이스 및 레이블이 있는 선택기에 대한 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: 포드를 시작할 서브넷과 함께 네임스페이스 및 레이블IDs에 대한 와일드카드 선택기를 사용하여 EKS Fargate 프로파일 생성

다음 create-fargate-profile 예제에서는 포드를 시작할 IDs 서브넷과 함께 여러 네임스페이스 및 레이블이 있는 선택기에 대한 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: 사용자 지정 인스턴스 유형 및 디스크 크기를 사용하여 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 \ --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: 사용자 지정 인스턴스 유형, 디스크 크기, ami 유형, 용량 유형, 업데이트 구성, 레이블, taints 및 태그를 사용하여 Amazon EKS 클러스터에 대한 관리형 노드 그룹을 생성합니다.

다음 create-nodegroup 예제에서는 사용자 지정 인스턴스 유형, 디스크 크기, ami 유형, 용량 유형, 업데이트 구성, 레이블, 테인트 및 태그가 있는 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 내용은 명령 참조CreateNodegroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 EKS 추가 기능 관리 - Amazon 에서 추가 기능 삭제를 참조하세요. EKS

예제 2. EKS 클러스터에서 Amazon 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 EKS 추가 기능 관리 - Amazon 에서 추가 기능 삭제를 참조하세요. EKS

  • 자세한 API 내용은 명령 참조DeleteAddon의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서의 Amazon EKS 클러스터 삭제를 참조하세요. EKS

  • 자세한 API 내용은 명령 참조DeleteCluster의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조DeleteNodegroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조DeregisterCluster의 섹션을 참조하세요. AWS CLI

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

AWS CLI

예제 1: Amazon vpc-cni를 생성하거나 업데이트할 때 사용할 수 있는 구성 옵션 AddOns

다음 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 코어를 생성하거나 업데이트할 때 사용할 수 있는 구성 옵션 AddOns

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

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 에서 Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트를 참조하세요EKS.

다음 코드 예시에서는 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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. EKS

예제 2: 에 대해 제공된 지정된 Kubernetes 버전에 사용 가능한 모든 추가 기능 나열 EKS

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

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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. EKS

예제 3: 에 대해 지원되는 지정된 Kubernetes 버전에 대해 사용 가능한 모든 vpc-cni 추가 기능 버전 나열 EKS

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

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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 생성을 참조하세요. 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 내용은 명령 참조DescribeAddon의 섹션을 참조하세요. AWS CLI

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

AWS CLI

Amazon EKS 클러스터에서 적극적으로 실행되는 EKS 추가 기능 설명

다음 describe-cluster 예제에서는 Amazon EKS 클러스터에서 EKS 애드온을 적극적으로 실행합니다.

aws eks describe-cluster \ --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 내용은 명령 참조DescribeCluster의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 클러스터와 연결된 자격 증명 공급자 구성 설명

다음 describe-identity-provider-config 예제에서는 Amazon EKS 클러스터와 연결된 자격 증명 공급자 구성을 설명합니다.

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 자격 증명 공급자에서 클러스터 사용자 인증을 참조하세요.

다음 코드 예시에서는 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 내용은 명령 참조DescribeNodegroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서의 Amazon EKS 클러스터 Kubernetes 버전 업데이트를 참조하세요. EKS

예제 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 사용 설명서의 Amazon EKS 클러스터 Kubernetes 버전 업데이트를 참조하세요. EKS

예제 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 사용 설명서의 Amazon EKS 클러스터 Kubernetes 버전 업데이트를 참조하세요. EKS

  • 자세한 API 내용은 명령 참조DescribeUpdate의 섹션을 참조하세요. AWS CLI

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

AWS CLI

자격 증명 공급자를 Amazon EKS 클러스터에 연결 해제

다음 disassociate-identity-provider-config 예제에서는 자격 증명 공급자를 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 자격 증명 공급자에서 클러스터 사용자 인증 - 클러스터에서 OIDC 자격 증명 공급자 연결 해제를 참조하세요.

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

AWS CLI

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

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

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: 토큰에 서명할 때 자격 증명에 대해 이 역할을ARN 수임하여 `my-eks-cluster`라는 Amazon EKS 클러스터의 인증 토큰을 가져옵니다.

다음 get-token 예제에서는 토큰에 서명할 때 자격 증명에 대해 이 역할을ARN 수임 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 내용은 명령 참조GetToken의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

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

출력:

{ "addons": [ "kube-proxy", "vpc-cni" ] }
  • 자세한 API 내용은 명령 참조ListAddons의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

aws eks list-clusters

출력:

{ "clusters": [ "prod", "qa", "stage", "my-eks-cluster" ] }
  • 자세한 API 내용은 명령 참조ListClusters의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

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

출력:

{ "fargateProfileNames": [ "my-fargate-profile" ] }
  • 자세한 API 내용은 명령 참조ListFargateProfiles의 섹션을 참조하세요. AWS CLI

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

AWS CLI

Amazon EKS 클러스터에 연결된 자격 증명 공급자 나열

다음 list-identity-provider-configs 예제에서는 Amazon EKS 클러스터와 연결된 자격 증명 공급자를 나열합니다.

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

출력:

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

자세한 내용은 Amazon EKS 사용 설명서 OpenID Connect 자격 증명 공급자에서 클러스터 사용자 인증을 참조하세요.

다음 코드 예시에서는 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 내용은 명령 참조ListNodegroups의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 프로필의 모든 태그를 나열하려면 ARNe

다음 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 자격 증명 공급자의 모든 태그를 나열하려면 ARN

다음 list-tags-for-resource 예제에서는 Amazon EKS OIDC 자격 증명 공급자 의 모든 태그를 나열합니다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" } }
  • 자세한 API 내용은 명령 참조ListTagsForResource의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

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 노드 그룹에 IDs 대한 모든 업데이트를 나열하려면

다음 list-updates 예제에서는 Amazon EKS 노드 그룹에 IDs 대한 모든 업데이트를 나열합니다.

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

출력:

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

예제 3: Amazon EKS Add-one의 모든 업데이트를 나열IDs하려면

다음 list-updates 예제에서는 Amazon EKS 추가 기능에 IDs 대한 모든 업데이트를 나열합니다.

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

출력:

{ "updateIds": [ "9cdba8d4-79fb-3c83-afe8-00b508d33268" ] }
  • 자세한 API 내용은 명령 참조ListUpdate의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

명령:

aws eks list-updates --name example

출력:

{ "updateIds": [ "10bddb13-a71b-425a-b0a6-71cd03e59161" ] }
  • 자세한 API 내용은 명령 참조ListUpdates의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

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에 외부 Kubernetes 클러스터 등록 EKS

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

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 내용은 명령 참조RegisterCluster의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조TagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조UntagResource의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 업데이트를 참조하세요. EKS

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

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

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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 업데이트를 참조하세요. 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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 업데이트를 참조하세요. EKS

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

다음 update-addon 예제 명령은 사용자 지정 JSON 구성 값으로 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.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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 업데이트를 참조하세요. EKS

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

다음 update-addon 예제 명령은 사용자 지정 YAML 구성 값으로 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.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 사용 설명서의 Amazon EKS 추가 기능 관리 - 추가 기능 업데이트를 참조하세요. EKS

  • 자세한 API 내용은 명령 참조UpdateAddon의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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": [] } }
  • 자세한 API 내용은 명령 참조UpdateClusterConfig의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 사용 설명서의 Amazon EKS 클러스터 Kubernetes 버전 업데이트를 참조하세요. EKS

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

AWS CLI

예제 1: 'my-eks-cluster`라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig를 생성하거나 업데이트하여 kubectl을 구성합니다.

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

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 사용 설명서의 Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트를 참조하세요. EKS

예제 2: 'my-eks-cluster`라는 Amazon EKS 클러스터에 연결할 수 있도록 kubeconfig(클러스터 인증을 위한 역할을 수임하는 역할 획득 옵션 포함)를 생성하거나 업데이트하여 kubectl을 구성합니다.

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

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 사용 설명서의 Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트를 참조하세요. EKS

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

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

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 사용 설명서의 Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트를 참조하세요. EKS

예제 4: 검토할 kubeconfig 파일 항목 인쇄 및 `my-eks-cluster`라는 Amazon EKS 클러스터에 연결할 수 있도록 kubectl 구성

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

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 사용 설명서의 Amazon EKS 클러스터에 대한 kubeconfig 파일 생성 또는 업데이트를 참조하세요. EKS

  • 자세한 API 내용은 명령 참조UpdateKubeconfig의 섹션을 참조하세요. AWS CLI

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

AWS CLI

예 1: 관리형 노드 그룹을 업데이트하여 Amazon EKS 클러스터의 EKS 작업자 노드에 새 레이블과 taint 추가

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

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 작업자 노드에 대한 레이블 및 taint을 제거하도록 관리형 노드 그룹 업데이트

다음 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 작업자 노드에 대한 레이블 및 taint을 제거하고 추가하도록 관리형 노드 그룹 업데이트

다음 update-nodegroup-config 예제에서는 관리형 노드 그룹을 업데이트하여 Amazon EKS 클러스터의 EKS 작업자 노드에 대한 레이블과 taint을 제거하고 추가합니다.

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>`를 참조하세요.