を使用した Amazon EKS の例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Amazon EKS の例 AWS CLI

次のコード例は、Amazon EKS AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、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

次の例は、delete-cluster を使用する方法を説明しています。

AWS CLI

クラスターを削除するには

このコマンド例は、デフォルトリージョンの devel という名前のクラスターを削除します。

コマンド:

aws eks delete-cluster --name devel
  • API の詳細については、「 コマンドリファレンスDeleteCluster」の「」を参照してください。 AWS CLI

次の例は、describe-cluster を使用する方法を説明しています。

AWS CLI

クラスターを記述するには

このコマンド例では、デフォルトリージョンの指定されたクラスターの説明を提供します。

コマンド:

aws eks describe-cluster --name devel

出力:

{ "cluster": { "name": "devel", "arn": "arn:aws:eks:us-west-2:012345678910:cluster/devel", "createdAt": 1527807879.988, "version": "1.10", "endpoint": "https://EXAMPLE0A04F01705DD065655C30CC3D.yl4.us-west-2.eks.amazonaws.com", "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", "resourcesVpcConfig": { "subnetIds": [ "subnet-6782e71e", "subnet-e7e761ac" ], "securityGroupIds": [ "sg-6979fe18" ], "vpcId": "vpc-950809ec" }, "status": "ACTIVE", "certificateAuthority": { "data": "EXAMPLECRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" } } }
  • API の詳細については、「 コマンドリファレンスDescribeCluster」の「」を参照してください。 AWS CLI

次の例は、describe-update を使用する方法を説明しています。

AWS CLI

クラスターの更新を記述するには

このコマンド例では、デフォルトリージョンexampleの という名前のクラスターの更新を記述します。

コマンド:

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

出力:

{ "update": { "id": "10bddb13-a71b-425a-b0a6-71cd03e59161", "status": "Successful", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "true" }, { "type": "EndpointPrivateAccess", "value": "false" } ], "createdAt": 1565806691.149, "errors": [] } }
  • API の詳細については、「 コマンドリファレンスDescribeUpdate」の「」を参照してください。 AWS CLI

次の例は、get-token を使用する方法を説明しています。

AWS CLI

クラスター認証トークンを取得するには

このコマンド例では、 という名前のクラスターの認証トークンを取得しますexample

コマンド:

aws eks get-token --cluster-name example

出力:

{ "kind": "ExecCredential", "apiVersion": "client.authentication.k8s.io/v1beta1", "spec": {}, "status": { "expirationTimestamp": "2019-08-14T18:44:27Z", "token": "k8s-aws-v1EXAMPLE_TOKEN_DATA_STRING..." } }
  • API の詳細については、「 コマンドリファレンスGetToken」の「」を参照してください。 AWS CLI

次の例は、list-clusters を使用する方法を説明しています。

AWS CLI

使用可能なクラスターを一覧表示するには

このコマンド例では、デフォルトリージョンで使用可能なすべてのクラスターを一覧表示します。

コマンド:

aws eks list-clusters

出力:

{ "clusters": [ "devel", "prod" ] }
  • API の詳細については、「 コマンドリファレンスListClusters」の「」を参照してください。 AWS CLI

次の例は、list-updates を使用する方法を説明しています。

AWS CLI

クラスターの更新を一覧表示するには

このコマンド例では、デフォルトリージョンexampleの という名前のクラスターの現在の更新を一覧表示します。

コマンド:

aws eks list-updates --name example

出力:

{ "updateIds": [ "10bddb13-a71b-425a-b0a6-71cd03e59161" ] }
  • API の詳細については、「 コマンドリファレンスListUpdates」の「」を参照してください。 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

クラスターの Kubernetes バージョンを更新するには

このコマンド例では、 という名前のクラスターを Kubernetes 1.12 exampleから 1.13 に更新します。

コマンド:

aws eks update-cluster-version --name example --kubernetes-version 1.13

出力:

{ "update": { "id": "161a74d1-7e8c-4224-825d-b32af149f23a", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.13" }, { "type": "PlatformVersion", "value": "eks.2" } ], "createdAt": 1565807633.514, "errors": [] } }
  • API の詳細については、「 コマンドリファレンスUpdateClusterVersion」の「」を参照してください。 AWS CLI

次の例は、update-kubeconfig を使用する方法を説明しています。

AWS CLI

クラスターの kubeconfig を更新するには

このコマンド例では、クラスターを現在のコンテキストとして使用するようにデフォルトの kubeconfig ファイルを更新します。

コマンド:

aws eks update-kubeconfig --name example

出力:

Added new context arn:aws:eks:us-west-2:012345678910:cluster/example to /Users/ericn/.kube/config
  • API の詳細については、「 コマンドリファレンスUpdateKubeconfig」の「」を参照してください。 AWS CLI