×

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

 
Какие возможности это даёт.
 
Что потребуется.
  • Требования к версиям.
     
Установка kubectl
  • Проверка версии
  • macOS (Homebrew)
  • Linux (бинарный файл)
  • Windows (Chocolatey)
     
Установка kubelogin (OIDC)
  • macOS (brew)
  • Linux (curl)
  • Windows (chocolatey)
 
Шаг 1. Получение kubeconfig
Шаг 2. Подключение к пространству через авторизацию
Шаг 3. Проверка доступа
 
Этот гайд описывает, как подключиться к пространству сервиса DevSpace, работающего на платформе Cozy Stack, с помощью файла kubeconfig, полученного в панели управления Cloupard, и управлять ресурсами и приложениями своего пространства через CLI. 
 
Cozy Stack — это Kubernetes-нативная платформа для создания многопользовательских PaaS с изоляцией по пространствам.
 
Документ учитывает, что в сервисе включена OIDC-аутентификация, и доступ к кластеру осуществляется через kubectl + kubelogin.
 
Гайд рассчитан на пользователей с базовыми знаниями Kubernetes и CLI.
 
КАКИЕ ВОЗМОЖНОСТИ ЭТО ДАЁТ
 
DevSpace предоставляет изолированные пространства инфраструктурного (management) кластера Kubernetes для работы команд и отдельных пользователей, в которых можно создавать и управлять PaaS приложениями такими как БД, кластеры Kubernetes, виртуальные машины и др. Пространство DevSpace логически соответствует выделенному для работы namespace и связанных ресурсов, изолированных RBAC и сетевыми политиками.
 
Подключение к management-кластеру по kubeconfig позволяет:
  • управлять PaaS приложениями, развернутыми в вашем пространстве DevSpace;
  • тонко настраивать PaaS приложения созданные в пространстве;
  • просматривать состояние Pod, Deployment, Service и других ресурсов;
  • анализировать логи и события для отладки;
  • применять и обновлять Kubernetes-манифесты для целых PaaS;
  • автоматизировать операции через CI/CD или локальные скрипты.
Все действия выполняются и ограничены вашим пространством DevSpace.
 
ЧТО ПОТРЕБУЕТСЯ
 
Перед началом убедитесь, что у вас:
  • создано и активно пространство (space) в сервисе DevSpace;
  • вам выдана роль для управления ресурсами этого пространства;
  • у вас есть логин (email) и пароль для авторизации;
  • скачан kubeconfig для управления пространством.
     
    ТРЕБОВАНИЯ К ВЕРСИЯМ
    Важно
    Management‑кластер Cozy Stack работает на Kubernetes v1.33
    Рекомендуется использовать kubectl версии v1.33.x (предпочтительно), также допустимо ±1 минор (v1.32.x или v1.34.x)
     
    УСТАНОВКА KUBECTL
    kubectl - утилита для управления ресурсами kubernetes через CLI
     
    Проверка версии
    kubectl version --client
     
    macOS (Homebrew)
    brew install kubernetes-cli brew install kubernetes-cli@1.33
     
    Linux (бинарный файл)
    curl -LO https://dl.k8s.io/release/v1.33.1/bin/linux/amd64/kubectl chmod +x kubectl
    sudo mv kubectl /usr/local/bin/
     
    Windows (Chocolatey)
    choco install kubernetes-cli --version=1.33.1
     
    УСТАНОВКА KUBELOGIN (OIDC)
     
В сервисе DevSpace доступ пользователей к управлению пространством осуществляется через OIDC-аутентификацию. Это означает, что вместо статических токенов или сертификатов используется централизованный механизм входа по логину и паролю. В качестве логина используется email, указанный при создании пространства.
Для работы kubectl с OIDC в DevSpace применяется вспомогательная утилита kubelogin. Она автоматически:
  • инициирует процесс аутентификации;
  • получает OIDC-токен;
  • обновляет токен при истечении срока действия;
  • прозрачно используется kubectl при каждом запросе к пространству
     
Без установленного kubelogin подключение к пространству DevSpace через kubectl невозможно. kubelogin — стандартный OIDC-плагин kubectl, используемый в Kubernetes-экосистеме.
 
С точки зрения пользователя процесс выглядит так:
1. Вы запускаете команду kubectl;
2. kubectl вызывает kubelogin;
3. kubelogin запрашивает аутентификацию;
4. Вы вводите логин и пароль;
5. После успешного входа команды kubectl начинают работать.
 
macOS (brew)
Рекомендуемый способ — установка через Homebrew:
brew install kubelogin
 
Проверьте установку:
kubelogin --version
 
Linux (curl)
 
1. Определите архитектуру:
uname -m
2. Скачайте бинарный файл (пример для amd64):
curl -L -o kubelogin \   https://github.com/int128/kubelogin/releases/latest/download/kubelogin_linux_amd64
3. Сделайте файл исполняемым и переместите в PATH:
chmod +x kubelogin sudo mv kubelogin /usr/local/bin/
4. Проверьте установку:
kubelogin --version
 
Windows (chocolatey)
choco install kubelogin
 
Проверка установки:
kubelogin --version
 
После установки kubelogin и kubectl вы готовы к управлению ресурсами пространства через kubectl.
 
ШАГ 1. ПОЛУЧЕНИЕ KUBECONFIG
 
1. Откройте панель управления DevSpace
2. Выберите ваше пространство
3. Перейдите на страницу управления пространством или список пространств
4. Найдите пункт меню Файлы доступа и скачайте файл kubeconfig для управления пространством
Пример имени файла:
~/.kube/devspace-one.yaml
 
ШАГ 2. ПОДКЛЮЧЕНИЕ К ПРОСТРАНСТВУ ЧЕРЕЗ АВТОРИЗАЦИЮ
 
Используйте полученный файл kubeconfig для подключения утилитой kubectl
Рекомендуемый способ:
export KUBECONFIG=~/.kube/devspace-one.yaml
Выполните любую команду kubectl, например:
kubectl get po
 
При первом запуске:
1. kubectl автоматически вызовет kubelogin;
2. откроется браузер для авторизации через email и пароль, авторизация через браузер выполняется один раз за время жизни токена (по умолчанию 30 мин.)
3. после успешного входа будет получен токен доступа;
4. команда выполнится с вашими правами.
Если браузер не открылся автоматически — скопируйте URL из сообщения терминала вручную:
Please visit the following URL in your browser: http://localhost:8000
 
ШАГ 3. ПРОВЕРКА ДОСТУПА
 
Проверьте, что у вас есть доступ к ресурсам вашего пространства:
kubectl auth can-i get po
Если команда возвращает yes, права настроены корректно.
Вы можете выполнять команды на уровне своего пространства, например:
  • просматривать потребление квот ресурсов kubectl describe resourcequotas
  • получить развёрнутые сетевые сервисы и внешние IP kubectl get svc
  • создание приложений и PaaS описанных в файле kubectl apply -f paas-services.yaml
Теперь вы можете управлять всеми доступными PaaS-ресурсами своего пространства через kubectl и автоматизировать работу с ними.