Описание
kubectl
— это инструмент командной строки Kubernetes для запуска команд в кластерах Kubernetes:
- развертывание приложений,
- управление ресурсами кластера,
- просмотр логов.
Весь список команд, запускающихся при помощи kubectl
, можно посмотреть в официальной документации.
Если используется версия kubectl v1.23 и выше, то при подключении нужно ввести пароль. Для автоматического ввода пароля необходимо ввести его в файле настройки подключения kubeconfig.
Подключение к кластеру
Для подключения к кластеру при помощи помощью kubectl
необходимо:
- Установить
kubectl
, если он не был установлен ранее.Проверить, чтобы мажорная версия установленного
kubectl
не отличается от используемой в кластере (версия v1.19 может работать с версиями v1.16 и v1.15, если использовать последнюю версиюkubectl
, то можно предотвратить возможные проблемы при подключении). - При использовании версии кластера Kubernetes v1.23 и выше следует установить client-keystone-auth соответсвенно инструкции.
- Определи нужную роль (Администратор/Оператор/Аудитор Kubernetes) пользователю через вкладку «Управление доступами» в Личном кабинете (подробнее об этом можно прочитать в статье). Роли и права пользователей обноляются не сразу.
- На локальный компьютер загрузить файл конфигурации кластера, к которому будет выполняться подключение:
- Перейти на страницу «Контейнеры» Панели Linx Cloud.
- В контекстном меню кластера отметить пункт «Получить Kubeconfig для доступа к кластеру».
Данный файл по умолчанию создается для каждого нового кластера и имеет имя в формате
<имя кластера>_kubeconfig.yaml
.Далее предполагается, что имя файла
kubernetes-cluster-1234_kubeconfig.yaml
и находится он в директории~/Downloads
. - Для того, чтобы
kubectl
мог найти кластер Kubernetes и получить к нему доступ, необходимо импортировать загруженный файл конфигурации:
Linux, macOS (bash)
-
- Зайдите в директорию
.kube/
, находящуюся вашей домашней директории:cd ~/.kube
- Если такой директории нет, ей необходимо создаать и определить минимально необходимые права:
1mkdir ~/.kube && \ 2chmod -R 0600 ~/.kube && \ 3cd ~/.kube
- Добавьте файл конфигурации в директорию
~/.kube
под именемconfig
:mv ~/Downloads/kubernetes-cluster-1234_kubeconfig.yaml ~/.kube/config
- Определите для
kubectl
использование именно этого файла конфигурации, задав переменную среды окружения:export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config
- Зайдите в директорию
- Выполните тестовое подключение к кластеру:
kubectl cluster-info
После чего могут появится сообщения:
- Небольшая информация о работе control plane кластера и CoreDNS, например:
1Kubernetes control plane is running at https://NNN.NNN.NNN.NNN:6443 2CoreDNS is running at https://NNN.NNN.NNN.NNN:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Это значит, что
kubectl
правильно сконфигурирован и успешно подключился к кластеру. Теперь можно использоватьkubectl
для управления вашим кластером. - Другие сообщения, которые могут указывать на проблемы с подключением, например:
The connection to the server NNN.NNN.NNN.NNN:6443 was refused - did you specify the right host or port?
Unable to connect to the server: EOF
- Небольшая информация о работе control plane кластера и CoreDNS, например:
- Если есть проблемы с подключением:
- Проверьте:
- Включен ли и работает ли кластер.
- Настроен ли корректно
kubectl
.
- Соберите вывод следующих команд:
kubectl config view
kubectl cluster-info dump
- Отправьте собранную информацию в техническую поддержки Linx Cloud для диагностики и устранения проблемы.
- Проверьте:
Windows (PowerShell)
-
- Зайдите в директорию
.kube/
, находящуюся вашей домашней директории:cd ~/.kube
- Если такой директории нет, ей необходимо создаать и определить минимально необходимые права:
1 mkdir ~/.kube; 2 cd ~/.kube
- Добавьте файл конфигурации в директорию
~/.kube
под именемconfig
:mv ~/Downloads/kubernetes-cluster-1234_kubeconfig.yaml ./config
- Определите для
kubectl
использование именно этого файла конфигурации, задав переменную среды окружения:$Env:KUBECONFIG="$HOME\.kube\config"
- Зайдите в директорию
- Выполните тестовое подключение к кластеру:
kubectl cluster-info
После чего могут появится сообщения:
- Небольшая информация о работе control plane кластера и CoreDNS, например:
Kubernetes control plane is running at https://NNN.NNN.NNN.NNN:6443 CoreDNS is running at https://NNN.NNN.NNN.NNN:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Это значит, что
kubectl
правильно сконфигурирован и успешно подключился к кластеру. Теперь можно использоватьkubectl
для управления вашим кластером. - Другие сообщения, которые могут указывать на проблемы с подключением, например:
The connection to the server NNN.NNN.NNN.NNN:6443 was refused - did you specify the right host or port?
Unable to connect to the server: EOF
- Небольшая информация о работе control plane кластера и CoreDNS, например:
- Если есть проблемы с подключением:
- Проверьте:
- Включен ли и работает ли кластер.
- Настроен ли корректно
kubectl
.
- Соберите вывод следующих команд:
kubectl config view
kubectl cluster-info dump
- Отправьте собранную информацию в техническую поддержки Linx Cloud для диагностики и устранения проблемы.
- Проверьте: