Kubernetes
April 16, 2022

Кластер k8s в PROVISIONING при создании

Кластер k8s может не создастся по нескольким причинам. Перечислим их.

1. Недостаточно прав у сервисного аккаунта;
2. Открыты не все необходимые порты у SG (Security Group) в случае её наличия;
3. Проблема с адресным пространством подов/сервисов. Например, если будет пересекаться с адресным пространством других сущностей.

Необходимо проверить все три варианта.

Проверяем права у SA.
Для работы кластера используется два сервисных аккаунта.
Первый SA - Сервисный аккаунт для ресурсов, используется для создания кластера и групп узлов. Ему необходимы следующие минимальные права доступа:
1. k8s.clusters.agent;

2. vpc.publicAdmin (Используется при включении внешнего адреса);

3. Если создается service вроде LoadBalancer, то также нужны права load-balancer.admin

Или можно использовать права editor, если не хочется заморачиваться с ролями.

Второй SA - Сервисный аккаунт для узлов, необходим для доступа к Docker образам, хранящимся в Container Registry. Для его работы необходимы права:
1. container-registry.images.puller

Также можно добавить все эти права одному аккаунту.

Проверяем SG.

На самом деле это может проверить сам пользователь. Для этого ему необходимо свериться с мануалом: https://cloud.yandex.ru/docs/managed-kubernetes/operations/security-groups