Amazon EKS
ユーザーガイド

AWS マネジメントコンソール の開始方法

この入門ガイドは、AWS マネジメントコンソール での Amazon EKS の開始に必要なすべてのリソースを作成するのに役立ちます。このガイドでは、Amazon EKS または AWS CloudFormation コンソールで各リソースを手動で作成します。ここで説明するワークフローを使用すると、どのように各リソースが作成されて相互に通信するかを視覚的に把握できます。

よりシンプルで自動化された開始方法については、「eksctl の開始方法」を参照してください。

Amazon EKS の前提条件

Amazon EKS クラスターを作成する前に、Kubernetes が AWS リソースを作成するための IAM ロールを作成する必要があります。たとえば、ロードバランサーが作成されると、Kubernetes は、アカウントで Elastic Load Balancing ロードバランサーを作成するための Kubernetes ロールを引き受けます。この操作は 1 回のみ行う必要があり、複数の EKS クラスターに使用できます。

また、使用するクラスター用の VPC とセキュリティグループを作成する必要があります。VPC グループとセキュリティグループは複数の EKS クラスターで使用できますが、各 EKS クラスターに別々の VPC を使用して、ネットワークを分離することをお勧めします。

このセクションでは、kubectl バイナリをインストールし、Amazon EKS を使用するために設定する方法についても説明します。

Amazon EKS サービスロールを作成する

IAM コンソールで Amazon EKS サービスロールを作成する

  1. https://console.aws.amazon.com/iam/ にある IAM コンソールを開きます。

  2. [Roles] を選択してから [Create role] を選びます。

  3. サービスのリストから [EKS] を選択し、ユースケースの [Allows Amazon EKS to manage your clusters on your behalf (Amazon EKS によるクラスターの管理を許可)] を選択したら、[Next: Permissions (次へ: アクセス許可)] を選択します。

  4. [Next: Tags (次の手順: タグ)] を選択します。

  5. (オプション) タグをキーと値のペアとしてアタッチして、メタデータをロールに追加します。IAM でのタグの使用の詳細については、『IAM ユーザーガイド』の IAM エンティティのタグ付けを参照してください。

  6. [Next: Review] を選択します。

  7. [Role name (ロール名)] に、ロールの一意の名前 (例: eksServiceRole) を入力し、[ロールの作成] を選択します。

Amazon EKS クラスター VPC を作成する

クラスター VPC を作成するには

  1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  2. ナビゲーションバーで、Amazon EKS をサポートするリージョンを選択します。

  3. [Create stack] を選択します。

  4. [Choose a template (テンプレートの選択)] で、[Specify an Amazon S3 template URL (S3 テンプレート URL の指定)] を選択します。

  5. 以下の URL をテキストエリアに貼り付けて、[次へ] を選択します。

    https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2019-02-11/amazon-eks-vpc-sample.yaml
  6. [詳細の指定] ページで、必要に応じてパラメータを指定し、[次へ] を選択します。

    • Stack name: AWS CloudFormation スタックのスタック名を選択します。たとえば、[eks-vpc] に呼び出します。

    • VpcBlock: VPC の CIDR 範囲を選択します。デフォルト値をそのまま使用できます。

    • Subnet01Block: サブネット 1 の CIDR 範囲を選択します。デフォルト値をそのまま使用できます。

    • Subnet02Block: サブネット 2 の CIDR 範囲を選択します。デフォルト値をそのまま使用できます。

    • Subnet03Block: サブネット 3 の CIDR 範囲を選択します。デフォルト値をそのまま使用できます。

  7. (オプション) [オプション] ページで、スタックリソースをタグ付けします。[次へ] を選択します。

  8. [Review] ページで、[Create ] を選択します。

  9. スタックが作成されたら、コンソールで選択し、[出力] を選択します。

  10. 作成されたセキュリティグループの [SecurityGroups] 値を記録します。これは、EKS クラスターを作成するときに必要です。このセキュリティグループは、Amazon EKS コントロールプレーンがワーカーノードと通信できるようにサブネット内に作成されたクロスアカウントの Elastic Network Interfaces に適用されます。

  11. 作成された VPC の [VpcId] を記録します。これは、ワーカーノードグループテンプレートを起動する際に必要になります。

  12. 作成されたサブネットの [SubnetIds] を記録します。これは、EKS クラスターを作成するときに必要です。これらは、ワーカーノードが起動するサブネットです。

Amazon EKS の kubectl をインストールして設定する

