> For the complete documentation index, see [llms.txt](https://utm-1.gitbook.io/utm-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-razrabotchika/kubectl.md).

# kubectl

## Ссылки

## Установка kubectl

Есть несколько вариантов установки kubectl на ваше устройство Windows:

* O:\Дистрибутивы\Kubernetes\kubectl
* Прямая загрузка:

  Загрузите последний двоичный файл патча версии 1.34 непосредственно для вашей архитектуры, посетив [страницу релиза Kubernetes](https://kubernetes.io/releases/download/#binaries) . Убедитесь, что вы выбрали правильный двоичный файл для вашей архитектуры (например, amd64, arm64 и т. д.).
* Использование curl:

  Если у вас `curl`установлено, используйте эту команду:

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

**Примечание:**

Чтобы узнать последнюю стабильную версию (например, для написания скриптов), посетите <https://dl.k8s.io/release/stable.txt> .

Скопируйте файл `kubectl.exe` в папку `C:\Windows\System32`

**Добавьте** или передпишите `kubectl`двоичную папку к `PATH`переменной среды, если файл скопирован в другую папку.

**Проверьте**, `kubectl`соответствует ли версия загруженной версии:

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

Или используйте это для подробного просмотра версии:

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

**Примечание:**

[Docker Desktop для Windows](https://docs.docker.com/docker-for-windows/#kubernetes) добавляет собственную версию в `kubectl`. `PATH`Если вы уже устанавливали Docker Desktop, вам может потребоваться поместить свою `PATH`запись перед той, которая добавлена ​​установщиком Docker Desktop, или удалить `kubectl`.

## Настройка kubectl

<https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/>

Проверьте правильность настройки kubectl, получив состояние кластера:

```shell
kubectl cluster-info
```

Если вы видите ответ URL, kubectl правильно настроен для доступа к вашему кластеру.

Если вы видите сообщение, похожее на следующее, kubectl настроен неправильно или не может подключиться к кластеру Kubernetes.

```
The connection to the server <server-name:port> was refused - did you specify the right host or port?
```

Для настройки kubectl для подключения к кластеру понадобиться файл [admin.conf](#predvaritelnaya-podgotovka).

ВАЖНО! В Windows по умолчанию без перенастройки контекстов в kubectl файл конфигурации должен называться config (без расширения). Поэтому файл admin.conf необходимо переименовать в config.

Файл admin.conf должен располагаться в скрытой директории `.kube`, которая расположена в домашней директории пользователя.

Чтобы скопировать (с переименование в config) конфигурационный файл в домашний каталог пользователя в подкаталог .kube, необходимо выполнить команду через PowerShell:

```bash
mkdir -p $home\.kube
copy -i $home\.kube\tmp\admin.conf $home\.kube\config

# От сюда
copy -i O:\Документы\Максим\_Settings\k8s_secrets\kuberconfig\maxim-all-contexts $home\.kube\config
```

### Включить автодополнение оболочки <a href="#enable-shell-autocompletion" id="enable-shell-autocompletion"></a>

<https://www.viatesting.com/how-to-setup-kubectl-autocomplete-in-windows/>

#### Шаги

**1. Откройте PowerShell .**

Нажмите **Win + x** и выберите «Windows PowerShell» или «Windows PowerShell (Администратор)».

**2. Установите скрипт автозаполнения kubectl**

Выполните следующие команды в сеансе PowerShell, чтобы включить автодополнение kubectl:

```
kubectl completion powershell | Out-String | Invoke-Expression
```

**3. Сохраните скрипт автодополнения.**

Чтобы скрипт автодополнения запускался в каждом новом сеансе PowerShell, добавьте его в свой профиль PowerShell. Профиль PowerShell — это скрипт, который запускается при каждом запуске PowerShell.

Чтобы найти местоположение скрипта профиля PowerShell, выполните:

```
$PROFILE
```

Если профиль отсутствует, его необходимо создать. Для этого выполните:

```
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
```

Откройте скрипт профиля PowerShell в текстовом редакторе:

```
notepad $PROFILE
```

Добавьте следующую строку в скрипт профиля и сохраните файл:

```
kubectl completion powershell | Out-String | Invoke-Expression
```

**4. Перезагрузите свой профиль PowerShell.**

После сохранения изменений перезагрузите свой профиль, выполнив:

```
. $PROFILE
```

Если после перезапуска PowerShell будет выскакивать ошибка о невозможности запустить скрипт, то необходимо настроить разрешение на запуск скриптов. Для этого нужно открыть PowerShell в режиме администратора и выполнить команду `Set-ExecutionPolicy RemoteSigned`

#### Проверка

Чтобы проверить работу автодополнения, начните вводить команду **kubectl** и нажмите **Tab** , чтобы увидеть, предлагаются ли варианты дополнения. Например, введите **kubectl get po** и нажмите **Tab** , чтобы автодополнить слово **pods** .

Вот и всё! Вы успешно настроили **автодополнение kubectl** в PowerShell на Windows.

### Настройка алиаса k для kubectl

Через PowerShell.

```powershell
Set-Alias -Name k -Value kubectl
```

**Важно**: алиас будет работать только в текущей сессии PowerShell — после закрытия и повторного открытия PowerShell или открытия нового терминала алиас не будет работать.

Чтобы настроить его постоянно, нужно добавить команду в профиль PowerShell. Для этого нужно:

Проверить местоположение профиля PowerShell с помощью команды&#x20;

```
$PROFILE
```

Если профиль отсутствует, его необходимо создать. Для этого выполните:

```
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
```

Откройте скрипт профиля PowerShell в текстовом редакторе:

```
notepad $PROFILE
```

Добавьте следующую строку в скрипт профиля и сохраните файл:

```powershell
Set-Alias -Name k -Value kubectl
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-razrabotchika/kubectl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
