# Установка и настройка kubectl

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

---

<!-- overview -->
Инструмент командной строки Kubernetes [kubectl](/ru/docs/reference/kubectl/kubectl/) позволяет запускать команды для кластеров Kubernetes. Вы можете использовать kubectl для развертывания приложений, проверки и управления ресурсов кластера, а также для просмотра логов. Полный список возможных операций для kubectl смотрите в [Обзоре kubectl](/ru/docs/reference/kubectl/overview/).


## Подготовка к работе

Используемая вами мажорная версия kubectl не должна отличаться от той, которая используется в кластере. Например, версия v1.2 может работать с версиями v1.1, v1.2 и v1.3. Использование последней версии kubectl поможет избежать непредвиденных проблем.


<!-- steps -->

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

### Установка бинарного файла kubectl с помощью curl в Linux

1. Загрузите последнюю версию с помощью команды:

    ```
    curl -LO https://dl.k8s.io/release/`curl -LS https://dl.k8s.io/release/stable.txt`/bin/linux/amd64/kubectl
    ```

    Чтобы загрузить определенную версию, вставьте в фрагмент команды `$(curl -LS https://dl.k8s.io/release/stable.txt)` нужную версию.

    Например, команда загрузки версии 1.36.0 для Linux будет выглядеть следующим образом:

    ```
    curl -LO https://dl.k8s.io/release/v1.36.0/bin/linux/amd64/kubectl
    ```

1. Сделайте бинарный файл kubectl исполняемым:

    ```
    chmod +x ./kubectl
    ```

1. Переместите бинарный файл в директорию из переменной окружения PATH:

    ```
    sudo mv ./kubectl /usr/local/bin/kubectl
    ```
1. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

### Установка с помощью встроенного пакетного менеджера

<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">Ubuntu, Debian или HypriotOS</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">CentOS, RHEL или Fedora</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"><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">sudo apt-get update <span class="o">&amp;&amp;</span> sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
</span></span><span class="line"><span class="cl">sudo mkdir -p -m <span class="m">755</span> /etc/apt/keyrings
</span></span><span class="line"><span class="cl">curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/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></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.33/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></span><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></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"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><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.33/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.33/rpm/repodata/repomd.xml.key
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span><span class="line"><span class="cl">sudo yum install -y kubectl
</span></span></code></pre></div></div></div>


### Установка с помощью стороннего пакетного менеджера

<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">
</span></span><span class="line"><span class="cl">kubectl version
</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">
</span></span><span class="line"><span class="cl">kubectl version
</span></span></code></pre></div></div></div>


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

### Установка бинарного файла kubectl с помощью curl в macOS

1. Загрузите последнюю версию:

    ```
    curl -LO "https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
    ```

    Чтобы загрузить определенную версию, вставьте в фрагмент команды `$(curl -LS https://dl.k8s.io/release/stable.txt)` нужную версию.

    Например, команда загрузки версии 1.36.0 для macOS будет выглядеть следующим образом:

    ```
    curl -LO https://dl.k8s.io/release/v1.36.0/bin/darwin/amd64/kubectl
    ```

2. Сделайте бинарный файл kubectl исполняемым:

    ```
    chmod +x ./kubectl
    ```

3. Переместите бинарный файл в директорию из переменной окружения PATH:

    ```
    sudo mv ./kubectl /usr/local/bin/kubectl
    ```

4. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

### Установка с помощью Homebrew в macOS

Если вы используете macOS и [Homebrew](https://brew.sh/), то kubectl можно установить с помощью пакетного менеджера Homebrew.

1. Выполните команду установки:

    ```
    brew install kubectl
    ```

    Или:

    ```
    brew install kubernetes-cli
    ```

2. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

### Установка с помощью Macports в macOS

Если вы используйте macOS и [Macports](https://macports.org/), то kubectl можно установить с помощью пакетного менеджера Macports.

1. Выполните команду установки:

    ```
    sudo port selfupdate
    sudo port install kubectl
    ```

2. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

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

### Установка бинарного файла kubectl с помощью curl в Windows

1. Загрузите последнюю версию 1.36.0 по [этой ссылке](https://dl.k8s.io/release/v1.36.0/bin/windows/amd64/kubectl.exe).

    Либо, если у вас установлен `curl`, выполните команду ниже:

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

    Последнюю стабильную версию (например, при написании скриптов) вы можете узнать из файла по ссылке [https://dl.k8s.io/release/stable.txt](https://dl.k8s.io/release/stable.txt).

2. Переместите бинарный файл в директорию из переменной окружения PATH:
3. Убедитесь, что версия `kubectl` соответствует загружённой:

    ```
    kubectl version --client
    ```

<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, вам придётся поместить путь к установленному бинарному файлу перед записью, добавленной установщиком Docker Desktop, либо же удалить вовсе <code>kubectl</code>, поставляемый вместе с Docker Desktop.</div>


### Установка с помощью Powershell из PSGallery

Если вы работаете в Windows и используете менеджер пакетов [Powershell Gallery](https://www.powershellgallery.com/), вы можете установить и обновить kubectl с помощью Powershell.

1. Выполните команды по установке (обязательно укажите `DownloadLocation`):

    ```
    Install-Script -Name install-kubectl -Scope CurrentUser -Force
    install-kubectl.ps1 [-DownloadLocation <path>]
    ```

    
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примечание:</h4>Если вы не укажете <code>DownloadLocation</code>, то <code>kubectl</code> будет установлен во временную директорию пользователя.</div>


    Установщик создаст `$HOME/.kube` вместе с конфигурационным файлом.

2. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

    
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примечание:</h4>Обновить kubectl можно путём выполнения двух команд, перечисленных в шаге 1.</div>


### Установка в Windows с помощью Chocolatey или Scoop

Для установки kubectl в Windows вы можете использовать либо менеджер пакетов [Chocolatey](https://chocolatey.org), либо установщик в командной строке [Scoop](https://scoop.sh).

<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></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"><pre><code>choco install kubernetes-cli
</code></pre>
</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"><pre><code>scoop install kubectl
</code></pre>
</div></div>


1. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

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

    ```
    cd %USERPROFILE%
    ```

1. Создайте директорию `.kube`:

    ```
    mkdir .kube
    ```

1. Перейдите в созданную только что директорию `.kube`:

    ```
    cd .kube
    ```

1. Настройте kubectl, чтобы было возможно использовать удаленный кластер Kubernetes:

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

    
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примечание:</h4>Отредактируйте конфигурационный файл, используя ваш любимый текстовый редактор или обычный Notepad.</div>


## Установка kubectl из SDK Google Cloud

Вы можете использовать kubectl из SDK Google Cloud, который использует этот CLI-инструмент.

1. Установите [Google Cloud SDK](https://cloud.google.com/sdk/).
2. Выполните команду для установки `kubectl`:

    ```
    gcloud components install kubectl
    ```

3. Убедитесь, что установлена последняя версия:

    ```
    kubectl version --client
    ```

## Проверка конфигурации kubectl

Чтобы kubectl мог найти и получить доступ к кластеру Kubernetes, нужен [файл kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/), который создаётся автоматически при создании кластера с помощью скрипта [kube-up.sh](https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh) или при успешном развертывании кластера Minikube. По умолчанию конфигурация kubectl находится в `~/.kube/config`.

Посмотрите на состояние кластера, чтобы убедиться, что kubectl правильно сконфигурирован:

```shell
kubectl cluster-info
```

Если вы видите URL в ответ, значит kubectl корректно настроен для работы с вашим кластером.

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

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

Например, если вы собираетесь запустить кластер Kubernetes на своем ноутбуке (локально), вам потребуется сначала установить специальный для этого инструмент, например Minikube, а затем снова выполнить указанные выше команды.

Если команда `kubectl cluster-info` возвращает URL в ответ, но вы не можете подключиться к своему кластеру, чтобы убедиться, что он правильно настроен, воспользуйтесь этой командой:

```shell
kubectl cluster-info dump
```

## Дополнительная конфигурация kubectl

### Включение автодополнения ввода shell

kubectl поддерживает автодополнение (автозаполнение) ввода в Bash и Zsh, которое сэкономит вам много времени на набор команд.

Ниже приведены инструкции по настройке автодополнения для Bash (для Linux и macOS) и 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 в Linux</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">Bash в macOS</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="#%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%bd%d1%8b%d0%b5-%d1%81%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d1%8f" 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>, поэтому вам нужно сначала установить этот пакет (вы можете выполнить команду <code>type _init_completion</code>, чтобы проверить, установлен ли у вас уже bash-completion).</p>
<h3 id="установка-bash-completion">Установка bash-completion<a class="td-heading-self-link" href="#%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-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-shell" data-lang="shell"><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="включение-автодополнения-ввода-kubectl">Включение автодополнения ввода kubectl<a class="td-heading-self-link" href="#%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b0%d0%b2%d1%82%d0%be%d0%b4%d0%be%d0%bf%d0%be%d0%bb%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b2%d0%b2%d0%be%d0%b4%d0%b0-kubectl" aria-label="Heading self-link"></a></h3>
<p>Теперь нужно убедиться, что скрипт дополнения ввода kubectl выполняется во всех сессиях командной оболочки. Есть два способа сделать это:</p>
<ul>
<li>
<p>Добавьте запуск скрипта дополнения ввода в файл <code>~/.bashrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><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></li>
<li>
<p>Добавьте скрипт дополнения ввода в директорию <code>/etc/bash_completion.d</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 bash &gt;/etc/bash_completion.d/kubectl
</span></span></code></pre></div></li>
<li>
<p>Если у вас определён псевдоним для kubectl, вы можете интегрировать его с автодополнением оболочки:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><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 -F __start_kubectl k&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div></li>
</ul>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примечание:</h4>Все скрипты дополнения ввода bash-completion находятся в <code>/etc/bash_completion.d</code>.</div>
<p>Оба подхода эквивалентны. После перезагрузки вашей оболочки автодополнение ввода для kubectl должно работать.</p>
</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"><h3 id="основные-сведения">Основные сведения<a class="td-heading-self-link" href="#%d0%be%d1%81%d0%bd%d0%be%d0%b2%d0%bd%d1%8b%d0%b5-%d1%81%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d1%8f" aria-label="Heading self-link"></a></h3>
<p>Скрипт дополнения ввода kubectl для Bash может быть сгенерирован с помощью команды <code>kubectl completion bash</code>. Подключение скрипта дополнения ввода в вашей оболочке включает поддержку автозаполнения ввода для kubectl.</p>
<p>Однако скрипт дополнения ввода kubectl зависит от пакета <a href="https://github.com/scop/bash-completion"><strong>bash-completion</strong></a>, который первым делом нужно установить.</p>
<div class="alert alert-danger" role="note"><h4 class="alert-heading">Предупреждение:</h4>Есть две версии bash-completion: первая (v1) и вторая (v2). Первая предназначена для Bash 3.2 (который используется по умолчанию в macOS), а вторая — для Bash 4.1+. Скрипт дополнения ввода kubectl <strong>не работает</strong> корректно с bash-completion v1 и Bash 3.2. Требуется <strong>bash-completion v2</strong> и <strong>Bash 4.1+</strong>. Таким образом, чтобы правильно использовать дополнение kubectl в macOS, вам нужно установить и использовать Bash 4.1+ (<a href="https://apple.stackexchange.com/a/292760"><em>инструкции по обновлению</em></a>). Последующие шаги предполагают, что вы используете Bash 4.1+ (то есть любую версию Bash 4.1 или более новую).</div>
<h3 id="установка-bash-completion">Установка bash-completion<a class="td-heading-self-link" href="#%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-bash-completion" aria-label="Heading self-link"></a></h3>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примечание:</h4>Как уже упоминалось, в этих инструкциях предполагается, что вы используете Bash 4.1+, поэтому вы устанавливаете bash-completion v2 (а не Bash 3.2 и bash-completion v1, в таком случае дополнение ввода kubectl не будет работать).</div>
<p>Вы можете проверить, установлен ли у вас bash-completion v2, набрав команду <code>type _init_completion</code>. Если он не установлен, вы можете сделать это с помощью Homebrew:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">brew install bash-completion@2
</span></span></code></pre></div><p>Как указано в выводе этой команды, добавьте следующий код в файл <code>~/.bashrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">BASH_COMPLETION_COMPAT_DIR</span><span class="o">=</span><span class="s2">&#34;/usr/local/etc/bash_completion.d&#34;</span>
</span></span><span class="line"><span class="cl"><span class="o">[[</span> -r <span class="s2">&#34;/usr/local/etc/profile.d/bash_completion.sh&#34;</span> <span class="o">]]</span> <span class="o">&amp;&amp;</span> . <span class="s2">&#34;/usr/local/etc/profile.d/bash_completion.sh&#34;</span>
</span></span></code></pre></div><p>Перезагрузите вашу командную оболочку и убедитесь, что bash-completion v2 корректно установлен, выполнив команду <code>type _init_completion</code>.</p>
<h3 id="включение-автодополнения-ввода-kubectl">Включение автодополнения ввода kubectl<a class="td-heading-self-link" href="#%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b0%d0%b2%d1%82%d0%be%d0%b4%d0%be%d0%bf%d0%be%d0%bb%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b2%d0%b2%d0%be%d0%b4%d0%b0-kubectl" aria-label="Heading self-link"></a></h3>
<p>Теперь нужно убедиться, что скрипт дополнения ввода kubectl выполняется во всех сессиях командной оболочки. Есть два способа сделать это:</p>
<ul>
<li>
<p>Добавьте запуск скрипта дополнения ввода в файл <code>~/.bashrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><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></li>
<li>
<p>Добавьте скрипт дополнения ввода в директорию <code>/etc/bash_completion.d</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 bash &gt;/usr/local/etc/bash_completion.d/kubectl
</span></span></code></pre></div></li>
<li>
<p>Если у вас определён псевдоним для kubectl, вы можете интегрировать его с автодополнением оболочки:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><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 -F __start_kubectl k&#39;</span> &gt;&gt;~/.bashrc
</span></span></code></pre></div></li>
</ul>
<p>Если вы установили kubectl с помощью Homebrew (как описано <a href="#install-with-homebrew-on-macos">выше</a>), то скрипт дополнения ввода kubectl уже должен быть находится в <code>/usr/local/etc/bash_completion.d/kubectl</code>. В этом случае вам не нужно ничего делать.</p>
<div class="alert alert-info" role="note"><h4 class="alert-heading">Примечание:</h4>Homebrew устанавливает bash-completion v2 в директорию <code>BASH_COMPLETION_COMPAT_DIR</code>, что делает рабочими два метода.</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-shell" data-lang="shell"><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, вы можете интегрировать его с автодополнением оболочки:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;alias k=kubectl&#39;</span> &gt;&gt;~/.zshrc
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;compdef __start_kubectl k&#39;</span> &gt;&gt;~/.zshrc
</span></span></code></pre></div><p>После перезагрузки командной оболочки должны появляться дополнения ввода kubectl.</p>
<p>Если появляется ошибка <code>complete:13: command not found: compdef</code>, то добавьте следующее содержимое в начало вашего файла <code>~/.zshrc</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><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>




## Что дальше

* [Установка Minikube](/ru/docs/tasks/tools/install-minikube/).
* Смотрите [руководства по установке](/ru/docs/setup/), чтобы узнать больше про создание кластеров.
* [Научитесь запускать и делать доступным приложение](/docs/tasks/access-application-cluster/service-access-application-cluster/).
* Если вам нужен доступ к кластеру, созданный не вами, посмотрите страницу [Configure Access to Multiple Clusters](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/).
* Читайте [референсную документацию kubectl](/docs/reference/kubectl/kubectl/).
