eksctl の開始方法 - Amazon EKS

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

eksctl の開始方法

この入門ガイドは、Amazon EKS (eksctl での Kubernetes クラスターの作成と管理用のシンプルなコマンドラインユーティリティ) を使用して、Amazon EKS の開始に必要なすべてのリソースを作成するのに役立ちます。このチュートリアルを完了すると、アプリケーションをデプロイできる実行中の Amazon EKS クラスターが作成されます。

このガイドの手順では、いくつかのリソースが自動的に作成されます。これらのリソースは、AWS マネジメントコンソール を使用してクラスターを作成するときに手動で作成する必要があります。ほとんどのリソースを手動で作成し、リソース間でのやり取りがどのように行われるかの理解を深めるには、AWS マネジメントコンソール を使用してクラスターとコンピューティングを作成します。詳細については、「AWS マネジメントコンソール の開始方法」を参照してください。

Prerequisites

このセクションは、Amazon EKS クラスターの作成と管理に必要な以下のツールをインストールして設定するのに役立ちます。

  • [AWS CLI] を含む – のサービスを使用するためのコマンドラインツール。AWSAmazon EKS

  • eksctl 多くの個々のタスクを自動化する EKS クラスターを操作するためのコマンドラインツール。–

  • [kubectl] Kubernetes クラスターを操作するためのコマンドラインツール。–

AWS CLI をインストールする

for AWS CLImacOS、Linux、または Windows の最新バージョンをインストールできます。

[AWS CLI の macOS をインストールするには]

  1. 現在 AWS CLI がインストールされている場合は、インストールされているバージョンを確認します。

    aws --version
  2. バージョン 1.18.190 以降がない場合や、バージョン AWS CLI 以降がインストールされている場合は、2.1.7 バージョン 2 をインストールします。その他のインストールオプションや、現在インストールされているバージョン 2 をアップグレードする方法については、「 での AWS CLI バージョン 2 のアップグレードmacOS」の「アップグレード」を参照してください。

    curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /

    AWS CLI バージョン 2 を使用できない場合は、次のコマンドを使用して、AWS CLI バージョン 1 の最新バージョンがインストールされていることを確認します。

    pip3 install awscli --upgrade --user

[Linux 用の AWS CLI をインストールするには]

  1. 現在 AWS CLI がインストールされている場合は、インストールされているバージョンを確認します。

    aws --version
  2. バージョン 1.18.190 以降がない場合や、バージョン AWS CLI 以降がインストールされている場合は、2.1.7 バージョン 2 をインストールします。その他のインストールオプションや、現在インストールされているバージョン 2 をアップグレードする方法については、「Linux での AWS CLI バージョン 2 のインストール」の「アップグレード」を参照してください。

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

    AWS CLI バージョン 2 を使用できない場合は、次のコマンドを使用して、AWS CLI バージョン 1 の最新バージョンがインストールされていることを確認します。

    pip3 install --upgrade --user awscli

[AWS CLI for Windows をインストールするには]

  1. 現在 AWS CLI がインストールされている場合は、インストールされているバージョンを確認します。

    aws --version
  2. バージョン 1.18.190 以降がない場合や、バージョン AWS CLI 以降がインストールされている場合は、以下のステップを使用して 2.1.7 バージョン 2 をインストールします。その他のインストールオプションや、現在インストールされているバージョン 2 をアップグレードする方法については、「Windows での AWS CLI バージョン 2 のインストール」の「Windows でのアップグレード」を参照してください。

    1. Windows 用 AWS CLI MSI インストーラ (64 ビット) を https://awscli.amazonaws.com/AWSCLIV2.msi からダウンロードします。

    2. ダウンロードした MSI インストーラを実行し、画面の指示に従います。デフォルトでは、AWS CLI は C:\Program Files\Amazon\AWSCLIV2 にインストールされます。

  3. (オプション) AWS CLI バージョン 2 を使用できない場合は、次のコマンドを使用して、最新バージョンの AWS CLI バージョン 1 がインストールされていることを確認します。

    pip3 install --user --upgrade awscli