Kubernetes では、クラスター API サーバーとの通信に kubectl というコマンドラインユーティリティを使用します。

kubectl を Amazon EKS にインストールするには

  • オペレーティングシステムに kubectl をダウンロードしてインストールするには、複数のオプションがあります。

    • kubectl バイナリは、多数のオペレーティングシステムのパッケージで利用できます。このオプションは多くの場合、手動のダウンロードおよびインストールプロセスよりはるかに簡単です。Kubernetes のドキュメントにある個別のオペレーティングシステムやパッケージマネージャー用の手順に従えばインストールできます。

    • Amazon EKS では、同じバージョンのアップストリーム kubectl バイナリと同一の使用できる kubectl バイナリ が発行されています。Amazon EKS が発行したお使いのオペレーティングシステム用のバイナリをインストールするには、「kubectl のインストール」を参照してください。

最新の AWS CLI をインストールする

Amazon EKS クラスターで kubectl を使用するには、クラスター API サーバー通信に必要なクライアントセキュリティトークンを作成できるバイナリをインストールする必要があります。AWS CLI のバージョン 1.16.156 以上で使用可能な aws eks get-token コマンドは、クライアントセキュリティトークンの作成をサポートしています。AWS CLI をインストールまたはアップグレードするには、AWS Command Line Interface ユーザーガイド の「AWS コマンドラインインターフェイスのインストール」を参照してください。

重要

yumapt-get、または macOS の Homebrew は、AWS CLI より数バージョン遅れることがあります。最新バージョンを確実に入手するには、AWS Command Line Interface ユーザーガイド の 「AWS コマンドラインインターフェイスのインストール」を参照してください。

AWS CLI のバージョンは、以下のコマンドを使用して確認できます。

aws --version

注記

システムの Python のバージョンは 2.7.9 以上であることが必要です。そうでない場合は、AWS CLI で Amazon EKS を呼び出すと hostname doesn't match エラーが発生します。詳細については、Python Requests FAQ の「What are "hostname doesn't match" errors?」 を参照してください。

システムにバージョン 1.16.156 以上の AWS CLI をインストールできない場合は、AWS IAM Authenticator for Kubernetes がシステムにインストールされていることを確認する必要があります。詳細については、「aws-iam-authenticator のインストール」を参照してください。

ステップ 1: Amazon EKS クラスターを作成する

Amazon EKS クラスターを作成できるようになりました。

重要

Amazon EKS クラスターが作成されたら、クラスターを作成する IAM エンティティ (ユーザーまたはロール) は、管理者 (system:master アクセス許可が付与されている) として Kubernetes RBAC 認証テーブルに追加されます。最初は、その IAM ユーザーだけが kubectl を使用して Kubernetes API サーバーを呼び出すことができます。詳細については、「クラスターのユーザーまたは IAM ロールの管理」を参照してください。コンソールを使用してクラスターを作成する場合は、クラスター上で kubectl コマンドを実行する際、同じ IAM ユーザー認証情報が AWS SDK 認証情報チェーンにあることを確認する必要があります。

AWS CLI をインストールして設定する場合は、ユーザーの IAM 認証情報を設定できます。AWS CLI がユーザーに対して適切に設定されている場合は、eksctl および AWS IAM Authenticator for Kubernetes でこれらの認証情報も検索できます。詳細については、AWS Command Line Interface ユーザーガイド の「AWS CLI の設定」を参照してください。

