Linux

Настройка kubectl в Linux: установка и конфигурация CLI

В этом руководстве мы подробно разберём процесс установки и первичной настройки утилиты kubectl в Linux. Вы научитесь подключаться к Kubernetes-кластерам, управлять контекстами и проверять соединение за несколько минут.

Обновлено 8 апреля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04+Debian 11+Fedora 38+RHEL 9+

Введение / Зачем это нужно

kubectl — это официальный инструмент командной строки для взаимодействия с кластерами Kubernetes. Без правильно настроенного CLI вы не сможете деплоить приложения, масштабировать поды или анализировать логи контейнеров. В этом гайде мы разберём безопасную установку бинарного файла, настройку аутентификации и базовую проверку работы. Следуя инструкции, вы получите полностью готовую к работе среду управления кластером.

Требования / Подготовка

  • Рабочая установка Linux (Ubuntu, Debian, Fedora, RHEL или их производные).
  • Доступ к терминалу и права обычного пользователя. Установка в системные каталоги потребует sudo.
  • Утилита curl уже предустановлена в большинстве современных дистрибутивов.
  • Файл конфигурации кластера (kubeconfig), который обычно предоставляет администратор или генерирует облачная платформа.

Шаг 1: Загрузка актуальной версии

Всегда загружайте kubectl с официальных серверов Kubernetes, чтобы избежать использования модифицированных бинарников. Откройте терминал и выполните:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

Если ваш сервер работает на архитектуре ARM (например, Raspberry Pi или серверы на Graviton), замените amd64 на arm64. Команда автоматически определит стабильную версию и скачает соответствующий файл.

Шаг 2: Установка в системный каталог

Переместите исполняемый файл в директорию, входящую в переменную окружения PATH. Это позволит запускать kubectl из любой точки файловой системы без указания полного пути.

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

После выполнения можно удалить исходный файл из текущей директории: rm -f kubectl.

💡 Совет: Команда install не только копирует файл, но и сразу задаёт правильные права 755, что делает его доступным для всех пользователей, но изменяемым только root.

Шаг 3: Настройка конфигурации доступа

Инструмент ищет настройки в файле ~/.kube/config. Создайте структуру и скопируйте в неё данные вашего кластера:

mkdir -p $HOME/.kube
sudo cp -i /path/to/your/kubeconfig $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Замените /path/to/your/kubeconfig на реальный путь к файлу. Команда chown гарантирует, что у вашего пользователя будут полные права на чтение и запись конфигурации, что предотвращает ошибки доступа при выполнении команд.

Шаг 4: Включение автодополнения

Работа с kubectl значительно ускоряется с автозавершением команд. Для Bash выполните:

echo 'source <(kubectl completion bash)' >>~/.bashrc
source ~/.bashrc

Для Zsh используйте:

echo 'source <(kubectl completion zsh)' >>~/.zshrc
source ~/.zshrc

Теперь при вводе kubectl get n и нажатии Tab терминал автоматически дополнит команду до nodes.

Проверка результата

Убедитесь, что утилита корректно считывает настройки и видит кластер. Выполните:

kubectl version --client
kubectl cluster-info

Первая команда покажет версию установленного клиента. Вторая должна вернуть URL API-сервера и адрес KubeDNS. Если вывод содержит строки Kubernetes control plane is running at... — настройка завершена успешно.

Возможные проблемы

  • kubectl: command not found/usr/local/bin отсутствует в PATH. Добавьте export PATH=/usr/local/bin:$PATH в ~/.bashrc или ~/.zshrc и примените изменения через source.
  • x509: certificate signed by unknown authority — обычно возникает при использовании самоподписанных сертификатов в тестовых средах. Временное решение: добавьте флаг --insecure-skip-tls-verify=true в команды. Надёжнее — импортировать нужный CA в ~/.kube/config или обновить корневые сертификаты ОС.
  • Forbidden: user "system:anonymous" cannot get nodes — отсутствуют RBAC-права. Убедитесь, что в kubeconfig указан правильный user и token, либо запросите у администратора ClusterRoleBinding с правами view или cluster-admin.

Часто задаваемые вопросы

Где хранится файл конфигурации kubectl?
Почему возникает ошибка `Unable to connect to the server`?
Можно ли использовать kubectl без прав root?

Полезное

Скачайте бинарный файл
Установите исполняемый файл
Создайте конфигурационную директорию
Проверьте подключение

Эта статья помогла вам решить проблему?