• Русский
  • Управление образами

    С помощью Alauda Container Platform вы можете взаимодействовать с образами в зависимости от того, где расположены реестры образов, какие требования к аутентификации существуют для этих реестров и как вы хотите, чтобы выполнялись ваши сборки и развертывания.

    Политика загрузки образов

    Каждый контейнер в pod использует образ контейнера. После того как вы создали образ и отправили его в реестр, вы можете ссылаться на него в pod.

    Обзор политики загрузки образов

    Когда Alauda Container Platform создает контейнеры, она использует параметр imagePullPolicy контейнера, чтобы определить, нужно ли загружать образ перед запуском контейнера. Существует три возможных значения для imagePullPolicy:

    Таблица значений imagePullPolicy:

    ЗначениеОписание
    AlwaysВсегда загружать образ.
    IfNotPresentЗагружать образ только если он отсутствует на узле.
    NeverНикогда не загружать образ.

    Если параметр imagePullPolicy для контейнера не указан, Alauda Container Platform устанавливает его в зависимости от тега образа:

    1. Если тег — latest, по умолчанию устанавливается imagePullPolicy со значением Always.
    2. В противном случае по умолчанию устанавливается imagePullPolicy со значением IfNotPresent.

    Использование секретов для загрузки образов

    Если вы используете реестр образов Alauda Container Platform, то учетная запись сервиса вашего pod уже должна иметь необходимые разрешения, и дополнительных действий не требуется.

    Однако в других сценариях, например при обращении к образам из разных проектов Alauda Container Platform или из защищенных реестров, требуется дополнительная настройка.

    Разрешение pod использовать образы из других защищенных реестров

    Чтобы загрузить защищенный контейнер из других приватных или защищенных реестров, необходимо создать секрет загрузки (pull secret) из учетных данных вашего контейнерного клиента, например Podman, и добавить его в вашу учетную запись сервиса.

    Контейнерные клиенты используют конфигурационный файл для хранения данных аутентификации для входа в защищенный или незащищенный реестр:

    Эти файлы сохраняют ваши данные аутентификации, если вы ранее входили в защищенный или незащищенный реестр.

    Создание секрета загрузки

    Вы можете получить секрет загрузки образа для загрузки образа из приватного реестра контейнеров или репозитория. Подробнее см. Pull an Image from a Private Registry.

    Использование секрета загрузки в рабочей нагрузке

    Вы можете использовать секрет загрузки, чтобы разрешить рабочим нагрузкам загружать образы из приватного реестра одним из следующих способов:

    • Связать секрет с ServiceAccount, что автоматически применит секрет ко всем pod, использующим эту учетную запись сервиса.
    • Определить imagePullSecrets в спецификации pod, что удобно для таких сред, как GitOps или ArgoCD.

    Вы можете использовать секрет для загрузки образов для pod, добавив секрет в вашу учетную запись сервиса. Обратите внимание, что имя учетной записи сервиса должно совпадать с именем учетной записи сервиса, которую использует pod.

    Пример вывода:

    apiVersion: v1
    imagePullSecrets:
    - name: default-cfg-123456
    - name: <pull_secret_name>
    kind: ServiceAccount
    metadata:
      name: default
      namespace: default
    secrets:
    - name: <pull_secret_name>

    Вместо связывания секрета с учетной записью сервиса вы можете ссылаться на него напрямую в определении pod или рабочей нагрузки. Это удобно для рабочих процессов GitOps, таких как ArgoCD. Например:

    Пример спецификации pod:

    apiVersion: v1
    kind: Pod
    metadata:
      name: <secure_pod_name>
    spec:
      containers:
      - name: <container_name>
        image: your.registry.io/my-private-image
      imagePullSecrets:
      - name: <pull_secret_name>

    Пример рабочего процесса ArgoCD:

    apiVersion: argoproj.io/v1alpha1
    kind: Workflow
    metadata:
      generateName: <example_workflow>
    spec:
      entrypoint: <main_task>
      imagePullSecrets:
      - name: <pull_secret_name>