Подготовка и права
Подготовьте отдельный сервисный аккаунт, выдайте права на правильных уровнях и заранее решите, как Oopps.ai будет получать доступ к Kubernetes API.
Перед началом
- вы знаете каталог (folder), ресурсы которого должны попасть в Oopps.ai;
- у вас есть право создавать сервисные аккаунты и назначать роли в этом каталоге;
- для billing у вас есть доступ к нужному платёжному аккаунту;
- вы выбрали модель Kubernetes-доступа: прямой SaaS-аудит либо in-cluster агент.
Сохраните Cloud ID и Folder ID
В Yandex Cloud Console откройте нужное облако и каталог. Скопируйте идентификаторы, а не отображаемые названия. Folder ID обязателен; Cloud ID помогает billing-диагностике и охвату ресурсов.
yc config get cloud-id
yc config get folder-id
Создайте отдельный сервисный аккаунт
Откройте Identity and Access Management → Сервисные аккаунты → Создать. Используйте понятное имя, например oopps-reader. Не используйте личный OAuth-токен сотрудника как постоянную production-интеграцию.
yc iam service-account create \
--name oopps-reader \
--description "Oopps.ai cloud inventory and audit"
Выдайте права чтения в каталоге
Для inventory и обнаружения кластеров назначьте сервисному аккаунту роли на уровне каталога:
viewer— базовое чтение ресурсов каталога;compute.viewer— чтение Compute Cloud inventory;k8s.cluster-api.viewer— чтение Managed Kubernetes через cloud API.
yc resource-manager folder add-access-binding \
--id <FOLDER_ID> --role viewer --service-account-id <SA_ID>
yc resource-manager folder add-access-binding \
--id <FOLDER_ID> --role compute.viewer --service-account-id <SA_ID>
yc resource-manager folder add-access-binding \
--id <FOLDER_ID> --role k8s.cluster-api.viewer --service-account-id <SA_ID>
Выдайте billing-доступ отдельно
Откройте Cloud Center → Billing → нужный платёжный аккаунт → Управление доступом. Назначьте тому же сервисному аккаунту billing.accounts.viewer именно на платёжном аккаунте и сохраните его Billing Account ID.
Роль на каталоге не даёт доступ к Billing API. И наоборот, billing.accounts.viewer не даёт доступ к VM или Kubernetes. Эти назначения проверяются независимо.
Выберите доступ к Kubernetes API
Права cloud API позволяют обнаружить кластер, но не гарантируют чтение nodes, pods и других Kubernetes-ресурсов.
| Модель | Доступ | Когда использовать |
|---|---|---|
| Прямой SaaS-аудит | k8s.cluster-api.cluster-admin на каталоге может потребоваться для получения полного доступа через IAM-токен. Backend сообщает об этом при Forbidden. | Допустим внешний доступ к API master и роль согласована службой безопасности. |
| In-cluster агент | Helm chart создаёт собственный Kubernetes ServiceAccount с уровнем monitor или apply. | Нельзя передавать внешний kubeconfig или нужен исходящий-only трафик. |
Для чтения текущей загрузки установите metrics-server и проверьте kubectl top pods -A. Исторические ряды Prometheus подключаются отдельным backend-потоком.
Проверка до создания коннектора
# Проверить, что выбран правильный каталог
yc resource-manager folder get <FOLDER_ID>
# Проверить видимость кластеров
yc managed-kubernetes cluster list --folder-id <FOLDER_ID>
# Внутри кластера проверить metrics-server
kubectl top nodes
kubectl top pods -A