14 KiB
title | content_type | weight |
---|---|---|
Linux上でのkubectlのインストールおよびセットアップ | task | 10 |
{{% heading "prerequisites" %}}
kubectlのバージョンは、クラスターのマイナーバージョンとの差分が1つ以内でなければなりません。 たとえば、クライアントがv{{< skew currentVersion >}}であれば、v{{< skew currentVersionAddMinor -1 >}}、v{{< skew currentVersionAddMinor 0 >}}、v{{< skew currentVersionAddMinor 1 >}}のコントロールプレーンと通信できます。 最新の互換性のあるバージョンのkubectlを使うことで、不測の事態を避けることができるでしょう。
Linuxへkubectlをインストールする
Linuxへkubectlをインストールするには、次の方法があります:
curlを使用してLinuxへkubectlのバイナリをインストールする
-
次のコマンドにより、最新リリースをダウンロードしてください:
{{< tabs name="download_binary_linux" >}} {{< tab name="x86-64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" {{< /tab >}} {{< tab name="ARM64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl" {{< /tab >}} {{< /tabs >}}
{{< note >}} 特定のバージョンをダウンロードする場合、コマンドの
$(curl -L -s https://dl.k8s.io/release/stable.txt)
の部分を特定のバージョンに書き換えてください。たとえば、Linux x86-64へ{{< skew currentPatchVersion >}}のバージョンをダウンロードするには、次のコマンドを入力します:
curl -LO https://dl.k8s.io/release/v{{< skew currentPatchVersion >}}/bin/linux/amd64/kubectl
そして、Linux ARM64に対しては、次のコマンドを入力します:
curl -LO https://dl.k8s.io/release/v{{< skew currentPatchVersion >}}/bin/linux/arm64/kubectl
{{< /note >}}
-
バイナリを検証してください(オプション)
kubectlのチェックサムファイルをダウンロードします:
{{< tabs name="download_checksum_linux" >}} {{< tab name="x86-64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" {{< /tab >}} {{< tab name="ARM64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl.sha256" {{< /tab >}} {{< /tabs >}}
チェックサムファイルに対してkubectlバイナリを検証します:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
正しければ、出力は次のようになります:
kubectl: OK
チェックに失敗すると、
sha256
は0以外のステータスで終了し、次のような出力を表示します:kubectl: FAILED sha256sum: WARNING: 1 computed checksum did NOT match
{{< note >}} 同じバージョンのバイナリとチェックサムをダウンロードしてください。 {{< /note >}}
-
kubectlをインストールしてください
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
{{< note >}} ターゲットシステムにルートアクセスを持っていない場合でも、
~/.local/bin
ディレクトリにkubectlをインストールできます:chmod +x kubectl mkdir -p ~/.local/bin mv ./kubectl ~/.local/bin/kubectl # そして ~/.local/bin を $PATH の末尾 (または先頭) に追加します
{{< /note >}}
-
インストールしたバージョンが最新であることを確認してください:
kubectl version --client
または、バージョンの詳細を表示するために次を使用します:
kubectl version --client --output=yaml
ネイティブなパッケージマネージャーを使用してインストールする
{{< tabs name="kubectl_install" >}} {{% tab name="Debianベースのディストリビューション" %}}
-
apt
のパッケージ一覧を更新し、Kubernetesのapt
リポジトリを利用するのに必要なパッケージをインストールしてください:sudo apt-get update # apt-transport-httpsはダミーパッケージの可能性があります。その場合、そのパッケージはスキップできます sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
-
Kubernetesパッケージリポジトリの公開署名キーをダウンロードしてください。 すべてのリポジトリに同じ署名キーが使用されるため、URL内のバージョンは無視できます:
# `/etc/apt/keyrings`フォルダーが存在しない場合は、curlコマンドの前に作成する必要があります。下記の備考を参照してください。 # sudo mkdir -p -m 755 /etc/apt/keyrings curl -fsSL https://pkgs.k8s.io/core:/stable:/{{< param "version" >}}/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 特権のないAPTプログラムがこのkeyringを読めるようにします
{{< note >}}
Debian 12とUbuntu 22.04より古いリリースでは、/etc/apt/keyrings
フォルダーは既定では存在しないため、curlコマンドの前に作成する必要があります。
{{< /note >}}
-
適切なKubernetesの
apt
リポジトリを追加してください。 {{< param "version" >}}とは異なるKubernetesバージョンを利用したい場合は、以下のコマンドの{{< param "version" >}}を目的のマイナーバージョンに置き換えてください:# これにより、/etc/apt/sources.list.d/kubernetes.listにある既存の設定が上書きされます echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/{{< param "version" >}}/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list # command-not-foundのようなツールが正しく動作するようにします
{{< note >}}
kubectlを他のマイナーリリースにアップグレードするためには、apt-get update
とapt-get upgrade
を実行する前に、/etc/apt/sources.list.d/kubernetes.list
の中のバージョンを上げる必要があります。
この手順についてはChanging The Kubernetes Package Repositoryに詳細が記載されています。
{{< /note >}}
-
apt
のパッケージインデックスを更新し、kubectlをインストールしてください:sudo apt-get update sudo apt-get install -y kubectl
{{% /tab %}}
{{% tab name="Red Hatベースのディストリビューション" %}}
-
Kubernetesの
yum
リポジトリを追加してください。 {{< param "version" >}}とは異なるKubernetesバージョンを利用したい場合は、以下のコマンドの{{< param "version" >}}を目的のマイナーバージョンに置き換えてください:# これにより、/etc/yum.repos.d/kubernetes.repoにある既存の設定が上書きされます cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/{{< param "version" >}}/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/{{< param "version" >}}/rpm/repodata/repomd.xml.key EOF
{{< note >}}
kubectlを他のマイナーリリースにアップグレードするためには、yum update
を実行する前に、/etc/yum.repos.d/kubernetes.repo
の中のバージョンを上げる必要があります。
この手順についてはChanging The Kubernetes Package Repositoryに詳細が記載されています。
{{< /note >}}
-
yum
を使用してkubectlをインストールしてください:sudo yum install -y kubectl
{{% /tab %}}
{{% tab name="SUSEベースのディストリビューション" %}}
-
Kubernetesの
zypper
リポジトリを追加してください。 {{< param "version" >}}とは異なるKubernetesバージョンを利用したい場合は、以下のコマンドの{{< param "version" >}}を目的のマイナーバージョンに置き換えてください。# これにより、/etc/zypp/repos.d/kubernetes.repoにある既存の設定が上書きされます cat <<EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/{{< param "version" >}}/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/{{< param "version" >}}/rpm/repodata/repomd.xml.key EOF
{{< note >}}
kubectlを他のマイナーリリースにアップグレードするためには、zypper update
を実行する前に、/etc/zypp/repos.d/kubernetes.repo
の中のバージョンを上げる必要があります。
この手順についてはChanging The Kubernetes Package Repositoryに詳細が記載されています。
{{< /note >}}
-
zypper
を使用してkubectlをインストールしてください:sudo zypper install -y kubectl
{{% /tab %}} {{< /tabs >}}
他のパッケージマネージャーを使用してインストールする
{{< tabs name="other_kubectl_install" >}} {{% tab name="Snap" %}} Ubuntuまたはsnapパッケージマネージャーをサポートする別のLinuxディストリビューションを使用している場合、kubectlはsnapアプリケーションとして使用できます。
snap install kubectl --classic
kubectl version --client
{{% /tab %}}
{{% tab name="Homebrew" %}} LinuxでHomebrewパッケージマネージャーを使用している場合は、kubectlをインストールすることが可能です。
brew install kubectl
kubectl version --client
{{% /tab %}}
{{< /tabs >}}
kubectlの設定を検証する
{{< include "included/verify-kubectl.md" >}}
オプションのkubectlの設定とプラグイン
シェルの自動補完を有効にする
kubectlはBash、Zsh、Fish、PowerShellの自動補完を提供しています。 これにより、入力を大幅に削減することができます。
以下にBash、Fish、Zshの自動補完の設定手順を示します。
{{< tabs name="kubectl_autocompletion" >}} {{< tab name="Bash" include="included/optional-kubectl-configs-bash-linux.md" />}} {{< tab name="Fish" include="included/optional-kubectl-configs-fish.md" />}} {{< tab name="Zsh" include="included/optional-kubectl-configs-zsh.md" />}} {{< /tabs >}}
kubectl convert
プラグインをインストールする
{{< include "included/kubectl-convert-overview.md" >}}
-
次のコマンドを使用して最新リリースをダウンロードしてください:
{{< tabs name="download_convert_binary_linux" >}} {{< tab name="x86-64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert" {{< /tab >}} {{< tab name="ARM64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl-convert" {{< /tab >}} {{< /tabs >}}
-
バイナリを検証してください(オプション)
kubectl-convertのチェックサムファイルをダウンロードします:
{{< tabs name="download_convert_checksum_linux" >}} {{< tab name="x86-64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256" {{< /tab >}} {{< tab name="ARM64" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl-convert.sha256" {{< /tab >}} {{< /tabs >}}
チェックサムファイルに対してkubectl-convertバイナリを検証します:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
正しければ、出力は次のようになります:
kubectl-convert: OK
チェックに失敗すると、
sha256
は0以外のステータスで終了し、次のような出力を表示します:kubectl-convert: FAILED sha256sum: WARNING: 1 computed checksum did NOT match
{{< note >}} 同じバージョンのバイナリとチェックサムをダウンロードしてください。 {{< /note >}}
-
kubectl-convertをインストールしてください
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
-
プラグインが正常にインストールできたことを確認してください
kubectl convert --help
何もエラーが表示されない場合は、プラグインが正常にインストールされたことを示しています。
-
プラグインのインストール後、インストールファイルを削除してください:
rm kubectl-convert kubectl-convert.sha256
{{% heading "whatsnext" %}}
{{< include "included/kubectl-whats-next.md" >}}