# Встановлення та налаштування kubectl у Linux

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

---

## Перш ніж ви розпочнете

Вам потрібно використовувати версію kubectl, яка має мінорну версію що відрізняється не більше ніж на одиницю від мінорної версії вашого кластера. Наприклад, клієнт v1.36 може співпрацювати з панелями управління v1.35, v1.36 та v1.37. Використання останньої сумісної версії kubectl допомагає уникнути непередбачуваних проблем.

## Встановлення kubectl у Linux {#install-kubectl-on-linux}

Існують наступні методи встановлення kubectl у Linux:

- [Встановлення бінарного файлу kubectl за допомогою curl у Linux](#install-kubectl-binary-with-curl-on-linux)
- [Встановлення за допомогою стандартного пакетного менеджера](#install-using-native-package-management)
- [Встановлення за допомогою іншого пакетного менеджера](#install-using-other-package-management)

### Встановлення бінарного файлу kubectl за допомогою curl у Linux {#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>Наприклад, щоб завантажити версію 1.36.0 у Linux x86-64, введіть:</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>


2. Перевірте бінарний файл (опційно)

   Завантажте файл хеш-суми 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` поверне ненульовий статус і виведе повідомлення подібне до:

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

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4>Завантажте ту ж версію бінарного файлу та файлу хеш-суми.</div>


3. Встановіть 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>Якщо у вас немає прав root на цільовій системі, все одно можна встановити
kubectl у тека <code>~/.local/bin</code>:</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>


4. Перевірте, щоб переконатися, що встановлена вами версія є актуальною:

   ```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> та встановіть пакунки, необхідні для використання репозиторію <code>apt</code> Kubernetes:</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 читати цей ключ</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>. Якщо ви хочете використовувати версію Kubernetes, відмінну від v1.36, замініть 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>/etc/apt/sources.list.d/kubernetes.list</code> перед виконанням <code>apt-get update</code> та <code>apt-get upgrade</code>. Цю процедуру більш докладно описано в <a href="/uk/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Зміні репозиторію пакунків Kubernetes</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>. Якщо ви хочете використовувати версію Kubernetes, відмінну від v1.36, замініть 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>/etc/yum.repos.d/kubernetes.repo</code> перед виконанням <code>yum update</code>. Цю процедуру більш докладно описано в <a href="/uk/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Зміні репозиторію пакунків Kubernetes</a>.</div>
<ol start="2">
<li>
<p>Встановіть kubectl за допомогою <code>yum</code>:</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>. Якщо ви хочете використовувати версію Kubernetes, відмінну від v1.36, замініть 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>/etc/zypp/repos.d/kubernetes.repo</code> перед виконанням <code>zypper update</code>. Цю процедуру більш докладно описано в
<a href="/uk/docs/tasks/administer-cluster/kubeadm/change-package-repository/">Зміні репозиторію пакунків Kubernetes</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 class="language-сonsole" data-lang="сonsole">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>kubectl</code>, використовуючи <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 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 або іншим дистрибутивом Linux, який підтримує менеджер пакунків <a href="https://snapcraft.io/docs/core/install">snap</a>, 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 {#verify-kubectl-configuration}


	<p>Щоб kubectl знайшов та отримав доступ до кластера Kubernetes, вам потрібен
<a href="/uk/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>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-console" data-lang="console"><span class="line"><span class="cl"><span class="go">The connection to the server &lt;server-name:port&gt; was refused - did you specify the right host or port?
</span></span></span></code></pre></div><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#install_plugin">gke-gcloud-auth-plugin</a></li>
</ul>
<p>Також можуть бути інші причини для показу цього повідомлення про помилку, не повʼязані з цією зміною.</p>


## Необовʼязкові налаштування та втулки kubectl {#optional-kubectl-configurations-and-plugins}

### Увімкнення функціонала автодоповнення оболонки {#enable-shell-autocompletion}

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="introduction">Вступ<a class="td-heading-self-link" href="#introduction" aria-label="Heading self-link"></a></h3>
<p>Сценарій автодоповнення kubectl для Bash може бути створений за допомогою команди <code>kubectl completion bash</code>. Підключення цього сценарію у вашій оболонці дозволить вам мати автодоповнення для kubectl.</p>
<p>Однак сценарій залежить від <a href="https://github.com/scop/bash-completion"><strong>bash-completion</strong></a>, що означає, що спочатку вам потрібно встановити цей скрипт (ви можете перевірити, чи вже встановлено bash-completion, виконавши команду <code>type _init_completion</code>).</p>
<h3 id="install-bash-completion">Встановлення bash-completion<a class="td-heading-self-link" href="#install-bash-completion" 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>Вищевказані команди створюють <code>/usr/share/bash-completion/bash_completion</code>, який є основним сценарієм bash-completion. Залежно від вашого менеджера пакунків, вам доведеться вручну додати цей файл у ваш <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>Перезавантажте вашу оболонку і перевірте, чи bash-completion правильно встановлено, ввівши <code>type _init_completion</code>.</p>
<h3 id="enable-kubectl-autocompletion">Увімкнення автодоповнення kubectl<a class="td-heading-self-link" href="#enable-kubectl-autocompletion" 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 підключений у всіх ваших сеансах оболонки. Є два способи, якими це можна зробити:</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>Сценарій автозавершення kubectl для Fish може бути створений за допомогою команди <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>Сценарій автозавершення kubectl для Zsh може бути створений за допомогою команди <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 {#configure-kuberc}

Дивіться [kuberc](/docs/reference/kubectl/kuberc) для отримання докладної інформації.

### Встановлення втулка `kubectl convert` {#install-kubectl-convert-plugin}


	<p>Втулок для командного рядка Kubernetes <code>kubectl</code>, який дозволяє конвертувати маніфести між різними версіями API. Це може бути особливо корисно для міграції маніфестів до версій API, які все ще є актуальними, на новіші випуски Kubernetes. Для отримання додаткової інформації відвідайте <a href="/uk/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` виходить з ненульовим статусом і виводить подібне повідомлення:

   ```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="/uk/docs/concepts/overview/kubectl/">kubectl</a> та його роллю в екосистемі Kubernetes.</li>
<li><a href="https://minikube.sigs.k8s.io/docs/start/">Встановіть Minikube</a></li>
<li>Дивіться <a href="/uk/docs/setup/">посібники для початку роботи</a> для отримання докладнішої інформації про створення кластерів.</li>
<li><a href="/uk/docs/tasks/access-application-cluster/service-access-application-cluster/">Дізнайтеся, як запускати та розгортати свій застосунок.</a></li>
<li>Якщо вам потрібен доступ до кластера, який ви не створювали, перегляньте документ <a href="/uk/docs/tasks/access-application-cluster/configure-access-multiple-clusters/">Спільний доступ до кластера</a>.</li>
<li>Прочитайте <a href="/uk/docs/reference/kubectl/kubectl/">документацію посилання на kubectl</a></li>
</ul>