コンソールを使用してクラスターを作成するには

  1. Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.

  2. [クラスターの作成] を選択します。

    注記

    IAM ユーザーに管理者権限がない場合は、Amazon EKS API オペレーションを呼び出すために、そのユーザーのアクセス権限を明示的に追加する必要があります。詳細については、「Amazon EKS IAM ポリシーの作成」を参照してください。

  3. [クラスターを作成] ページで、以下のフィールドに入力し、[作成] を選択します。

    • Cluster name: クラスターの一意の名前。

    • Kubernetes version: クラスターで使用する Kubernetes のバージョン。デフォルトでは、入手可能な最新バージョンが選択されます。

    • Role ARN (ロールの ARN): 「Amazon EKS サービスロールを作成する」で作成した IAM ロールを選択します。

    • VPC: 「Amazon EKS クラスター VPC を作成する」で作成した VPC。ドロップダウンリストで VPC の名前を検索できます。

    • Subnets: 「Amazon EKS クラスター VPC を作成する」で生成した AWS CloudFormation 出力の「SubnetId」の値 (カンマ区切り)。デフォルトでは、上記の VPC の利用可能なサブネットがあらかじめ選択されています。

    • Security Groups (セキュリティグループ): 「Amazon EKS クラスター VPC を作成する」で生成した AWS CloudFormation 出力の [SecurityGroups] 値。このセキュリティグループのドロップダウン名は [ControlPlaneSecurityGroup] です。

      重要

      ここで指定するセキュリティグループは、ワーカーノード AWS CloudFormation テンプレートによって変更されるため、Amazon EKS では、クラスターコントロールプレーンごとに専用のセキュリティグループを使用することを強くお勧めします (クラスターごとに 1 つ)。セキュリティグループが他のリソースと共有されている場合は、これらのリソースへの接続をブロックまたは妨害する可能性があります。

    • Endpoint private access (エンドポイントへのプライベートアクセス): クラスターの Kubernetes API サーバーエンドポイントに対するプライベートアクセスを有効にするか無効にするかを選択します。プライベートアクセスを有効にした場合、クラスターの VPC 内から送信される Kubernetes API リクエストは、プライベート VPC エンドポイントを使用します。詳細については、「Amazon EKS クラスターエンドポイントのアクセスコントロール」を参照してください。

    • Endpoint public access (エンドポイントへのパブリックアクセス): クラスターの Kubernetes API サーバーエンドポイントに対するパブリックアクセスを有効にするか無効にするかを選択します。パブリックアクセスを無効にすると、クラスターの Kubernetes API サーバーはクラスター VPC 内からのみリクエストを受信できます。詳細については、「Amazon EKS クラスターエンドポイントのアクセスコントロール」を参照してください。

    • ログ記録 – ログタイプごとに、そのログタイプを [有効] にするか [無効] にするかを選択します。各ログタイプは、デフォルトで [無効] になっています。詳細については、「Amazon EKS コントロールプレーンのログ記録」を参照してください。

    注記

    リクエスト内のアベイラビリティーゾーンのいずれかに、Amazon EKS クラスターを作成するのに十分なキャパシティーがないというエラーが表示される場合があります。この場合、エラー出力には、新しいクラスターをサポートできるアベイラビリティーゾーンが含まれます。アカウント向けにサポートされているアベイラビリティーゾーンにある 2 つ以上のサブネットを使用して、クラスターを作成します。詳細については、「容量不足」を参照してください。

  4. [クラスター] ページで、新しく作成したクラスターの名前を選択してクラスター情報を表示します。

  5. クラスターのプロビジョニングプロセスが完了するまで、[状況] フィールドには [作成中] と表示されます。クラスターのプロビジョニングには通常、10 ~ 15 分かかります。

ステップ 2: kubeconfig ファイルを作成する

このセクションでは、クラスターの kubeconfig ファイルを AWS CLI update-kubeconfig コマンドを使って作成します。AWS CLI をインストールしない場合、または kubeconfig を手作業で作成または更新する場合は、「kubeconfig を Amazon EKS 用に作成します。」を参照してください。

kubeconfig ファイルを AWS CLI で作成するには

  1. 1.16.156 以上の AWS CLI がインストールされていることを確認します。AWS CLI をインストールまたはアップグレードするには、AWS Command Line Interface ユーザーガイド の「AWS コマンドラインインターフェイスのインストール」を参照してください。

    注記

    システムの Python のバージョンは 2.7.9 以上であることが必要です。そうでない場合は、AWS CLI で Amazon EKS を呼び出すと hostname doesn't match エラーが発生します。詳細については、Python Requests FAQ の「What are "hostname doesn't match" errors?」 を参照してください。

    AWS CLI のバージョンは、以下のコマンドを使用して確認できます。

    aws --version

    重要

    yumapt-get、または macOS の Homebrew は、AWS CLI より数バージョン遅れることがあります。最新バージョンを確実に入手するには、AWS Command Line Interface ユーザーガイド の 「AWS コマンドラインインターフェイスのインストール」を参照してください。

  2. クラスターの kubeconfig を作成または更新するには、AWS CLI update-kubeconfig コマンドを使用します。

    • デフォルトでは、最終的な設定ファイルは、ホームディレクトリのデフォルト kubeconfig パス (.kube/config) に作成されるか、その場所で既存 kubeconfig とマージされます。別のパスは --kubeconfig オプションを使用して指定できます。

    • kubectl コマンドを実行するときに、認証に使用する --role-arn オプションを指定して IAM ロール ARN を指定できます。それ以外の場合は、デフォルトの AWS CLI または SDK の認証情報チェーン の中の IAM エンティティが使用されます。デフォルトの AWS CLI または SDK の ID を表示するには、 aws sts get-caller-identity コマンドを実行します。

    • 詳細については、aws eks update-kubeconfig help コマンドを使用するか、AWS CLI Command Reference の「update-kubeconfig」を参照してください。

    aws eks --region region update-kubeconfig --name cluster_name
  3. 設定をテストします。

    kubectl get svc

    注記

    "aws-iam-authenticator": executable file not found in $PATH エラーが発生した場合、kubectl は、Amazon EKS に設定されていません。詳細については、「aws-iam-authenticator のインストール」を参照してください。

    その他の認可またはリソースタイプのエラーが発生した場合は、トラブルシューティングセクションの 許可されていないか、アクセスが拒否されました (kubectl) を参照してください。

    出力:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

