Сторонние образы — это образы контейнеров, предоставляемые организациями или отдельными лицами, отличными от официального репозитория образов и репозитория образов SWR. Как правило, такие образы содержат пользовательские приложения, инструменты или конкретные версии операционных систем для удовлетворения определённых требований сервиса. В стандартном или Turbo‑кластере CCE вы можете создавать рабочие нагрузки, используя сторонние образы, полученные через аутентификацию с помощью секрета. Для получения дополнительной информации см. Использование частного реестра.
Если используются сторонние образы, стандартный или Turbo‑кластер CCE должен иметь доступ к сетевой среде, где развернут репозиторий сторонних образов. Типы сетевого доступа включают:
Обеспечьте достаточную пропускную способность при получении образов через Интернет. Недостаточная пропускная способность может привести к медленному или неудачному получению образов.
Чтобы создать секрет в консоли и получить сторонний образ для создания рабочей нагрузки, выполните следующие действия.
Параметр | Пример значения | Описание |
|---|---|---|
Имя | test | Имя секрета. Введите до 253 символов. Начинайте и заканчивайте строчной буквой или цифрой. Разрешены только строчные буквы, цифры, дефисы (-) и точки (.) |
Тип секрета | kubernetes.io/dockerconfigjson | Тип секрета. Значение фиксировано как kubernetes.io/dockerconfigjson, указывая, что секрет используется для аутентификации при получении сторонних образов. |
Данные | Адрес репозитория образов: www.example.com Имя пользователя: ssl Пароль: xxx |
|
Если при вводе адреса стороннего образа не указано доменное имя, например, nginx:latest, образ будет получен из docker.io по умолчанию. Чтобы указать адрес по умолчанию для получения образов, настройте Изменить конфигурацию репозитория образов параметр в конфигурации среды выполнения контейнеров пула узлов.
kubectl create secret docker-registry test -n default --docker-server=www.example.com --docker-username=ssl --docker-password=xxx --docker-email=example@123.com
В команде test указывает имя секрета, default указывает пространство имён, где находится секрет, а другие параметры описаны в следующей таблице.
Параметр | Пример значения | Описание |
|---|---|---|
docker-server | www.example.com | Введите адрес репозитория сторонних образов. |
docker-username | ssl | Введите имя пользователя для доступа к репозиторию сторонних образов. |
docker-password | xxx | Введите пароль для доступа к репозиторию сторонних образов. |
docker-email | example@123.com | Электронный адрес репозитория сторонних образов. Этот параметр необязателен. |
Отображается информация, аналогичная следующей:
secret/test создан
kubectl get secret
Если отображена следующая информация, секрет создан:
NAME TYPE DATA AGEdefault-secret kubernetes.io/dockerconfigjson 1 41hpaas.elb cfe/secure-opaque 1 41htesttest kubernetes.io/dockerconfigjsonkubernetes.io/dockerconfigjson 1 16s
vim deployment.yaml
Пример содержимого файла:
apiVersion: apps/v1kind: Deploymentmetadata:name: foonamespace: defaultspec:replicas: 1selector:matchLabels:app: foostrategy:type: RollingUpdatetemplate:metadata:labels:app: foospec:containers:- image: www.example.com/janedoe/awesomeapp:v1www.example.com/janedoe/awesomeapp:v1# Third-party image pathimagePullPolicy: Alwaysname: fooimagePullSecrets:- name: testtest# Use the created secret for identity authentication when images are pulled.
Если при вводе адреса стороннего образа не указано доменное имя, например, nginx:latest, образ будет получен из docker.io по умолчанию. Чтобы задать адрес по умолчанию для получения образов, настройте Изменить конфигурацию репозитория образов параметр в конфигурации среды выполнения контейнеров пула узлов.
kubectl create -f deployment.yaml
Если отображена информация, аналогичная следующей, рабочая нагрузка создаётся:
deployment.apps/foo created
kubectl get deployment
Если все поды рабочей нагрузки доступны, рабочая нагрузка создана.
NAME READY UP-TO-DATE AVAILABLE AGEfoo 1/1 1 1 4m59s