AWS CLI 認証情報を設定する

eksctl と AWS CLI の両方には、使用している環境で AWS 認証情報が設定されている必要があります。一般的な使用の場合、 aws configure コマンドは、AWS CLI をインストールしてセットアップするための最も簡単な方法です。

$ aws configure AWS Access Key ID [None]: <AKIAIOSFODNN7EXAMPLE> AWS Secret Access Key [None]: <wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY> Default region name [None]: <region-code> Default output format [None]: <json>

このコマンドを入力すると、AWS CLI によって 4 つの情報の入力が求められます。access keysecret access keyAWS Region、および output format。 この情報は、default という名前のプロファイル (設定の集合) に保存されます。 このプロファイルは、コマンドを実行するときに、別のプロファイルを指定しない限り、使用されます。

詳細については、『AWS CLI』の「AWS Command Line Interface ユーザーガイド の設定」 を参照してください。

eksctl をインストールする

バージョン以降の 0.35.0 eksctl コマンドラインユーティリティは、、macOSLinux、または Windows でインストールできます。詳細については、https://eksctl.io/ を参照してください。

[Homebrew を使用して eksctl で macOS をインストールまたはアップグレードするには]

と Amazon EKS の使用を開始する最も簡単な方法は、macOSHomebreweksctl を使用して をインストールすることです。Homebrew レシピでは、eksctl のほか、eksctl に必要なその他の依存関係 (Amazon EKS など) がインストールされます。kubectl このレシピは aws-iam-authenticator もインストールします。これは AWS CLI バージョン 1.16.156 以上をインストールしていない場合に必要です。

  1. に Homebrew がまだインストールされていない場合は、次のコマンドを使用してインストールします。macOS

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  2. Weaveworks Homebrew tap をインストールします。

    brew tap weaveworks/tap
  3. eksctl をインストールまたはアップグレードします。

    • 以下のコマンドを使用して、eksctl をインストールします。

      brew install weaveworks/tap/eksctl
    • eksctl がすでにインストールされている場合は、以下のコマンドでアップグレードします。

      brew upgrade eksctl && brew link --overwrite eksctl
  4. 以下のコマンドを使用して、インストールが成功したことをテストします。

    eksctl version
    注記

    GitTag のバージョンは 0.35.0 以上であることが必要です。そうでない場合は、端末の出力にインストールエラーやアップグレードエラーがないか確認するか、以下からリリースのアーカイブを手動でダウンロードします https://github.com/weaveworks/eksctl/releases/download/0.35.0/eksctl_Darwin_amd64.tar.gzeksctl を展開し、実行します。

[eksctl を使用して Linux で curl をインストールまたはアップグレードするには]

  1. 以下のコマンドを使用して、eksctl の最新リリースをダウンロードして解凍します。

    curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
  2. 抽出したバイナリを /usr/local/bin に移動します。

    sudo mv /tmp/eksctl /usr/local/bin
  3. 以下のコマンドを使用して、インストールが成功したことをテストします。

    eksctl version
    注記

    のバージョンは GitTag 以上であることが必要です。0.35.0 そうでない場合は、ターミナルの出力でインストールエラーやアップグレードエラーがないか確認するか、ステップ 1 のアドレスを https://github.com/weaveworks/eksctl/releases/download/0.35.0/eksctl_Linux_amd64.tar.gz に置き換えて、ステップ 1 ~ 3 をもう一度実行します。

[Chocolatey を使用して Windows に eksctl をインストールまたはアップグレードするには]

  1. Windows システムに Chocolatey がまだインストールされていない場合は、「Chocolatey のインストール」を参照してください。

  2. eksctl をインストールまたはアップグレードします。

    • 次のコマンドでバイナリをインストールします。

      choco install -y eksctl
    • すでにインストールされている場合は、以下のコマンドでアップグレードします。

      choco upgrade -y eksctl
  3. 以下のコマンドを使用して、インストールが成功したことをテストします。

    eksctl version
    注記

    GitTag のバージョンは 0.35.0 以上であることが必要です。そうでない場合は、端末の出力にインストールエラーやアップグレードエラーがないか確認するか、以下からリリースのアーカイブを手動でダウンロードします https://github.com/weaveworks/eksctl/releases/download/0.35.0/eksctl_Windows_amd64.zipeksctl を展開し、実行します。