ステップ 3: Amazon EKS ワーカーノードを起動して設定する

これで、VPC および Kubernetes コントロールプレーンが作成され、ワーカーノードを起動し、設定できるようになりました。

重要

Amazon EKS ワーカーノードは標準の Amazon EC2 インスタンスであり、通常の Amazon EC2 オンデマンドインスタンス価格に基づいて請求されます。詳細については、「Amazon EC2 料金表」を参照してください。

ワーカーノードを起動するには

  1. クラスターステータスが ACTIVE と表示されるまで待ちます。クラスターがアクティブである前にワーカーノードを起動した場合、ワーカーノードはクラスターへの登録に失敗し、再起動する必要があります。

  2. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  3. ナビゲーションバーで、Amazon EKS をサポートするリージョンを選択します。

  4. [Create stack] を選択します。

  5. [Choose a template (テンプレートの選択)] で、[Specify an Amazon S3 template URL (S3 テンプレート URL の指定)] を選択します。

  6. 以下の URL をテキストエリアに貼り付けて、[次へ] を選択します。

    https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2019-02-11/amazon-eks-nodegroup.yaml
  7. [詳細の指定] ページで、必要に応じて以下のパラメータを指定し、[次へ] を選択します。

    • Stack name: AWS CloudFormation スタックのスタック名を選択します。たとえば、<cluster-name>- ワーカーノードと呼ぶことができます。

    • ClusterName: Amazon EKS クラスター用に作成した際に使用した名前を入力します。

      重要

      この名前は、「ステップ 1: Amazon EKS クラスターを作成する」で使用した名前と完全一致する必要があります。それ以外の場合、ワーカーノードにクラスターを結合できません。

    • ClusterControlPlaneSecurityGroup: 「Amazon EKS クラスター VPC を作成する」で生成した AWS CloudFormation 出力の [SecurityGroups] 値を選択します。

    • NodeGroupName: ノードグループの名前を入力します。この名前は、ワーカーノードに対して作成される Auto Scaling ノードグループを識別するために後で使用できます。

    • NodeAutoScalingGroupMinSize: ワーカーノードの Auto Scaling グループがスケールインする最小ノード数を入力します。

    • NodeAutoScalingGroupDesiredCapacity: スタック作成時にスケーリングする必要のあるノード数を入力します。

    • NodeAutoScalingGroupMaxSize: ワーカーノードの Auto Scaling グループがスケールアウトする最大ノード数を入力します。

    • NodeInstanceType: ワーカーノードのインスタンスタイプを選択します。

      重要

      リージョンによっては使用できないインスタンスタイプがあります。

    • NodeImageId: リージョンの最新の Amazon EKS ワーカーノードの AMI ID を入力します。最新の Amazon EKS 最適化 AMI (GPU 対応あり/なし) の AMI ID を次の表に示します。

      注記

      Amazon EKS 最適化 AMI (GPU 対応) では、P2 および P3 のインスタンスタイプのみサポートしています。これらのインスタンスタイプは必ず、ワーカーノードの AWS CloudFormation テンプレートで指定してください。GPU 対応の Amazon EKS 最適化 AMI を使用することで、NVIDIA のエンドユーザーライセンス契約 (EULA) に同意したものとみなされます。

      Kubernetes バージョン 1.12.7Kubernetes バージョン 1.11.9Kubernetes バージョン 1.10.13
      Kubernetes バージョン 1.12.7
      リージョン Amazon EKS 最適化 AMI (GPU 対応)
      米国西部 (オレゴン) (us-west-2) ami-0923e4b35a30a5f53 ami-0bebf2322fd52a42e
      米国東部 (バージニア北部) (us-east-1) ami-0abcb9f9190e867ab ami-0cb7959f92429410a
      米国東部 (オハイオ) (us-east-2) ami-04ea7cb66af82ae4a ami-0118b61dc2312dee2
      欧州 (フランクフルト) (eu-central-1) ami-0d741ed58ca5b342e ami-0c57db5b204001099
      欧州 (ストックホルム) (eu-north-1) ami-0c65a309fc58f6907 ami-09354b076296f5946
      欧州 (アイルランド) (eu-west-1) ami-08716b70cac884aaa ami-0fbc930681258db86
      欧州 (ロンドン) (eu-west-2) ami-0c7388116d474ee10 ami-0d832fced2cfe0f7b
      欧州 (パリ) (eu-west-3) ami-0560aea042fec8b12 ami-0f8fa088b406ebba2
      アジアパシフィック (東京) (ap-northeast-1) ami-0bfedee6a7845c26d ami-08e41cc84f4b3f27f
      アジアパシフィック (ソウル) (ap-northeast-2) ami-0a904348b703e620c ami-0c43b885e33fdc29e
      アジアパシフィック (ムンバイ) (ap-south-1) ami-09c3eb35bb3be46a4 ami-0d3ecaf4f3318c714
      アジアパシフィック (シンガポール) (ap-southeast-1) ami-07b922b9b94d9a6d2 ami-0655b4dbbe2d46703
      アジアパシフィック (シドニー) (ap-southeast-2) ami-0f0121e9e64ebd3dc ami-07079cd9ff1b312da
      Kubernetes バージョン 1.11.9
      リージョン Amazon EKS 最適化 AMI (GPU 対応)
      米国西部 (オレゴン) (us-west-2) ami-05ecac759c81e0b0c ami-08377056d89909b2a
      米国東部 (バージニア北部) (us-east-1) ami-02c1de421df89c58d ami-06ec2ea207616c078
      米国東部 (オハイオ) (us-east-2) ami-03b1b6cc34c010f9c ami-0e6993a35aae3407b
      欧州 (フランクフルト) (eu-central-1) ami-0c2709025eb548246 ami-0bf09c13f4204ce9d
      欧州 (ストックホルム) (eu-north-1) ami-084bd3569d08c6e67 ami-0a1714bb5be631b59
      欧州 (アイルランド) (eu-west-1) ami-0e82e73403dd69fa3 ami-0b4d0f56587640d5a
      欧州 (ロンドン) (eu-west-2) ami-0da9aa88dd2ec8297 ami-00e98f9e6fd2319e5
      欧州 (パリ) (eu-west-3) ami-099369bc73d1cc66f ami-0039e2556e6290828
      アジアパシフィック (東京) (ap-northeast-1) ami-0d555d5f56c843803 ami-07fc636e8f6d3e18b
      アジアパシフィック (ソウル) (ap-northeast-2) ami-0144ae839b1111571 ami-002057772097fcef9
      アジアパシフィック (ムンバイ) (ap-south-1) ami-02071c0110dc365ba ami-04fe7f4c75aac7196
      アジアパシフィック (シンガポール) (ap-southeast-1) ami-00c91afdb73cf7f93 ami-08d5da0b12751a31f
      アジアパシフィック (シドニー) (ap-southeast-2) ami-05f4510fcfe56961c ami-04024dd8e0b9e36ff
      Kubernetes バージョン 1.10.13
      リージョン Amazon EKS 最適化 AMI (GPU 対応)
      米国西部 (オレゴン) (us-west-2) ami-05a71d034119ffc12 ami-0901518d7557125c8
      米国東部 (バージニア北部) (us-east-1) ami-03a1e71fb42fc37dd ami-00f74c3728d4ca27d
      米国東部 (オハイオ) (us-east-2) ami-093d55c2ba99ab2c8 ami-0a788defb66cdfffb
      欧州 (フランクフルト) (eu-central-1) ami-03bdf8079f6c013c5 ami-0a8536a894bd4ea06
      欧州 (ストックホルム) (eu-north-1) ami-0be77fe86d741fc81 ami-05baf7a6c293fe2ed
      欧州 (アイルランド) (eu-west-1) ami-06368da7f495b68e9 ami-0f6f3929a9d7a418e
      欧州 (ロンドン) (eu-west-2) ami-0f1f2189b4741bc60 ami-0a12396b818bc2383
      欧州 (パリ) (eu-west-3) ami-03a9acb0f6e0d424d ami-086d5edcaacd0ccfd
      アジアパシフィック (東京) (ap-northeast-1) ami-0c9fb6a3fda95d373 ami-073f06a1edd22ae2e
      アジアパシフィック (ソウル) (ap-northeast-2) ami-00ea4ea959f28b4cf ami-0baff950f5217e54e
      アジアパシフィック (ムンバイ) (ap-south-1) ami-0f07478f5c5eb9e20 ami-033bd2c2a3431923e
      アジアパシフィック (シンガポール) (ap-southeast-1) ami-05dac5d0ada75e22f ami-09defa93988984fa1
      アジアパシフィック (シドニー) (ap-southeast-2) ami-00513f18e1900ce1e ami-00d9364d705e902c9

      注記

      Amazon EKS ワーカーノード AMI は、Amazon Linux 2 に基づいています。Amazon Linux 2 のセキュリティまたはプライバシーイベントは、Amazon Linux セキュリティセンターで追跡するか、関連付けられた RSS フィードでサブスクライブできます。セキュリティおよびプライバシーイベントには、問題の概要、影響を受けるパッケージ、および問題を修正するためにインスタンスを更新する方法などがあります。

    • KeyName: 起動後に、SSH を使用してワーカーノードに接続するときに使用できる Amazon EC2 SSH キーペアの名前を入力します。Amazon EC2 キーペアをまだ持っていない場合は、AWS マネジメントコンソール で作成できます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2 のキーペア」を参照してください。

      注記

      ここでキーペアを与えないと、AWS CloudFormation スタックの作成は失敗します。

    • BootstrapArguments: kubelet の追加引数など、ワーカーノードブートストラップスクリプトに渡すオプションの引数を指定します。詳細については、https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh でブートストラップスクリプトの使用情報をご覧ください。

    • VpcId: 「Amazon EKS クラスター VPC を作成する」で作成した VPC の ID を入力します。

    • Subnets: 「Amazon EKS クラスター VPC を作成する」で作成したサブネットを選択します。

  8. [オプション] ページで、スタックリソースをタグ付けできます。[次へ] を選択します。

  9. [Review (レビュー)] ページで、情報を確認して、スタックで IAM リソースが作成されることを認識し、[Create (作成)] を選択します。

  10. スタックの作成が完了したら、コンソールで選択し、[出力] タブを選択します。

  11. 作成されたノードグループの [NodeInstanceRole] を記録します。これは、Amazon EKS ワーカーノードを設定する際、必要になります。

