База знаний LinxCloud Services

Подключение к кластеру

Описание

kubectl — это инструмент командной строки Kubernetes для запуска команд в кластерах Kubernetes:

  • развертывание приложений,
  • управление ресурсами кластера,
  • просмотр логов.

Весь список команд, запускающихся при помощи kubectl, можно посмотреть в официальной документации.

Если используется версия kubectl v1.23 и выше, то при подключении нужно ввести пароль. Для автоматического ввода пароля необходимо ввести его в файле настройки подключения kubeconfig.

 

Подключение к кластеру

Для подключения к кластеру при помощи помощью kubectl необходимо:

  1. Установить kubectl, если он не был установлен ранее.

    Проверить, чтобы мажорная версия установленного kubectl не отличается от используемой в кластере (версия v1.19 может работать с версиями v1.16 и v1.15, если использовать последнюю версию kubectl, то можно предотвратить возможные проблемы при подключении).

  2. При использовании версии кластера Kubernetes v1.23 и выше следует установить client-keystone-auth соответсвенно инструкции.
  3. Определи нужную роль (Администратор/Оператор/Аудитор Kubernetes) пользователю через вкладку «Управление доступами» в Личном кабинете (подробнее об этом можно прочитать в статье). Роли и права пользователей обноляются не сразу.
  4. На локальный компьютер загрузить файл конфигурации кластера, к которому будет выполняться подключение:
    1. Перейти на страницу «Контейнеры» Панели Linx Cloud.
    2. В контекстном меню кластера отметить пункт «Получить Kubeconfig для доступа к кластеру».

    Данный файл по умолчанию создается для каждого нового кластера и имеет имя в формате <имя кластера>_kubeconfig.yaml.

    Далее предполагается, что имя файла kubernetes-cluster-1234_kubeconfig.yaml и находится он в директории ~/Downloads.

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

 

Linux, macOS (bash)

    1. Зайдите в директорию .kube/, находящуюся вашей домашней директории:
      cd ~/.kube

       

    2. Если такой директории нет, ей необходимо создаать и определить минимально необходимые права:
      1mkdir ~/.kube && \
      2chmod -R 0600 ~/.kube && \
      3cd ~/.kube

       

    3. Добавьте файл конфигурации в директорию ~/.kube под именем config:
      mv ~/Downloads/kubernetes-cluster-1234_kubeconfig.yaml ~/.kube/config

       

    4. Определите для kubectl использование именно этого файла конфигурации, задав переменную среды окружения:
      export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config

       

  1. Выполните тестовое подключение к кластеру:
    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

       

  2. Если есть проблемы с подключением:
    1. Проверьте:
      1. Включен ли и работает ли кластер.
      2. Настроен ли корректно kubectl .
    2. Соберите вывод следующих команд:
      kubectl config view

       

      kubectl cluster-info dump

       

    3. Отправьте собранную информацию в техническую поддержки Linx Cloud для диагностики и устранения проблемы.

 

Windows (PowerShell)

    1. Зайдите в директорию .kube/, находящуюся вашей домашней директории:
      cd ~/.kube

       

    2. Если такой директории нет, ей необходимо создаать и определить минимально необходимые права:
      1 mkdir ~/.kube; 
      2 cd ~/.kube

       

    3. Добавьте файл конфигурации в директорию ~/.kube под именем config:
      mv ~/Downloads/kubernetes-cluster-1234_kubeconfig.yaml ./config

       

    4. Определите для kubectl использование именно этого файла конфигурации, задав переменную среды окружения:
      $Env:KUBECONFIG="$HOME\.kube\config"

       

  1. Выполните тестовое подключение к кластеру:
    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

       

  2. Если есть проблемы с подключением:
    1. Проверьте:
      1. Включен ли и работает ли кластер.
      2. Настроен ли корректно kubectl .
    2. Соберите вывод следующих команд:
      kubectl config view

       

      kubectl cluster-info dump

       

    3. Отправьте собранную информацию в техническую поддержки Linx Cloud для диагностики и устранения проблемы.
Что вас интересует?
Получить демо-доступ

Спасибо за ваш запрос, мы свяжемся с вами в ближайшее время!