kubectl のインストールと設定

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

注記

前述の Homebrew の手順に従って eksctl に macOS をインストールした場合、kubectl はすでにシステムにインストールされています。「クラスターを作成してコンピューティングするAmazon EKS」に進めます。

コマンドラインユーティリティのバージョン 1.18 は、kubectl、macOSLinux、または Windows 用にインストールできます。別のクラスターバージョンで使用するために別のバージョンをインストールする必要がある場合は、「のインストールkubectl」を参照してください。

[kubectl を macOS にインストールするには]

  1. クラスターがあるリージョンに対応する Amazon EKS 提供の kubectl バイナリをダウンロードします。

    • リージョン以外のすべてのリージョン。中国

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl
    • 北京および寧夏 中国リージョン。

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/darwin/amd64/kubectl
  2. (オプション) ダウンロードされたバイナリを SHA-256 sum で検証します。

    1. クラスターがあるリージョンに対応する SHA-256 sum をダウンロードします。

      • リージョン以外のすべてのリージョン。中国

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • 北京および寧夏 中国リージョン。

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/darwin/amd64/kubectl.sha256
    2. SHA-256 sum を確認します。

      openssl sha1 -sha256 kubectl
    3. コマンド出力で生成された SHA-256 sum とダウンロードした SHA-256 ファイルを比較します。両者は一致する必要があります。

  3. バイナリへの実行アクセス権限を適用します。

    chmod +x ./kubectl
  4. パス内のフォルダに kubectl を移動します。

    • まだ kubectl のバージョンがインストールされていない場合は、PATH にすでに存在するフォルダにバイナリを移動します。

      sudo mv ./kubectl /usr/local/bin
    • 既に kubectl のバージョンがインストールされている場合は、$HOME/bin/kubectl フォルダを作成し、そのフォルダにバイナリを移動し、$HOME/bin$PATH の最初にあることを確認することをお勧めします。

      mkdir -p $HOME/bin && mv ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

      (オプション) シェルを開いたときに設定されるように、シェルの初期化ファイルに $HOME/bin パスを追加します。

      echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
  5. kubectl をインストールしたら、以下のコマンドを使用してそのバージョンを確認できます。

    kubectl version --short --client

[Linux に kubectl をインストールするには]

  1. クラスターがあるリージョンに対応する Amazon EKS 提供の kubectl バイナリをダウンロードします。

    • リージョン以外のすべてのリージョン。中国

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl
    • 北京および寧夏 中国リージョン。

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/linux/amd64/kubectl
  2. (オプション) ダウンロードされたバイナリを SHA-256 sum で検証します。

    1. クラスターがあるリージョンに対応する SHA-256 sum をダウンロードします。

      • リージョン以外のすべてのリージョン。中国

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl.sha256
      • 北京および寧夏 中国リージョン。

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/linux/amd64/kubectl.sha256
    2. SHA-256 sum を確認します。

      openssl sha1 -sha256 kubectl
    3. コマンド出力で生成された SHA-256 sum とダウンロードした SHA-256 ファイルを比較します。両者は一致する必要があります。

  3. バイナリへの実行アクセス権限を適用します。

    chmod +x ./kubectl
  4. パス内のフォルダに kubectl を移動します。

    • のバージョンがインストールされていない場合は、バイナリを kubectl のフォルダに移動します。PATH

      sudo mv ./kubectl /usr/local/bin
    • すでに kubectl のバージョンがインストールされている場合は、$HOME/bin/kubectl フォルダを作成し、そのフォルダにバイナリを移動し、$HOME/bin$PATH の最初にあることを確認することをお勧めします。

      mkdir -p $HOME/bin && mv ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

      (オプション) シェルを開いたときに設定されるように、シェルの初期化ファイルに $HOME/bin パスを追加します。

      echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
      注記

      このステップでは、Bash シェルを使用していることを前提としています。別のシェルを使用している場合は、特定のシェル初期化ファイルを使用するよう、コマンドを変更します。

  5. kubectl をインストールしたら、以下のコマンドを使用してそのバージョンを確認できます。

    kubectl version --short --client

