Управление образами
В Alauda Container Platform можно работать с образами в зависимости от того, где расположены registries образов, какие требования к аутентификации предъявляются к этим registries и как вы хотите, чтобы выполнялись ваши сборки и развертывания.
Содержание
Политика загрузки образаОбзор политики загрузки образаИспользование secret для загрузки образовРазрешение pod ссылаться на образы из других защищенных registriesСоздание pull secretИспользование pull secret в workloadПолитика загрузки образа
В каждом контейнере в pod есть container image. После того как вы создали образ и отправили его в registry, вы можете затем ссылаться на него в pod.
Обзор политики загрузки образа
Когда Alauda Container Platform создает контейнеры, она использует container imagePullPolicy, чтобы определить, следует ли загружать образ перед запуском контейнера. Для imagePullPolicy доступны три возможных значения:
Таблица значений imagePullPolicy:
Если параметр imagePullPolicy контейнера не указан, Alauda Container Platform задает его на основе тега образа:
- Если тег — latest, Alauda Container Platform по умолчанию устанавливает для imagePullPolicy значение Always.
- В противном случае Alauda Container Platform по умолчанию устанавливает для imagePullPolicy значение IfNotPresent.
Использование secret для загрузки образов
Если вы используете Alauda Container Platform image registry, то у вашей service account pod уже должны быть правильные разрешения, и никаких дополнительных действий не требуется.
Однако для других сценариев, например при обращении к образам между проектами Alauda Container Platform или из защищенных registries, требуются дополнительные шаги настройки.
Разрешение pod ссылаться на образы из других защищенных registries
Чтобы загрузить защищенный container из других private или защищенных registries, необходимо создать pull secret на основе учетных данных вашего container client, например Docker, и добавить его в вашу service account.
Docker использует конфигурационный файл для хранения сведений об аутентификации, чтобы выполнять вход в защищенный или незащищенный registry:
По умолчанию Docker использует $HOME/.docker/config.json.
Эти файлы хранят вашу информацию аутентификации, если вы ранее входили в защищенный или незащищенный registry.
Создание pull secret
Вы можете получить image pull secret, чтобы загружать образ из private container image registry или repository. См. Pull an Image from a Private Registry.
Использование pull secret в workload
Вы можете использовать pull secret, чтобы разрешить workload загружать образы из private registry, одним из следующих способов:
- Связав secret с
ServiceAccount, что автоматически применит secret ко всем pod, использующим эту service account. - Определив
imagePullSecretsв спецификации pod, что полезно для сред вроде GitOps или ArgoCD.
Вы можете использовать secret для загрузки образов для pod, добавив secret в вашу service account. Обратите внимание, что имя service account должно совпадать с именем service account, которую использует pod.
Пример вывода:
Вместо связывания secret с service account вы также можете сослаться на него напрямую в определении pod или workload. Это полезно для GitOps-процессов, таких как ArgoCD. Например:
Пример спецификации pod:
Пример workflow ArgoCD: