Kubernetes
Управляемый Kubernetes создаёт кластер в выбранном вами регионе и позволяет запускать рабочие нагрузки через kubectl. Кластеры привязаны к вашей организации, а подключение к ним выполняется с помощью загружаемого kubeconfig.
Создание кластера
В консоли откройте Kubernetes → Create cluster и заполните поля:
- Имя — строчные буквы, цифры и дефисы. Должно начинаться и заканчиваться буквой или цифрой и содержать не более 63 символов (метка RFC 1123), например
prod-eu. - Регион — выберите один из доступных в списке.
- Версия —
1.30(по умолчанию),1.29или1.28.
Список кластеров показывает для каждого кластера имя, версию, количество узлов, статус и регион.
После создания кластер переходит в состояние provisioning. Когда подготовка завершится, статус сменится на running.
Подключение через kubectl
После завершения подготовки кластера скачайте его kubeconfig и укажите его для kubectl:
export KUBECONFIG=~/Downloads/<name>.kubeconfig.yaml
kubectl get nodes
kubectl get pods -Akubeconfig также доступен программно через подписанный gRPC API (nexlayer.k8s.v1.K8sService/GetClustersKubeconfig) в формате YAML. kubeconfig становится доступным только после завершения подготовки кластера — пока кластер ещё создаётся, вызов возвращает kubeconfig not yet available.
WARNING
kubeconfig предоставляет полный доступ к вашему кластеру. Храните его в секрете — относитесь к нему как к паролю и никогда не добавляйте в систему контроля версий.
Пулы узлов и масштабирование
У каждого кластера есть пул узлов (node pool). Чтобы масштабировать его, задайте желаемое количество узлов в консоли. Значение ограничивается максимумом платформы, и на время применения изменения статус пула становится scaling. Программно это K8sService/CreatePoolsScale с { "node_count": 3 }.
Удаление кластера
Удаление кластера (из консоли или через K8sService/DeleteClusters) устанавливает его статус в deleting и останавливает его узлы.
WARNING
Удаление кластера удаляет его узлы и все запущенные на них рабочие нагрузки. Это действие необратимо.
Статусы кластера
provisioning— кластер создаётся.running— кластер готов к использованию.scaling— изменяется размер пула узлов.deleting— кластер удаляется.
Справочник API
API управления — это gRPC: сервис nexlayer.k8s.v1.K8sService, вызываемый подписанным клиентом Aral Cloud с токеном Bearer — тот же транспорт, что использует консоль.
| RPC | Запрос |
|---|---|
CreateClusters | { name, region, version } |
ListClusters | — |
GetClustersKubeconfig | { id } |
DeleteClusters | { id } |
CreatePoolsScale | { id, node_count } |
TIP
Предпочитаете делать всё из терминала? Смотрите руководство по CLI.