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