VK Cloud logo
Обновлена 15 апреля 2024 г. в 08:50

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

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

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

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

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

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

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

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

      curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.6/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 --short
  2. Если планируется подключаться к кластеру Kubernetes версии 1.23 и выше, подготовьте все необходимое для подключения с использованием Single Sign-On (SSO).

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

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

        iex (New-Object System.Net.WebClient).DownloadString( `  'https://hub.mcs.mail.ru/repository/client-keystone-auth/latest/windows/client-install.ps1' `)

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

      2. Подтвердите добавление директории с утилитой в переменную окружения PATH, введя Y в ответ на запрос:

        Add client-keystone-auth installation dir to your PATH? [Y/n]
    2. Определите, от имени какого пользователя будет выполняться подключение к кластеру. Затем:

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

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

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

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

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

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

    icacls.exe 'C:\Users\user\.kube\kubernetes-cluster-1234_kubeconfig.yaml' `  /c /t `  /Inheritance:d `  /Remove:g BUILTIN\Administrators Everyone Users `  /Grant:r ${env:UserName}:RW
  3. Поместите путь к файлу конфигурации в переменную среды окружения $KUBECONFIG:

    $env:KUBECONFIG = 'C:\Users\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'.