[Windows に kubectl をインストールするには]

  1. ターミナルを開きます。PowerShell

  2. クラスターがあるリージョンに対応する Amazon EKS 提供の kubectl バイナリをダウンロードします。

    • リージョン以外のすべてのリージョン。中国

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe
    • 北京および寧夏 中国リージョン。

      curl -o kubectl.exe https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe
  3. (オプション) ダウンロードされたバイナリを SHA-256 sum で検証します。

    1. クラスターがあるリージョンに対応する SHA-256 sum をダウンロードします。

      • リージョン以外のすべてのリージョン。中国

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • 北京および寧夏 中国リージョン。

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
    2. SHA-256 sum を確認します。

      Get-FileHash kubectl.exe
    3. コマンド出力で生成された SHA-256 sum とダウンロードした SHA-256 ファイルを比較します。出力は大文字になりますが、2 つが一致する必要があります。PowerShell

  4. バイナリを PATH のフォルダにコピーします。 コマンドラインユーティリティで使用する PATH 内に既存のディレクトリがある場合、そのディレクトリにバイナリをコピーします。それ以外の場合は、以下のステップを完了します。

    1. コマンドラインのバイナリ用に新しいディレクトリ (C:\bin など) を作成します。

    2. kubectl.exe バイナリを新しいディレクトリにコピーします。

    3. ユーザーまたはシステムの PATH 環境変数を編集し、新しいディレクトリを PATH に追加します。

    4. 新しい PATH 変数を取得するには、PowerShell ターミナルを閉じ、新しいターミナルを開きます。

  5. kubectl をインストールしたら、以下のコマンドを使用してそのバージョンを確認できます。

    kubectl version --short --client

クラスターを作成してコンピューティングするAmazon EKS

このセクションは、アプリケーションを実行するためのコンピューティングオプションを持つ Amazon EKS クラスターの作成に役立ちます。最新の Kubernetes と Amazon EKS の機能を利用できるように、Amazon EKS で使用可能な最新バージョンの Kubernetes がインストールされます。一部の機能は、Kubernetes の古いバージョンでは利用できません。

重要

クラスターがあるリージョンの AWS Security Token Service (STS) エンドポイントがアカウントに対して有効になっていることを確認します。エンドポイントが有効になっていない場合、ノードはクラスターの作成中にクラスターに参加できません。詳細については、「AWS リージョンでの AWS STS のアクティブ化と非アクティブ化」を参照してください。

次のいずれかのコンピューティングオプションを選択します。各オプションの詳細については、「Amazon EKS 個のノード」を参照してください。クラスターがデプロイされたら、必要に応じて他のオプションを追加できます。

  • [ Fargate – Linux] – で Linux アプリケーションを実行する場合は、このオプションを選択します。AWS Fargate

  • [ – Managed nodes Linux–] Amazon Linux インスタンスで Amazon EC2 アプリケーションを実行する場合は、このオプションを選択します

  • セルフマネージド型ノード – Windows インスタンスで Windows アプリケーションを実行する場合は、このオプションを選択します。–Amazon EC2Windows アプリケーションを実行するだけであっても、クラスターに少なくとも 1 つの Linux ノードが必要であるため、このオプションを使用して Linux アプリケーションを実行することもできます。

このガイドでは説明しませんが、Bottlerocket ノードをクラスターに追加することもできます。詳細については、「セルフマネージド型の Bottlerocket ノードの起動」を参照してください。

[Fargate – Linux]

注記

以下のコマンドを使用して、Fargate をサポートする、Amazon EKS クラスターを作成します。(<example values> を含む) を独自の値に置き換えます。<><us-west-2> は、Amazon EKS で サポートされている任意のリージョンに置き換えることができます。は、<us-west-2> Amazon EKS がサポートされている任意のリージョンFargateに置き換えることができます。バージョン 1.18 をデプロイすることをお勧めしますが、以前のバージョンと置き換える場合は、そのバージョンの重要な リリースノートAmazon EKSを読み、対応するバージョンの kubectl をインストールしてください。

