kubectl のインストール - Amazon EKS

kubectl のインストール

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

このトピックは、macOS、Linux、Windows オペレーティングシステム用の Amazon EKS 提供の kubectl バイナリをダウンロードしてインストールするのに役立ちます。オペレーティングシステムのタブ名を選択します。これらのバイナリは、アップストリームコミュニティのバージョンと同じであり、Amazon EKS または AWS に固有ではありません。

注記

Amazon EKS クラスターコントロールプレーンとのマイナーバージョンの相違が 1 つ以内である kubectl バージョンを使用する必要があります。例えば、1.20 の kubectl クライアントは、Kubernetes 1.19、1.20 、および 1.21 のクラスターで動作します。

kubectl をインストールするオペレーティングシステムの名前が付いているタブを選択します。

macOS

MacOS で kubectl をインストールするには

  1. クラスターの Kubernetes バージョンに応じて、Amazon EKS 提供の kubectl バイナリを Amazon S3 からダウンロードします。

    • Kubernetes 1.21:

      curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.20:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.20.4/2021-04-12/bin/darwin/amd64/kubectl
    • Kubernetes 1.19:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/darwin/amd64/kubectl
    • Kubernetes 1.18:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.17:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.16:

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

    1. クラスターの Kubernetes バージョンに応じて、SHA-256 サム (MacOS 版) をダウンロードします。

      • Kubernetes 1.21:

        curl -o kubectl.sha256 https://amazon-eks.s3-us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.20:

        curl -o kubectl.sha256 https://amazon-eks.s3-us-west-2.amazonaws.com/1.20.4/2021-04-12/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.19:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.18:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.17:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.16:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/darwin/amd64/kubectl.sha256
    2. ダウンロードしたバイナリの SHA-256 サムを確認します。

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

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

    chmod +x ./kubectl
  4. バイナリを PATH のフォルダにコピーします。既に kubectl のバージョンが既にインストールされている場合、$HOME/bin/kubectl を作成し、$HOME/bin$PATH の最初にあることを確認することをお勧めします。

    mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
  5. (オプション) シェルを開いたときに設定されるように、シェルの初期化ファイルに $HOME/bin パスを追加します。

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

    kubectl version --short --client
Linux

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

  1. クラスターの Kubernetes バージョンに応じて、Amazon EKS 提供の kubectl バイナリを Amazon S3 からダウンロードします。Arm バージョンをダウンロードするには、コマンドを実行する前に amd64arm64 に変更します。

    • Kubernetes 1.21:

      curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl
    • Kubernetes 1.20:

      curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.20.4/2021-04-12/bin/linux/amd64/kubectl
    • Kubernetes 1.19:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/kubectl
    • Kubernetes 1.18:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.17:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.16:

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

    1. クラスターの Kubernetes バージョンに応じて、SHA-256 sum (Linux 版) をダウンロードします。Arm バージョンをダウンロードするには、コマンドを実行する前に <amd64>arm64 に変更します。

      • Kubernetes 1.21:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.20:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.20.4/2021-04-12/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.19:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.18:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.17:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.16:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/linux/amd64/kubectl.sha256
    2. ダウンロードしたバイナリの SHA-256 サムを確認します。

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

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

    chmod +x ./kubectl
  4. バイナリを PATH のフォルダにコピーします。既に kubectl のバージョンが既にインストールされている場合、$HOME/bin/kubectl を作成し、$HOME/bin$PATH の最初にあることを確認することをお勧めします。

    mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
  5. (オプション) シェルを開いたときに設定されるように、シェルの初期化ファイルに $HOME/bin パスを追加します。

    注記

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

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

    kubectl version --short --client
Windows

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

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

  2. クラスターの Kubernetes バージョンに応じて、Amazon EKS 提供の kubectl バイナリを Amazon S3 からダウンロードします。

    • Kubernetes 1.21:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.20:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.20.4/2021-04-12/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.19:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.18:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.17:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.16:

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

    1. クラスターの Kubernetes バージョンに応じて、SHA-256 sum (Windows 版) をダウンロードします。

      • Kubernetes 1.21:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.20:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.20.4/2021-04-12/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.19:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.18:

        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
      • Kubernetes 1.17:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.16:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
    2. ダウンロードしたバイナリの SHA-256 サムを確認します。

      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