# Linux上でのkubectlのインストールおよびセットアップ

LLMS index: [llms.txt](/llms.txt)

---

## 始める前に

kubectlのバージョンは、クラスターのマイナーバージョンとの差分が1つ以内でなければなりません。
たとえば、クライアントがv1.36であれば、v1.35、v1.36、v1.37のコントロールプレーンと通信できます。
最新の互換性のあるバージョンのkubectlを使うことで、不測の事態を避けることができるでしょう。

## Linuxへkubectlをインストールする

Linuxへkubectlをインストールするには、次の方法があります:

- [curlを使用してLinuxへkubectlのバイナリをインストールする](#install-kubectl-binary-with-curl-on-linux)
- [ネイティブなパッケージマネージャーを使用してインストールする](#install-using-native-package-management)
- [他のパッケージマネージャーを使用してインストールする](#install-using-other-package-management)

### curlを使用してLinuxへkubectlのバイナリをインストールする{#install-kubectl-binary-with-curl-on-linux}

1. 次のコマンドにより、最新リリースをダウンロードしてください:

   <ul class="nav nav-tabs" id="tabs-download-binary-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-binary-linux-0" role="tab" aria-controls="tabs-download-binary-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-binary-linux-1" role="tab" aria-controls="tabs-download-binary-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-binary-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-binary-linux-0" role="tabpanel" aria-labelledby="tabs-download-binary-linux-0-tab" tabindex="download-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-binary-linux-1" role="tabpanel" aria-labelledby="tabs-download-binary-linux-1-tab" tabindex="download-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div></div>


   
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4><p>特定のバージョンをダウンロードする場合、コマンドの<code>$(curl -L -s https://dl.k8s.io/release/stable.txt)</code>の部分を特定のバージョンに書き換えてください。</p>
<p>たとえば、Linux x86-64へ1.36.0のバージョンをダウンロードするには、次のコマンドを入力します:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl
</span></span></code></pre></div><p>そして、Linux ARM64に対しては、次のコマンドを入力します:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/arm64/kubectl
</span></span></code></pre></div></div>


1. バイナリを検証してください(オプション)

   kubectlのチェックサムファイルをダウンロードします:

   <ul class="nav nav-tabs" id="tabs-download-checksum-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-checksum-linux-0" role="tab" aria-controls="tabs-download-checksum-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-checksum-linux-1" role="tab" aria-controls="tabs-download-checksum-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-checksum-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-checksum-linux-0" role="tabpanel" aria-labelledby="tabs-download-checksum-linux-0-tab" tabindex="download-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-checksum-linux-1" role="tabpanel" aria-labelledby="tabs-download-checksum-linux-1-tab" tabindex="download-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div></div>


   チェックサムファイルに対してkubectlバイナリを検証します:

   ```bash
   echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check
   ```

   正しければ、出力は次のようになります:

   ```console
   kubectl: OK
   ```

   チェックに失敗すると、`sha256`は0以外のステータスで終了し、次のような出力を表示します:

   ```console
   kubectl: FAILED
   sha256sum: WARNING: 1 computed checksum did NOT match
   ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>同じバージョンのバイナリとチェックサムをダウンロードしてください。</div>


1. kubectlをインストールしてください

   ```bash
   sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
   ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4><p>ターゲットシステムにルートアクセスを持っていない場合でも、<code>~/.local/bin</code>ディレクトリにkubectlをインストールできます:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">chmod +x kubectl
</span></span><span class="line"><span class="cl">mkdir -p ~/.local/bin
</span></span><span class="line"><span class="cl">mv ./kubectl ~/.local/bin/kubectl
</span></span><span class="line"><span class="cl"><span class="c1"># そして ~/.local/bin を $PATH の末尾 (または先頭) に追加します</span>
</span></span></code></pre></div></div>


1. インストールしたバージョンが最新であることを確認してください:

   ```bash
   kubectl version --client
   ```

   または、バージョンの詳細を表示するために次を使用します:

   ```cmd
   kubectl version --client --output=yaml
   ```

### ネイティブなパッケージマネージャーを使用してインストールする{#install-using-native-package-management}

<ul class="nav nav-tabs" id="tabs-kubectl-install" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-install-0" role="tab" aria-controls="tabs-kubectl-install-0" aria-selected="true">Debianベースのディストリビューション</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-install-1" role="tab" aria-controls="tabs-kubectl-install-1">Red Hatベースのディストリビューション</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-install-2" role="tab" aria-controls="tabs-kubectl-install-2">SUSEベースのディストリビューション</a></li></ul>

<div class="tab-content" id="tabs-kubectl-install-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-install-0" role="tabpanel" aria-labelledby="tabs-kubectl-install-0-tab" tabindex="kubectl-install"><ol>
<li>
<p><code>apt</code>のパッケージ一覧を更新し、Kubernetesの<code>apt</code>リポジトリを利用するのに必要なパッケージをインストールしてください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">sudo apt-get update
</span></span><span class="line"><span class="cl"><span class="c1"># apt-transport-httpsはダミーパッケージの可能性があります。その場合、そのパッケージはスキップできます</span>
</span></span><span class="line"><span class="cl">sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
</span></span></code></pre></div></li>
<li>
<p>Kubernetesパッケージリポジトリの公開署名キーをダウンロードしてください。
すべてのリポジトリに同じ署名キーが使用されるため、URL内のバージョンは無視できます:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># `/etc/apt/keyrings`フォルダーが存在しない場合は、curlコマンドの前に作成する必要があります。下記の備考を参照してください。</span>
</span></span><span class="line"><span class="cl"><span class="c1"># sudo mkdir -p -m 755 /etc/apt/keyrings</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.36/deb/Release.key <span class="p">|</span> sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
</span></span><span class="line"><span class="cl">sudo chmod <span class="m">644</span> /etc/apt/keyrings/kubernetes-apt-keyring.gpg <span class="c1"># 特権のないAPTプログラムがこのkeyringを読めるようにします</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>Debian 12とUbuntu 22.04より古いリリースでは、<code>/etc/apt/keyrings</code>フォルダーは既定では存在しないため、curlコマンドの前に作成する必要があります。</div>
<ol start="3">
<li>
<p>適切なKubernetesの<code>apt</code>リポジトリを追加してください。
v1.36とは異なるKubernetesバージョンを利用したい場合は、以下のコマンドのv1.36を目的のマイナーバージョンに置き換えてください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># これにより、/etc/apt/sources.list.d/kubernetes.listにある既存の設定が上書きされます</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.36/deb/ /&#39;</span> <span class="p">|</span> sudo tee /etc/apt/sources.list.d/kubernetes.list
</span></span><span class="line"><span class="cl">sudo chmod <span class="m">644</span> /etc/apt/sources.list.d/kubernetes.list   <span class="c1"># command-not-foundのようなツールが正しく動作するようにします</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>kubectlを他のマイナーリリースにアップグレードするためには、<code>apt-get update</code>と<code>apt-get upgrade</code>を実行する前に、<code>/etc/apt/sources.list.d/kubernetes.list</code>の中のバージョンを上げる必要があります。
この手順については<a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Changing The Kubernetes Package Repository</a>に詳細が記載されています。</div>
<ol start="4">
<li>
<p><code>apt</code>のパッケージインデックスを更新し、kubectlをインストールしてください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">sudo apt-get update
</span></span><span class="line"><span class="cl">sudo apt-get install -y kubectl
</span></span></code></pre></div></li>
</ol>
</div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-install-1" role="tabpanel" aria-labelledby="tabs-kubectl-install-1-tab" tabindex="kubectl-install"><ol>
<li>
<p>Kubernetesの<code>yum</code>リポジトリを追加してください。
v1.36とは異なるKubernetesバージョンを利用したい場合は、以下のコマンドのv1.36を目的のマイナーバージョンに置き換えてください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># これにより、/etc/yum.repos.d/kubernetes.repoにある既存の設定が上書きされます</span>
</span></span><span class="line"><span class="cl">cat <span class="s">&lt;&lt;EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
</span></span></span><span class="line"><span class="cl"><span class="s">[kubernetes]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Kubernetes
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/
</span></span></span><span class="line"><span class="cl"><span class="s">enabled=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgkey=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/repodata/repomd.xml.key
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>kubectlを他のマイナーリリースにアップグレードするためには、<code>yum update</code>を実行する前に、<code>/etc/yum.repos.d/kubernetes.repo</code>の中のバージョンを上げる必要があります。
この手順については<a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Changing The Kubernetes Package Repository</a>に詳細が記載されています。</div>
<ol start="2">
<li>
<p><code>yum</code>を使用してkubectlをインストールしてください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo yum install -y kubectl
</span></span></code></pre></div></li>
</ol>
</div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-install-2" role="tabpanel" aria-labelledby="tabs-kubectl-install-2-tab" tabindex="kubectl-install"><ol>
<li>
<p>Kubernetesの<code>zypper</code>リポジトリを追加してください。
v1.36とは異なるKubernetesバージョンを利用したい場合は、以下のコマンドのv1.36を目的のマイナーバージョンに置き換えてください。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># これにより、/etc/zypp/repos.d/kubernetes.repoにある既存の設定が上書きされます</span>
</span></span><span class="line"><span class="cl">cat <span class="s">&lt;&lt;EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
</span></span></span><span class="line"><span class="cl"><span class="s">[kubernetes]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Kubernetes
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/
</span></span></span><span class="line"><span class="cl"><span class="s">enabled=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck=1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgkey=https://pkgs.k8s.io/core:/stable:/v1.36/rpm/repodata/repomd.xml.key
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span></code></pre></div></li>
</ol>
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>kubectlを他のマイナーリリースにアップグレードするためには、<code>zypper update</code>を実行する前に、<code>/etc/zypp/repos.d/kubernetes.repo</code>の中のバージョンを上げる必要があります。
この手順については<a href="/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Changing The Kubernetes Package Repository</a>に詳細が記載されています。</div>
<ol start="2">
<li>
<p><code>zypper</code>を更新し、新しいリポジトリの追加を確認してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo zypper update
</span></span></code></pre></div><p>このメッセージが表示されたら、't' または 'a' を押してください:</p>
<pre tabindex="0"><code>New repository or package signing key received:

Repository:       Kubernetes
Key Fingerprint:  1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA
Key Name:         isv:kubernetes OBS Project &lt;isv:kubernetes@build.opensuse.org&gt;
Key Algorithm:    RSA 2048
Key Created:      Thu 25 Aug 2022 01:21:11 PM -03
Key Expires:      Sat 02 Nov 2024 01:21:11 PM -03 (expires in 85 days)
Rpm Name:         gpg-pubkey-9a296436-6307a177

Note: Signing data enables the recipient to verify that no modifications occurred after the data
were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system
and in extreme cases even to a system compromise.

Note: A GPG pubkey is clearly identified by its fingerprint. Do not rely on the key&#39;s name. If
you are not sure whether the presented key is authentic, ask the repository provider or check
their web site. Many providers maintain a web page showing the fingerprints of the GPG keys they
are using.

Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
</code></pre></li>
<li>
<p><code>zypper</code>を使用してkubectlをインストールしてください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo zypper install -y kubectl
</span></span></code></pre></div></li>
</ol>
</div></div>


### 他のパッケージマネージャーを使用してインストールする{#install-using-other-package-management}

<ul class="nav nav-tabs" id="tabs-other-kubectl-install" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-other-kubectl-install-0" role="tab" aria-controls="tabs-other-kubectl-install-0" aria-selected="true">Snap</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-other-kubectl-install-1" role="tab" aria-controls="tabs-other-kubectl-install-1">Homebrew</a></li></ul>

<div class="tab-content" id="tabs-other-kubectl-install-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-other-kubectl-install-0" role="tabpanel" aria-labelledby="tabs-other-kubectl-install-0-tab" tabindex="other-kubectl-install"><p>Ubuntuまたは<a href="https://snapcraft.io/docs/core/install">snap</a>パッケージマネージャーをサポートする別のLinuxディストリビューションを使用している場合、kubectlは<a href="https://snapcraft.io/">snap</a>アプリケーションとして使用できます。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">snap install kubectl --classic
</span></span><span class="line"><span class="cl">kubectl version --client
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-other-kubectl-install-1" role="tabpanel" aria-labelledby="tabs-other-kubectl-install-1-tab" tabindex="other-kubectl-install"><p>Linuxで<a href="https://docs.brew.sh/Homebrew-on-Linux">Homebrew</a>パッケージマネージャーを使用している場合は、kubectlを<a href="https://docs.brew.sh/Homebrew-on-Linux#install">インストール</a>することが可能です。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">brew install kubectl
</span></span><span class="line"><span class="cl">kubectl version --client
</span></span></code></pre></div></div></div>


## kubectlの設定を検証する


	<p>kubectlがKubernetesクラスターを探索し接続するために、<a href="/ja/docs/concepts/configuration/organize-cluster-access-kubeconfig/">kubeconfigファイル</a>が必要です。
これは、<a href="https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh">kube-up.sh</a>によりクラスターを作成した際や、Minikubeクラスターを正常にデプロイした際に自動生成されます。
デフォルトでは、kubectlの設定は<code>~/.kube/config</code>に格納されています。</p>
<p>クラスターの状態を取得し、kubectlが適切に設定されていることを確認してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">kubectl cluster-info
</span></span></code></pre></div><p>URLのレスポンスが表示されている場合は、kubectlはクラスターに接続するよう正しく設定されています。</p>
<p>以下のようなメッセージが表示されている場合は、kubectlは正しく設定されていないか、Kubernetesクラスターに接続できていません。</p>
<pre tabindex="0"><code>The connection to the server &lt;server-name:port&gt; was refused - did you specify the right host or port?
</code></pre><p>たとえば、ラップトップ上(ローカル環境)でKubernetesクラスターを起動するような場合、<a href="https://minikube.sigs.k8s.io/docs/start/">Minikube</a>などのツールを最初にインストールしてから、上記のコマンドを再実行する必要があります。</p>
<p><code>kubectl cluster-info</code>がURLレスポンスを返したにもかかわらずクラスターにアクセスできない場合は、次のコマンドで設定が正しいことを確認してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">kubectl cluster-info dump
</span></span></code></pre></div><h3 id="no-auth-provider-found">エラーメッセージ'No Auth Provider Found'のトラブルシューティング<a class="td-heading-self-link" href="#no-auth-provider-found" aria-label="Heading self-link"></a></h3>
<p>Kubernetes 1.26にて、kubectlは以下のクラウドプロバイダーが提供するマネージドKubernetesのビルトイン認証を削除しました。
これらのプロバイダーは、クラウド固有の認証を提供するkubectlプラグインをリリースしています。
手順については以下のプロバイダーのドキュメントを参照してください:</p>
<ul>
<li>Azure AKS: <a href="https://azure.github.io/kubelogin/">kubelogin plugin</a></li>
<li>Google Kubernetes Engine: <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl?hl=ja#install_plugin">gke-gcloud-auth-plugin</a></li>
</ul>
<p>(この変更とは関係なく、他の理由で同じエラーメッセージが表示される可能性もあります。)</p>


## オプションのkubectlの設定とプラグイン

### シェルの自動補完を有効にする

kubectlはBash、Zsh、Fish、PowerShellの自動補完を提供しています。
これにより、入力を大幅に削減することができます。

以下にBash、Fish、Zshの自動補完の設定手順を示します。

<ul class="nav nav-tabs" id="tabs-kubectl-autocompletion" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-autocompletion-0" role="tab" aria-controls="tabs-kubectl-autocompletion-0" aria-selected="true">Bash</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-autocompletion-1" role="tab" aria-controls="tabs-kubectl-autocompletion-1">Fish</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-autocompletion-2" role="tab" aria-controls="tabs-kubectl-autocompletion-2">Zsh</a></li></ul>

<div class="tab-content" id="tabs-kubectl-autocompletion-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-autocompletion-0" role="tabpanel" aria-labelledby="tabs-kubectl-autocompletion-0-tab" tabindex="kubectl-autocompletion"><h3 id="はじめに">はじめに<a class="td-heading-self-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab" aria-label="Heading self-link"></a></h3>
<p>Bashにおけるkubectlの補完スクリプトは<code>kubectl completion bash</code>コマンドで生成できます。
補完スクリプトをシェル内に読み込ませることでkubectlの自動補完が有効になります。</p>
<p>ただし、補完スクリプトは<a href="https://github.com/scop/bash-completion"><strong>bash-completion</strong></a>に依存しているため、事前にインストールしておく必要があります(<code>type _init_completion</code>を実行することで、bash-completionがすでにインストールされていることを確認できます)。</p>
<h3 id="bash-completionをインストールする">bash-completionをインストールする<a class="td-heading-self-link" href="#bash-completion%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b" aria-label="Heading self-link"></a></h3>
<p>bash-completionは多くのパッケージマネージャーから提供されています(<a href="https://github.com/scop/bash-completion#installation">こちら</a>を参照してください)。
<code>apt-get install bash-completion</code>または<code>yum install bash-completion</code>などでインストールできます。</p>
<p>上記のコマンドでbash-completionの主要スクリプトである<code>/usr/share/bash-completion/bash_completion</code>が作成されます。
パッケージマネージャーによっては、このファイルを<code>~/.bashrc</code>にて手動で読み込ませる必要があります。</p>
<p>これを調べるには、シェルをリロードしてから<code>type _init_completion</code>を実行してください。
コマンドが成功していればすでに設定済みです。そうでなければ、<code>~/.bashrc</code>ファイルに以下を追記してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">source</span> /usr/share/bash-completion/bash_completion
</span></span></code></pre></div><p>シェルをリロードし、<code>type _init_completion</code>を実行してbash-completionが正しくインストールされていることを検証してください。</p>
<h3 id="kubectlの自動補完を有効にする">kubectlの自動補完を有効にする<a class="td-heading-self-link" href="#kubectl%e3%81%ae%e8%87%aa%e5%8b%95%e8%a3%9c%e5%ae%8c%e3%82%92%e6%9c%89%e5%8a%b9%e3%81%ab%e3%81%99%e3%82%8b" aria-label="Heading self-link"></a></h3>
<h4 id="bash">Bash<a class="td-heading-self-link" href="#bash" aria-label="Heading self-link"></a></h4>
<p>次に、kubectl補完スクリプトがすべてのシェルセッションで読み込まれるように設定する必要があります。
これを行うには2つの方法があります:</p>
<ul class="nav nav-tabs" id="tabs-kubectl-bash-autocompletion" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-kubectl-bash-autocompletion-0" role="tab" aria-controls="tabs-kubectl-bash-autocompletion-0" aria-selected="true">ユーザー</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-kubectl-bash-autocompletion-1" role="tab" aria-controls="tabs-kubectl-bash-autocompletion-1">システム</a></li></ul>

<div class="tab-content" id="tabs-kubectl-bash-autocompletion-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-bash-autocompletion-0" role="tabpanel" aria-labelledby="tabs-kubectl-bash-autocompletion-0-tab" tabindex="kubectl-bash-autocompletion"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;source &lt;(kubectl completion bash)&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-bash-autocompletion-1" role="tabpanel" aria-labelledby="tabs-kubectl-bash-autocompletion-1-tab" tabindex="kubectl-bash-autocompletion"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">kubectl completion bash <span class="p">|</span> sudo tee /etc/bash_completion.d/kubectl &gt; /dev/null
</span></span><span class="line"><span class="cl">sudo chmod a+r /etc/bash_completion.d/kubectl
</span></span></code></pre></div></div></div>

<p>kubectlにエイリアスを張っている場合は、エイリアスでも動作するようにシェルの補完を拡張することができます:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;alias k=kubectl&#39;</span> &gt;&gt;~/.bashrc
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;complete -o default -F __start_kubectl k&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div>
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>bash-completionは<code>/etc/bash_completion.d</code>内のすべての補完スクリプトを読み込みます。</div>

<p>どちらも同様の手法です。
シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。
シェルの現在のセッションでbashの自動補完を有効にするには、~/.bashrcを読み込みます:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">source</span> ~/.bashrc
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-autocompletion-1" role="tabpanel" aria-labelledby="tabs-kubectl-autocompletion-1-tab" tabindex="kubectl-autocompletion">
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>Fishに対する自動補完はkubectl 1.23以降が必要です。</div>

<p>Fishにおけるkubectlの補完スクリプトは<code>kubectl completion fish</code>コマンドで生成できます。
補完スクリプトをシェル内に読み込ませることでkubectlの自動補完が有効になります。</p>
<p>すべてのシェルセッションで使用するには、<code>~/.config/fish/config.fish</code>に以下を追記してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">kubectl completion fish <span class="p">|</span> <span class="nb">source</span>
</span></span></code></pre></div><p>シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。</p>
</div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-autocompletion-2" role="tabpanel" aria-labelledby="tabs-kubectl-autocompletion-2-tab" tabindex="kubectl-autocompletion"><p>Zshにおけるkubectlの補完スクリプトは<code>kubectl completion zsh</code>コマンドで生成できます。
補完スクリプトをシェル内に読み込ませることでkubectlの自動補完が有効になります。</p>
<p>すべてのシェルセッションで使用するには、<code>~/.zshrc</code>に以下を追記してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-zsh" data-lang="zsh"><span class="line"><span class="cl"><span class="nb">source</span> &lt;<span class="o">(</span>kubectl completion zsh<span class="o">)</span>
</span></span></code></pre></div><p>kubectlにエイリアスを張っている場合でも、kubectlの自動補完は自動的に機能します。</p>
<p>シェルをリロードしたあとに、kubectlの自動補完が機能するはずです。</p>
<p><code>2: command not found: compdef</code>のようなエラーが出力された場合は、以下を<code>~/.zshrc</code>の先頭に追記してください:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-zsh" data-lang="zsh"><span class="line"><span class="cl">autoload -Uz compinit
</span></span><span class="line"><span class="cl">compinit
</span></span></code></pre></div></div></div>


### kubercを設定する

詳細については、[kuberc](/docs/reference/kubectl/kuberc)を参照してください。

### `kubectl convert`プラグインをインストールする


	<p>異なるAPIバージョン間でマニフェストを変換できる、Kubernetesコマンドラインツール<code>kubectl</code>のプラグインです。
これは特に、新しいKubernetesのリリースで、非推奨ではないAPIバージョンにマニフェストを移行する場合に役に立ちます。
詳細については<a href="/docs/reference/using-api/deprecation-guide/#migrate-to-non-deprecated-apis">非推奨ではないAPIへの移行</a>を参照してください。</p>


1. 次のコマンドを使用して最新リリースをダウンロードしてください:

   <ul class="nav nav-tabs" id="tabs-download-convert-binary-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-convert-binary-linux-0" role="tab" aria-controls="tabs-download-convert-binary-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-convert-binary-linux-1" role="tab" aria-controls="tabs-download-convert-binary-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-convert-binary-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-convert-binary-linux-0" role="tabpanel" aria-labelledby="tabs-download-convert-binary-linux-0-tab" tabindex="download-convert-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl-convert&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-convert-binary-linux-1" role="tabpanel" aria-labelledby="tabs-download-convert-binary-linux-1-tab" tabindex="download-convert-binary-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl-convert&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div></div>


1. バイナリを検証してください(オプション)

   kubectl-convertのチェックサムファイルをダウンロードします:

   <ul class="nav nav-tabs" id="tabs-download-convert-checksum-linux" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-download-convert-checksum-linux-0" role="tab" aria-controls="tabs-download-convert-checksum-linux-0" aria-selected="true">x86-64</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-download-convert-checksum-linux-1" role="tab" aria-controls="tabs-download-convert-checksum-linux-1">ARM64</a></li></ul>

<div class="tab-content" id="tabs-download-convert-checksum-linux-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-download-convert-checksum-linux-0" role="tabpanel" aria-labelledby="tabs-download-convert-checksum-linux-0-tab" tabindex="download-convert-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/amd64/kubectl-convert.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-download-convert-checksum-linux-1" role="tabpanel" aria-labelledby="tabs-download-convert-checksum-linux-1-tab" tabindex="download-convert-checksum-linux"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   curl -LO <span class="s2">&#34;https://dl.k8s.io/release/</span><span class="k">$(</span>curl -L -s https://dl.k8s.io/release/stable.txt<span class="k">)</span><span class="s2">/bin/linux/arm64/kubectl-convert.sha256&#34;</span>
</span></span><span class="line"><span class="cl">   </span></span></code></pre></div></div></div>


   チェックサムファイルに対してkubectl-convertバイナリを検証します:

   ```bash
   echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
   ```

   正しければ、出力は次のようになります:

   ```console
   kubectl-convert: OK
   ```

   チェックに失敗すると、`sha256`は0以外のステータスで終了し、次のような出力を表示します:

   ```console
   kubectl-convert: FAILED
   sha256sum: WARNING: 1 computed checksum did NOT match
   ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">備考:</h4>同じバージョンのバイナリとチェックサムをダウンロードしてください。</div>


1. kubectl-convertをインストールしてください

   ```bash
   sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
   ```

1. プラグインが正常にインストールできたことを確認してください

   ```shell
   kubectl convert --help
   ```

   何もエラーが表示されない場合は、プラグインが正常にインストールされたことを示しています。

1. プラグインのインストール後、インストールファイルを削除してください:

   ```bash
   rm kubectl-convert kubectl-convert.sha256
   ```

## 次の項目


	<ul>
<li><a href="https://minikube.sigs.k8s.io/docs/start/">Minikubeをインストールする</a></li>
<li>クラスターの作成に関する詳細を<a href="/ja/docs/setup/">スタートガイド</a>で確認する。</li>
<li><a href="/ja/docs/tasks/access-application-cluster/service-access-application-cluster/">アプリケーションを起動して公開する方法を学ぶ。</a></li>
<li>あなたが作成していないクラスターにアクセスする必要がある場合は、<a href="/ja/docs/tasks/access-application-cluster/configure-access-multiple-clusters/">クラスターアクセスドキュメントの共有</a>を参照してください。</li>
<li><a href="/docs/reference/kubectl/kubectl/">kubectlリファレンスドキュメント</a>を参照する</li>
</ul>