eksctl create cluster \ --name <my-cluster> \ --version <1.18> \ --region <us-west-2> \ --fargate

ノードグループなしで新しい Amazon EKS クラスターが作成されます。Eksctl は、ポッド実行ロール、 および Fargate 名前空間の default プロファイルkube-systemを作成し、coredns デプロイにパッチを適用して Fargate で実行できるようにします。詳細については、「AWS Fargate」を参照してください。

[ マネージド型ノード – Linux ]

  1. 起動テンプレートの有無にかかわらずノードを作成できます。起動テンプレートを使用すると、カスタム AMI をデプロイする機能を含めて、より高度にカスタマイズできます。どちらのオプションでも、<example values> (<> を含む) を独自の値に置き換えます。

    <us-west-2> は、Amazon EKS で サポートされている任意のリージョンに置き換えることができます。バージョン 1.18 をデプロイすることをお勧めしますが、以前のバージョンと置き換える場合は、そのバージョンの重要な リリースノートAmazon EKSを読み、対応するバージョンの kubectl をインストールしてください。

    --ssh-public-key はオプションですが、クラスターを使用してノードグループを作成するときに、これを指定することを強くお勧めします。このオプションを指定すると、マネージド型ノードグループ内のノードへの SSH アクセスが有効になります。SSH アクセスを有効にすることにより、インスタンスに接続し、問題がある場合に診断情報を収集できます。ノードグループの作成後にリモートアクセスを有効にすることはできません。パブリックキーがない場合は、 に指定するAmazon EC2キーペアを作成--ssh-public-keyできます。 キーは、クラスターを作成するリージョンと同じリージョンに作成してください。

    重要

    AWS Outposts、AWS Wavelength、または AWS ローカルゾーンが有効になっている AWS リージョンに、クラスターまたはノードを作成するときは、eksctl を使用しないでください。代わりに、Amazon EC2 API または AWS CloudFormation を使用して、クラスターとセルフマネージドノードを作成します。詳細については、「を使用してセルフマネージド型 Linux ノードを起動するにはAWS マネジメントコンソール」および「を使用してセルフマネージド Windows ノードを起動するにはAWS マネジメントコンソール」を参照してください。

    重要

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

    • なし 起動テンプレート。

      注記

      独自の起動テンプレートを指定しない場合でも、Amazon EKS API によりデフォルトの起動テンプレートが作成され、その起動テンプレートを使用してノードがデプロイされます。

      eksctl create cluster \ --name <my-cluster> \ --version <1.18> \ --region <us-west-2> \ --nodegroup-name <linux-nodes> \ --nodes <3> \ --nodes-min <1> \ --nodes-max <4> \ --with-oidc \ --ssh-access \ --ssh-public-key <name-of-ec2-keypair> \ --managed
    • 起動テンプレートを使用 起動テンプレートを使用して – クラスターと Amazon EKS ノードを作成します。Amazon Linux起動テンプレートが既に存在しており、起動テンプレート設定の基本 で指定されている要件を満たしている必要があります。次の内容のファイルを作成し、<example values> (<> を含む) を独自の値に置き換えます。起動テンプレートなしでデプロイするときに指定するいくつかの設定は、起動テンプレートに移動されます。バージョンを指定しない場合は、テンプレートのデフォルトバージョンが使用されます。

      --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: <my-cluster> region: <us-west-2> version: '<1.18>' iam: withOIDC: true managedNodeGroups: - name: <ng-linux> launchTemplate: id: lt-<id> version: "<1>"
  2. 次のコマンドを使用して、クラスターとノードグループを作成します。

    eksctl create cluster --config-file <filename-you-used-in-previous-step.yaml>

    出力:

    クラスターとノードが作成されると、数行の出力が表示されます。出力の最後の行は、次のサンプル行のようになります。

    [✓] EKS cluster "<my-cluster>" in "<us-west-2>" region is ready

    ノードがクラスターに参加できない場合は、トラブルシューティングガイドの「ノードがクラスターに参加できない」を参照してください。