ワーカーノードをクラスターと結合するには

  1. AWS オーセンティケーター設定マップをダウンロード、編集、適用します。

    1. 次のコマンドを使用して設定マップをダウンロードします。

      curl -o aws-auth-cm.yaml https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2019-02-11/aws-auth-cm.yaml
    2. 任意のテキストエディタでファイルを開きます。インスタンスロールの <インスタンスのロールの ARN (インスタンスプロファイルではない)> スニペットを、前の手順で記録した [NodeInstanceRole] の値に置き換え、ファイルを保存します。

      重要

      このファイルの他の行は変更しないでください。

      apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: <ARN of instance role (not instance profile)> username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes
    3. 設定を適用します。このコマンドが完了するまで数分かかることがあります。

      kubectl apply -f aws-auth-cm.yaml

      注記

      "aws-iam-authenticator": executable file not found in $PATH エラーが発生した場合、kubectl は、Amazon EKS に設定されていません。詳細については、「aws-iam-authenticator のインストール」を参照してください。

      その他の認可またはリソースタイプのエラーが発生した場合は、トラブルシューティングセクションの 許可されていないか、アクセスが拒否されました (kubectl) を参照してください。

  2. ノードのステータスを監視し、Ready ステータスになるまで待機します。

    kubectl get nodes --watch
  3. (GPU ワーカーのみ) P2 または P3 インスタンスタイプと Amazon EKS 最適化 AMI GPU 対応 を選択した場合は、NVIDIA device plugin for Kubernetes を、次のコマンドを使ってクラスターに設定されたデーモンとして適用しなければなりません。

    注記

    クラスターが 1.12 以外の Kubernetes バージョンを実行している場合は、以下の URL 内のクラスターのバージョンを必ず置き換えてください。

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.12/nvidia-device-plugin.yml

次のステップ

ワーカーノードが関連付けられた Amazon EKS クラスターが実行中になったところで、Kubernetes アドオンのインストールとクラスターへのアプリケーションのデプロイを開始できます。以下のトピックは、クラスターの機能を拡張するのに役立ちます。