Telegram
+998 (71) 205-80-00

Kubernetes в ServerPlus: запуск кластера и kubeconfig

Опубликовано: 25.07.26
Поделиться

Kubernetes в ServerPlus

Kubernetes в ServerPlus — это управляемый сервис на базе OpenStack Magnum. Вы заказываете кластер (в панели или через API), а платформа сама поднимает управляющий узел (control plane) и рабочие узлы как виртуальные машины в вашем проекте. Вам остаётся получить kubeconfig — файл с адресом и ключами доступа — и работать с кластером привычным kubectl.

Создание кластера

Кластер можно создать через веб-панель (проще для первого раза) или через API:

openstack coe cluster create my-cluster --cluster-template <шаблон> --master-count 1 --node-count 2 --keypair <ssh-ключ>

# статус (ждём CREATE_COMPLETE)
openstack coe cluster list

Важно про сеть. Узлам кластера нужен выход в интернет — они скачивают образы контейнеров и компоненты Kubernetes. Поэтому сеть кластера должна иметь роутер с внешним шлюзом. На изолированной сети без egress кластер не соберётся. Проще всего доверить настройку сети мастеру создания в панели.

Получение kubeconfig

kubeconfig — это файл, в котором записаны адрес API кластера, корневой сертификат и ваш клиентский ключ. Именно по нему kubectl понимает, куда и под кем подключаться.

В панели: в карточке кластера есть кнопка скачивания kubeconfig. Через CLI:

openstack coe cluster config my-cluster
# создаст файл ./config и подскажет строку export KUBECONFIG=...

kubeconfig = полный доступ к кластеру. Храните его как пароль: права chmod 600, не коммитьте в git.

Установка kubectl

# Linux
curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -m 0755 kubectl /usr/local/bin/kubectl

# macOS
brew install kubectl

Подключение kubeconfig

Вариант A. Разово на сессию

export KUBECONFIG=$PWD/config
kubectl get nodes

Вариант B. Сделать конфигом по умолчанию

mkdir -p ~/.kube
cp ./config ~/.kube/config
chmod 600 ~/.kube/config

Вариант C. Несколько кластеров (merge)

Если у вас уже есть ~/.kube/config, не перезаписывайте его, а объедините:

KUBECONFIG=~/.kube/config:$PWD/config kubectl config view --flatten > /tmp/merged
mv /tmp/merged ~/.kube/config
kubectl config get-contexts
kubectl config use-context <имя-контекста>

Первые команды

kubectl cluster-info
kubectl get nodes -o wide     # ждём статус Ready
kubectl get pods -A

Запуск тестового приложения и публикация наружу:

kubectl create deployment web --image=nginx
kubectl expose deployment web --port=80 --type=LoadBalancer
kubectl get svc web -w        # ждём EXTERNAL-IP

Сервис типа LoadBalancer создаёт балансировщик Octavia и выдаёт внешний адрес, по которому приложение доступно из интернета.

Частые вопросы

kubectl не подключается / таймаут. Проверьте, что у control plane есть внешний (floating) IP и что в kubeconfig адрес именно внешний, а не внутренний 10.x. С ноутбука внутренний адрес недоступен.

Узлы NotReady, кластер долго собирается. Почти всегда это отсутствие выхода в интернет у сети кластера — узлы не могут скачать образы. Нужна сеть с роутером и внешним шлюзом.

Ошибка сертификата x509. Обычно устаревший kubeconfig (кластер пересоздавали). Сгенерируйте заново: openstack coe cluster config my-cluster --force.

Изменить число узлов: openstack coe cluster resize my-cluster 3. Удалить кластер: openstack coe cluster delete my-cluster.

Безопасность

  • kubeconfig — секрет: один файл даёт админ-доступ к кластеру. Права chmod 600, вне git и мессенджеров.
  • Не раздавайте всем один admin-kubeconfig — заводите отдельные ServiceAccount и роли (RBAC) с ограниченными правами.
  • Публикуйте наружу только нужные сервисы; остальное держите внутри кластера (тип ClusterIP).
Рекомендуем
Подберём лучшее решение под ваш проект
Заполните данные и с вами свяжется менеджер для подтверждения
Номер тех. поддержки
+998 (71) 205-80-00
Email для связи
info@serverplus.uz
Часы работы
Как вам удобнее получить консультацию?
Что вас интересует? (необязательно)
Бесплатная консультация
Ответит инженер, а не оператор
Без спама и навязчивых продаж
Хотите сначала попробовать самостоятельно?Каждому новому пользователю начисляется 100 000 сум бонусов для тестирования VPS, Dedicated Server, S3-хранилища и Kubernetes.
Зарегистрироваться и получить бонус
Мы не передаем ваши данные третьим лицам
Подпишитесь на нашу рассылку

Будьте одними из первых, кто узнает новости из сферы хостингов