[セルフマネージド型ノード – Windows ]

Windows サポートの「考慮事項」を把握しておいてください。以下の例のテキストには instanceType のサポートされる値が含まれています。例の <values> を独自の値に置き換えます。

バージョン 1.18 をデプロイすることをお勧めします。 以前のバージョンをデプロイする必要がある場合、置き換えることができるのはバージョン 1.16 以降のみです。1.18 を変更した場合は、そのバージョンの重要な Amazon EKS リリースノートを読み、対応するバージョンの kubectl をインストールする必要があります。

重要

AWS Outposts、AWS Wavelength、または AWS ローカルゾーンが有効になっている AWS リージョンに、クラスターまたはノードを作成するときは、eksctl を使用しないでください。代わりに、Amazon EC2 API または AWS CloudFormation を使用して、クラスターとセルフマネージドノードを作成します。詳細については、「を使用してセルフマネージド型 Linux ノードを起動するにはAWS マネジメントコンソール」および「を使用してセルフマネージド Windows ノードを起動するにはAWS マネジメントコンソール」を参照してください。

重要

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

  1. 次の内容のファイルを作成し、<example values> (<> を含む) を独自の値に置き換えます。このファイルは、セルフマネージド Windows ノードグループとマネージド Linux ノードグループを持つクラスターを作成するために使用されます。クラスターで Windows アプリケーションのみを実行する場合でも、すべての Amazon EKS クラスターには少なくとも 1 つの Linux ノードが含まれている必要がありますが、可用性を確保するために少なくとも 2 つの Linux ノードを作成することをお勧めします。eksctlconfig ファイルスキーマconfig ファイルサンプルにおける config ファイルの使用の詳細については、eksctl ドキュメントを参照してください。バージョン 1.18 をデプロイすることをお勧めします (ただし、最初に <> を削除します)。を置き換える場合は、バージョンの重要な 1.18 リリースノートAmazon EKS を読み、対応するバージョンの kubectl をインストールします。

    --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: <my-cluster> region: <us-west-2> version: '<1.18>' iam: withOIDC: true managedNodeGroups: - name: <linux-ng> instanceType: <m5.large> minSize: <2> nodeGroups: - name: <windows-ng> instanceType: <m5.large> minSize: <2> volumeSize: <100> amiFamily: <WindowsServer2019FullContainer>
  2. 次のコマンドを使用して、Amazon EKS クラスターと Windows ノードと Linux ノードを作成します。

    eksctl create cluster -f <filename-you-used-in-previous-step.yaml> --install-vpc-controllers
    注記

    で使用できるオプションの詳細については、プロジェクト eksctl create clusterREADME on GitHub を参照するか、次のコマンドを使用してヘルプページを参照してください。

    eksctl create cluster --help

    出力:

    クラスターとノードが作成されると、数行の出力が表示されます。出力の最後の行は、次のサンプル行のようになります。

    [✓] EKS cluster "<my-cluster>" in "<us-west-2>" region is ready

    ノードがクラスターに参加できない場合は、トラブルシューティングガイドの「ノードがクラスターに参加できない」を参照してください。

    クラスターのプロビジョニングには通常、10 ~ 15 分かかります。

  3. クラスターの準備ができたら、kubectl 設定が正しいことをテストします。

    kubectl get svc
    注記

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

    出力:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m
  4. (Linux 高速 AMI ノードのみ) 高速 AMI インスタンスタイプと Amazon EKS 最適化高速 AMI を選択した場合は、NVIDIA device plugin for Kubernetes を、次のコマンドを使ってクラスターの DaemonSet として適用しなければなりません。

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

次のステップ

これでノードを含む Amazon EKS クラスターが動作するようになったので、Kubernetes アドオンのインストールとクラスターへのアプリケーションのデプロイを開始できます。以下のトピックは、クラスターの機能を拡張するのに役立ちます。