Подключение к кластеру с помощью kubectl

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

Способ подключения к кластеру зависит от его IP-адреса:

  • Если кластеру назначен внешний IP-адрес, то можно подключиться к нему с любого хоста, имеющего доступ в интернет.
  • Если кластеру назначен только внутренний IP-адрес, то можно подключиться к нему только с хоста в VK Cloud — виртуальной машины, которая находится в той же подсети, что и кластер.

Подготовительные шаги

  1. На хосте, с которого планируется подключаться к кластеру, установите kubectl, если утилита еще не установлена.

    1. Загрузите нужную версию kubectl.

      Пример команды для загрузки утилиты kubectl, совместимой с кластером версии 1.33.0:

      curl -LO https://dl.k8s.io/release/v1.33.0/bin/linux/amd64/kubectl
    2. Сделайте двоичный файл kubectl исполняемым:

      sudo chmod +x ./kubectl
    3. Поместите этот файл в директорию, которая содержится в переменной окружения PATH, например, в /usr/local/bin:

      sudo mv ./kubectl /usr/local/bin/kubectl
    4. Проверьте версию kubectl, выполнив команду:

      kubectl version
  2. Подготовьте все необходимое для подключения с использованием Single Sign-On (SSO).

    1. На хосте, с которого планируется подключаться к кластеру, установите client-keystone-auth, если плагин еще не установлен:

      1. Установите пакеты zip и unzip, если они не установлены:

        sudo apt install zip unzip
      2. В терминале выполните команду:

        curl -sSL \  https://hub.mcs.mail.ru/repository/client-keystone-auth/latest/linux/client-install.sh \| bash

        Начнется установка утилиты keystone-auth.

      3. Если вы используете командную оболочку, отличную от bash, добавьте путь до утилиты в переменную окружения PATH.

      4. Перезапустите командную оболочку или выполните команду source.

        Подсказка с нужными командами будет выведена после окончания установки.

    2. Проверьте, что у вас есть необходимая роль для работы с кластерами Kubernetes. Если такой роли нет, попросите владельца или суперадминистратора проекта добавить ее вам.

    3. Активируйте доступ по API.

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

Выполните действия на хосте, с которого планируется подключаться к кластеру:

  1. Загрузите файл конфигурации кластера:

    1. Перейдите в личный кабинет VK Cloud под аккаунтом пользователя, который будет подключаться к кластеру.
    2. Выберите проект, где находится нужный кластер.
    3. Перейдите в раздел Контейнеры → Кластеры Kubernetes.
    4. Нажмите  для нужного кластера и выберите пункт Получить Kubeconfig для доступа к кластеру.

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

    Далее предполагается, что загруженный файл имеет имя kubernetes-cluster-1234_kubeconfig.yaml и находится в директории C:\Users\user\.kube (для Windows) или /home/user/.kube (для Linux и macOS). Скорректируйте приведенные ниже команды при необходимости.

  2. Файл конфигурации содержит чувствительную информацию, которая не должна быть доступна другим пользователям. Поэтому ограничьте права доступа к этому файлу:

    sudo chmod 0600 /home/user/.kube/kubernetes-cluster-1234_kubeconfig.yaml
  3. Укажите путь к файлу конфигурации в переменной среды окружения $KUBECONFIG:

    export KUBECONFIG=/home/user/.kube/kubernetes-cluster-1234_kubeconfig.yaml

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

На хосте:

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

    kubectl cluster-info
  2. Введите пароль пользователя от личного кабинета VK Cloud.

    Это необходимо для аутентификации при подключении к кластеру.

Если кластер работает нормально и kubectl настроен на работу с ним, будет выведена похожая информация:

Kubernetes control plane is running at...CoreDNS is running at...To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.