kubectl — консольная утилита для работы с сущностями кластера Kubernetes. При помощи нее можно управлять ресурсами кластера, разворачивать приложения, просматривать логи и выполнять другие задачи администрирования.
Установка kubectl
Обратите внимание, что минорная версия
kubectl(вторая цифра в версии) может отличаться от версии кластера на +/- 1. При использовании более новых или более старых версий могут возникать проблемы с совместимостью. В инструкции указаны конкретные версии для примера, но вы можете заменить их на нужные вам версии.
Ручная установка
-
Загрузите бинарный файл
kubectl:
-
Проверьте целостность загруженного файла:
-
Установите
kubectl:
Установка через apt
-
Обновите список пакетов:
-
Установите необходимые пакеты:
-
Добавьте ключ для репозитория Kubernetes и установите правильные права доступа на ключ:
-
Добавьте репозиторий Kubernetes в список источников APT и установите правильные права доступа на файл списка источников:
-
Обновите список пакетов снова:
-
Установите
kubectl:
Теперь kubectl установлен на вашем компьютере. Вы можете проверить установку, выполнив команду:
Настройка доступа к кластеру Kubernetes
Получение конфигурационного файла kubeconfig
Файл config.yaml используется kubectl для определения, к какому кластеру подключаться и какие учетные данные использовать. Он содержит информацию о кластерах, пользователях и контекстах, что позволяет легко переключаться между различными конфигурациями Kubernetes.
Поскольку файл config.yaml содержит важные учетные данные, его следует хранить в недоступном для посторонних лиц месте, чтобы предотвратить несанкционированный доступ к кластеру. При получении доступа к этому файлу посторонний человек может управлять кластером и его ресурсами.
Чтобы получить конфигурационный файл, перейдите на страницу управления кластером и во вкладке «Дашборд» нажмите ссылку «скачайте файл конфигурации».

Размещение kubeconfig в домашнем каталоге
После получения файла config.yaml необходимо разместить его в правильном каталоге, чтобы kubectl мог его использовать.
-
Создайте директорию
.kubeв вашем домашнем каталоге, если она еще не существует:
-
Скопируйте файл
config.yamlв эту директорию и переименуйте его вconfig:
После выполнения этих шагов kubectl будет автоматически использовать конфигурацию из файла ~/.kube/config.
Использование переменной окружения KUBECONFIG
Если вам нужно использовать несколько файлов конфигурации или расположить config.yaml в другом месте, вы можете воспользоваться переменной окружения KUBECONFIG.
-
Откройте терминал.
-
Установите переменную окружения
KUBECONFIG:
Чтобы эти настройки сохранялись после перезагрузки системы, выполните следующий код (по необходимости изменив ~/.bashrc на ~/.zshrc (для MacOS) или ~/.profile):
Использование нескольких конфигурационных файлов
Вы можете указать несколько файлов kubeconfig, разделяя их пути двоеточиями (на macOS и Linux) или точкой с запятой (на Windows):
Windows (PowerShell):
macOS и Linux:
Настройка подключения к кластеру Kubernetes
После настройки доступа вам нужно убедиться, что kubectl может подключиться к кластеру. Для этого выполните следующую команду:
Эта команда выведет информацию о вашем кластере, включая адреса API и других компонентов. Если команда выполнена успешно, значит, kubectl подключен к кластеру.
Проверка контекста
Контексты позволяют переключаться между разными кластерами и учетными данными. Каждый контекст представляет собой комбинацию кластеров, пользователей и пространств имен (namespaces).
Чтобы увидеть список доступных контекстов и узнать, какой из них активен в данный момент, используйте команду:
Эта команда выведет таблицу с доступными контекстами и укажет, какой из них активен в данный момент.

Если у вас настроено несколько кластеров и вы хотите переключиться на другой контекст, используйте следующую команду:
Замените <context-name> на имя нужного контекста, которое вы получили из предыдущей команды. После выполнения этой команды kubectl будет использовать новый контекст для всех последующих команд.
Настройка автодополнения команд
Автодополнение команд помогает ускорить ввод команд и уменьшить количество ошибок, автоматически предлагая возможные варианты по мере набора команды. Это особенно полезно для длинных и сложных команд kubectl.
Установка bash-completion
Установите пакет bash-completion, если он еще не установлен.
Для Ubuntu/Debian:
Для CentOS/RHEL:
Для macOS через Homebrew:
Включите автодополнение для текущего сеанса:
Чтобы автодополнение было всегда включено, выполните команду:
Основные команды kubectl
Получение информации о кластере
Чтобы получить общую информацию о вашем кластере, включая адреса компонентов, используйте команду:
Просмотр подов
Для получения списка всех подов в текущем пространстве имен используйте команду:
Если вы хотите увидеть поды в конкретном пространстве имен, добавьте опцию -n:
Просмотр служб
Чтобы увидеть все службы (services) в текущем пространстве имен, выполните команду:
Вы также можете указать пространство имен:
Просмотр конфигурации
Чтобы увидеть текущую конфигурацию и активный контекст:
Описание ресурсов
Для получения детальной информации о любом ресурсе, таком как под или служба:
Например, чтобы получить информацию о поде:
Удаление ресурсов
Для удаления ресурса, такого как под или служба:
Например, чтобы удалить под: