VK Cloud logo

Подключение к кластеру с помощью 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 → Кластеры 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. Загрузите файл конфигурации кластера:

    1. Перейдите в личный кабинет VK Cloud под аккаунтом пользователя, который будет подключаться к кластеру.

    2. Выберите проект, где находится нужный кластер.

    3. Перейдите в раздел Кластеры Kubernetes → Кластеры Kubernetes.

    4. Нажмите  для нужного кластера и выберите пункт Получить Kubeconfig для доступа к кластеру.

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

    5. Переименуйте скачанный файл в config.yaml и расположите его в директории:

      • для Windows: C:\Users\user\.kube;
      • для Linux и macOS: /home/user/.kube.

      Если вы хотите использовать другую директорию или указать конфигурационные файлы для нескольких кластеров, воспользуйтесь инструкцией от Headlamp.

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

    sudo chmod 0600 /home/user/.kube/config.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'.
Была ли статья полезна?