Using Alauda Container Platform Registry in Kubernetes Clusters
Реестр Alauda Container Platform (ACP) обеспечивает безопасное управление образами контейнеров для рабочих нагрузок Kubernetes.
Содержание
Registry Access Guidelines
- Рекомендуется использовать внутренний адрес: Для образов, хранящихся в реестре кластера, всегда отдавайте предпочтение внутреннему сервисному адресу
internal-docker-registry.cpaas-system.svcпри развертывании внутри кластера. Это обеспечивает оптимальную сетевую производительность и избегает ненужной внешней маршрутизации. - Использование внешнего адреса: Внешний ingress-домен (например,
registry.cluster.local) предназначен в первую очередь для:- загрузки/выгрузки образов из вне кластера (например, с машин разработчиков, CI/CD систем)
- операций вне кластера, требующих доступа к реестру
Deploy Sample Application
- Создайте приложение с именем
my-appв пространстве имёнmy-ns. - Сохраните образ приложения в реестре по адресу
internal-docker-registry.cpaas-system.svc/my-ns/my-app:v1. - По умолчанию ServiceAccount в каждом пространстве имён автоматически настраивается с imagePullSecret для доступа к образам из
internal-docker-registry.cpaas-system.svc.
Пример Deployment:
Cross-Namespace Access
Чтобы разрешить пользователям из my-ns вытягивать образы из shared-ns, администратор shared-ns может создать role binding для предоставления необходимых разрешений.
Example Role Binding
Best Practices
- Использование реестра: Всегда используйте
internal-docker-registry.cpaas-system.svcдля развертываний, чтобы обеспечить безопасность и производительность. - Изоляция пространств имён: Используйте изоляцию пространств имён для улучшения безопасности и управления образами.
- Используйте пути образов на основе пространства имён:
internal-docker-registry.cpaas-system.svc/<namespace>/<image>:<tag>.
- Используйте пути образов на основе пространства имён:
- Контроль доступа: Используйте role binding для управления доступом между пространствами имён для пользователей и сервисных аккаунтов.
Verification Checklist
-
Проверьте доступность образа для ServiceAccount по умолчанию в
my-ns: -
Проверьте доступность образа для пользователя в
my-ns:
Troubleshooting
- Ошибки при загрузке образа: Проверьте imagePullSecrets в спецификации pod и убедитесь, что они настроены корректно.
- Отказ в доступе: Убедитесь, что у пользователя или ServiceAccount есть необходимые role binding в целевом пространстве имён.
- Проблемы с сетью: Проверьте сетевые политики и конфигурации сервисов для обеспечения подключения к внутреннему реестру.
- Сбои DNS: Проверьте содержимое файла
/etc/hostsна узле, убедитесь, что разрешение DNS дляinternal-docker-registry.cpaas-system.svcнастроено корректно.- Проверьте конфигурацию /etc/hosts на узле для корректного разрешения DNS
internal-docker-registry.cpaas-system.svc - Пример отображения сервиса реестра (ClusterIP сервиса internal-docker-registry):
- Как получить текущий ClusterIP
internal-docker-registry:
- Проверьте конфигурацию /etc/hosts на узле для корректного разрешения DNS