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

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

---

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

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

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

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

- [Встановлення бінарника kubectl у Windows (за допомогою прямого завантаження або за допомогою curl)](#install-kubectl-binary-on-windows-via-direct-download-or-curl)
- [Встановлення за допомогою Chocolatey, Scoop або winget у Windows](#install-nonstandard-package-tools)

### Встановлення бінарника kubectl у Windows (за допомогою прямого завантаження або за допомогою curl) {#install-kubectl-binary-on-windows-via-direct-download-or-curl}

1. У вас є два варіанти встановлення kubectl на вашому пристрої з Windows

   - Безпосереднє завантаження:

     Завантажте останню версію 1.36 патчу безпосередньо для вашої архітектури, відвідавши [сторінку випуску Kubernetes](https://kubernetes.io/releases/download/#binaries). Переконайтеся, що вибрано правильний двійковий файл для вашої архітектури (наприклад, amd64, arm64 тощо).

   - Використовуючи curl

     Або, якщо у вас встановлено `curl`, використовуйте цю команду:

     ```powershell
     curl.exe -LO "https://dl.k8s.io/release/v1.36.0/bin/windows/amd64/kubectl.exe"
     ```

   
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4>Щоб дізнатися останню стабільну версію (наприклад, для скриптів), перегляньте <a href="https://dl.k8s.io/release/stable.txt">https://dl.k8s.io/release/stable.txt</a>.</div>


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

   Завантажте файл контрольної суми для `kubectl`:

   ```powershell
   curl.exe -LO "https://dl.k8s.io/v1.36.0/bin/windows/amd64/kubectl.exe.sha256"
   ```

   Перевірте бінарний файл `kubectl` за допомогою файлу контрольної суми:

   - Використовуючи командний рядок для ручного порівняння виводу `CertUtil` з завантаженим файлом контрольної суми:

     ```cmd
     CertUtil -hashfile kubectl.exe SHA256
     type kubectl.exe.sha256
     ```

   - Використовуючи PowerShell для автоматизації перевірки за допомогою оператора `-eq` для отримання результату `True` або `False`:

     ```powershell
      $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
     ```

3. Додайте на початок чи в кінець змінної середовища `PATH` шлях до теки з `kubectl`.

4. Перевірте, що версія `kubectl` збігається з завантаженою:

   ```cmd
   kubectl version --client
   ```

   Або використайте це для детального перегляду версії:

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


<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4><a href="https://docs.docker.com/docker-for-windows/#kubernetes">Docker Desktop for Windows</a> додає свою власну версію <code>kubectl</code> до <code>PATH</code>. Якщо ви вже встановили Docker Desktop раніше, можливо, вам потрібно розмістити свій шлях в <code>PATH</code> перед тим, який додається інсталятором Docker Desktop, або видалити <code>kubectl</code> Docker Desktop.</div>


### Встановлення на Windows за допомогою Chocolatey, Scoop або winget {#install-nonstandard-package-tools}

1. Для встановлення kubectl у Windows ви можете використовувати пакетний менеджер [Chocolatey](https://chocolatey.org), командний інсталятор [Scoop](https://scoop.sh), або менеджер пакунків [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/).

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

<div class="tab-content" id="tabs-kubectl-win-install-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-kubectl-win-install-0" role="tabpanel" aria-labelledby="tabs-kubectl-win-install-0-tab" tabindex="kubectl-win-install"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">choco</span> <span class="n">install</span> <span class="nb">kubernetes-cli</span>
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-win-install-1" role="tabpanel" aria-labelledby="tabs-kubectl-win-install-1-tab" tabindex="kubectl-win-install"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">scoop</span> <span class="n">install</span> <span class="n">kubectl</span>
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-kubectl-win-install-2" role="tabpanel" aria-labelledby="tabs-kubectl-win-install-2-tab" tabindex="kubectl-win-install"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">winget</span> <span class="n">install</span> <span class="n">-e</span> <span class="p">-</span><span class="n">-id</span> <span class="n">Kubernetes</span><span class="p">.</span><span class="py">kubectl</span>
</span></span></code></pre></div></div></div>


1. Перевірте, що встановлена версія оновлена:

   ```powershell
   kubectl version --client
   ```

1. Перейдіть до вашої домашньої теки:

   ```powershell
   # Якщо ви використовуєте cmd.exe, виконайте: cd %USERPROFILE%
   cd ~
   ```

1. Створіть теку `.kube`:

   ```powershell
   mkdir .kube
   ```

1. Перейдіть до теки `.kube`, що ви щойно створили:

   ```powershell
   cd .kube
   ```

1. Налаштуйте kubectl для використання віддаленого кластера Kubernetes:

   ```powershell
   New-Item config -type file
   ```


<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4>Редагуйте файл конфігурації за допомогою текстового редактора на ваш вибір, наприклад, Notepad.</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, що може значно зекономити ваш час при введенні команд.

Нижче подані процедури для налаштування автодоповнення для PowerShell.


	<p>Скрипт автодоповнення для kubectl в PowerShell можна згенерувати командою <code>kubectl completion powershell</code>.</p>
<p>Для того, щоб це працювало у всіх сесіях вашої оболонки, додайте наступний рядок до вашого файлу <code>$PROFILE</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">kubectl</span> <span class="n">completion</span> <span class="n">powershell</span> <span class="p">|</span> <span class="nb">Out-String</span> <span class="p">|</span> <span class="nb">Invoke-Expression</span>
</span></span></code></pre></div><p>Ця команда буде генерувати скрипт автодоповнення при кожному запуску PowerShell. Ви також можете додати згенерований скрипт безпосередньо до вашого файлу <code>$PROFILE</code>.</p>
<p>Щоб додати згенерований скрипт до вашого файлу <code>$PROFILE</code>, виконайте наступний рядок у вашому PowerShell:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="n">kubectl</span> <span class="n">completion</span> <span class="n">powershell</span> <span class="p">&gt;&gt;</span> <span class="nv">$PROFILE</span>
</span></span></code></pre></div><p>Після перезавантаження вашої оболонки автодоповнення для kubectl має працювати.</p>


### Налаштування 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. Завантажте останній випуск команди:

   ```powershell
   curl.exe -LO "https://dl.k8s.io/v1.36.0/bin/windows/amd64/kubectl-convert.exe"
   ```

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

   Завантажте файл контрольної суми для `kubectl-convert`:

   ```powershell
   curl.exe -LO "https://dl.k8s.io/v1.36.0/bin/windows/amd64/kubectl-convert.exe.sha256"
   ```

   Перевірте бінарний файл `kubectl-convert` за допомогою файлу контрольної суми:

   - Використовуючи командний рядок для ручного порівняння виводу `CertUtil` з завантаженим файлом контрольної суми:

     ```cmd
     CertUtil -hashfile kubectl-convert.exe SHA256
     type kubectl-convert.exe.sha256
     ```

   - Використовуючи PowerShell для автоматизації перевірки за допомогою оператора `-eq` для отримання результату `True` або `False`:

     ```powershell
      $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
     ```

3. Додайте на початок чи в кінець змінної середовища `PATH` шлях до теки з `kubectl-convert`.

4. Перевірте, що версія `kubectl-convert` збігається з завантаженою:

   ```cmd
   kubectl-convert version
   ```

   Або використайте це для детального перегляду версії:

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

5. Після встановлення втулка, вилучіть інсталяційні файли:

   ```powershell
   Remove-Item kubectl-convert.exe
   Remove-Item kubectl-convert.exe.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>
