VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

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

Kubectl — это инструмент командной строки для управления кластерами Kubernetes. Kubectl используется для развёртывания приложений, проверки ресурсов кластера и просмотра логов. Полный список операций kubectl доступен в официальной документации.

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

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

Чтобы выполнить подключение к кластеру через kubectl:

  1. Шаг 1. Установите kubectl.
  2. Шаг 2. Установите keystone-auth.
  3. Шаг 3. Скачайте конфигурационный файл кластера.
  4. Шаг 4. Экспортируйте конфигурационный файл кластера в переменные окружения.
  5. Шаг 5. Проверьте подключение к кластеру.

Шаг 1. Установите kubectl

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

Linux

Ubuntu, Debian и HypriotOS
# sudo apt-get update && sudo apt-get install -y apt-transport-https$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -$ echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list$ sudo apt-get update$ sudo apt-get install -y kubectl
CentOS, Red Hat Enterprise Linux и Fedora
$ yum install -y kubectl

macOS

$ brew install kubernetes-cli

Шаг 2. Установите keystone-auth

Если планируется подключаться к кластеру Kubernetes версии 1.23 и выше, подготовьте всё необходимое для подключения с использованием Single Sign-On (SSO):

  1. Скачайте архив из дистрибутива, расположенный по адресу <DEPLOY_NEXUS_IP>:<PORT>/repository/share/kubernetes/client-keystone-auth.zip.

  2. Распакуйте архив. Выберите тип операционной системы — $GOOS и используемую архитектуру — $GOARCH.

  3. Установите keystone-auth:

    $ chmod -R +x client-keystone-auth/$GOOS/$GOARCHmv client-keystone-auth/$GOOS/$GOARCH/* /usr/bin/
  4. Определите, от имени какого пользователя будет выполняться подключение к кластеру. Затем:

    • Добавьте этому пользователю роль mcs_k8s_admin (подробнее — в Руководстве администратора VK Private Cloud).
    • В Портале самообслуживания получите токен для доступа к API для пользователя.

Шаг 3. Скачайте конфигурационный файл кластера

Конфигурационный файл автоматически сохраняется на устройство при создании кластера. Если этого не произошло, выполните шаги данной инструкции.

Чтобы скачать конфигурационный файл кластера:

  1. Выполните подготовительные операции (подробнее — в разделе Портал самообслуживания).

  2. Перейдите в раздел КонтейнерыКластеры Kubernetes.

  3. Нажмите на значок ••• справа от названия кластера и выберите пункт Получить Kubeconfig для доступа к кластеру. На локальный диск будет загружен файл с расширением .yaml.

  4. Ограничьте права доступа к файлу kubeconfig:

    Linux
    $ sudo chmod 0600 /home/user/.kube/kubernetes-cluster-1234_kubeconfig.yaml
    Windows
    > 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

Шаг 4. Экспортируйте конфигурационный файл кластера в переменные окружения

Чтобы экспортировать файл kubeconfig:

Linux
$ export KUBECONFIG=<ПУТЬ_К_ФАЙЛУ_КОНФИГУРАЦИИ_KUBECONFIG_YAML>
Windows
> env:KUBECONFIG = 'C:\Users\user\.kube\kubernetes-cluster-1234_kubeconfig.yaml'

Шаг 5. Проверьте подключение к кластеру

Чтобы подключится к кластеру:

  1. Нажмите на имя пользователя в шапке страницы и выберите пункт Настройки проекта.

  2. Перейдите на вкладку Доступ по API и скопируйте значение Токен для доступа к API.

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

    # export token=<TOKEN># alias kubectl='kubectl --token $token'# kubectl get nodes -A

    где <TOKEN> — значение Токен для доступа к API.

    Проверьте подключение:

    $ kubectl cluster-info
    Пример ожидаемого результата
    Kubernetes control plane is running at https://192.168.24.118:6443Heapster is running at https://192.168.24.118:6443/api/v1/namespaces/kube-system/services/heapster/proxyCoreDNS is running at https://192.168.24.118:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy