С помощью Alauda Container Platform вы можете взаимодействовать с образами в зависимости от того, где расположены реестры образов, какие требования к аутентификации существуют для этих реестров и как вы хотите, чтобы ваши сборки и развертывания работали.
Каждый контейнер в pod использует образ контейнера. После того как вы создали образ и загрузили его в реестр, вы можете ссылаться на него в pod.
Когда Alauda Container Platform создает контейнеры, она использует параметр imagePullPolicy
контейнера, чтобы определить, нужно ли загружать образ перед запуском контейнера. Существует три возможных значения для imagePullPolicy
:
Таблица значений imagePullPolicy
:
Значение | Описание |
---|---|
Always | Всегда загружать образ. |
IfNotPresent | Загружать образ только если он отсутствует на узле. |
Never | Никогда не загружать образ. |
Если параметр imagePullPolicy контейнера не указан, Alauda Container Platform устанавливает его в зависимости от тега образа:
Если вы используете реестр образов Alauda Container Platform, то учетная запись сервиса вашего pod уже должна иметь необходимые разрешения, и дополнительных действий не требуется.
Однако в других сценариях, например, при обращении к образам из других проектов Alauda Container Platform или из защищенных реестров, необходима дополнительная настройка.
Чтобы загрузить защищенный контейнер из других приватных или защищенных реестров, необходимо создать pull secret на основе учетных данных вашего контейнерного клиента, например Docker
, и добавить его в вашу учетную запись сервиса.
Docker использует конфигурационный файл для хранения данных аутентификации для входа в защищенный или незащищенный реестр:
По умолчанию Docker использует файл $HOME/.docker/config.json.
Эти файлы хранят информацию для аутентификации, если вы ранее входили в защищенный или незащищенный реестр.
Вы можете получить секрет для загрузки образа из приватного реестра контейнерных образов или репозитория. Подробнее см. Pull an Image from a Private Registry.
Вы можете использовать pull secret, чтобы разрешить рабочим нагрузкам загружать образы из приватного реестра одним из следующих способов:
ServiceAccount
, что автоматически применит секрет ко всем pod, использующим эту учетную запись сервиса.imagePullSecrets
в спецификации pod, что удобно для таких сред, как GitOps или ArgoCD.Вы можете использовать секрет для загрузки образов pod, добавив секрет в вашу учетную запись сервиса. Обратите внимание, что имя учетной записи сервиса должно совпадать с именем учетной записи, которую использует pod.
Пример вывода:
Вместо связывания секрета с учетной записью сервиса, вы можете ссылаться на него напрямую в определении pod или рабочей нагрузки. Это удобно для GitOps-процессов, таких как ArgoCD. Например:
Пример спецификации pod:
Пример workflow ArgoCD: