Сторонние образы — это образы контейнеров, предоставляемые организациями или отдельными лицами, отличными от официального репозитория образов и репозитория образов SWR. Эти образы обычно содержат пользовательские приложения, инструменты или определённые версии ОС для удовлетворения конкретных требований к сервису. В стандартном или Turbo кластере CCE вы можете создавать нагрузки, используя сторонние образы, получаемые с помощью секретной аутентификации. Для получения дополнительной информации см. Использование частного реестра.
Если используются сторонние образы, стандартный или Turbo кластер CCE должен иметь возможность доступа к сетевой среде, в которой развернут сторонний репозиторий образов. Типы сетевого доступа включают:
Обеспечьте достаточную полосу пропускания при загрузке образов через Интернет. Недостаточная полоса пропускания может привести к медленной или неудачной загрузке образов.
Чтобы создать секрет в консоли и загрузить образ стороннего поставщика для создания рабочей нагрузки, выполните следующие действия.
Параметр | Пример значения | Описание |
|---|---|---|
Имя | тест | Имя секрета. Введите до 253 символов. Начинайте и заканчивайте со строчной буквы или цифры. Разрешены только строчные буквы, цифры, дефисы (-) и точки (.). |
Тип секрета | kubernetes.io/dockerconfigjson | Тип секрета. Значение фиксировано на kubernetes.io/dockerconfigjson, indicating that the secret is used for authentication when third-party images are pulled. |
Данные | Image Repository Address: www.example.com Username: ssl Password: xxx |
|
Если вы не указываете доменное имя при вводе адреса стороннего образа, например, nginx:latest, образ будет загружен из docker.io по умолчанию. Чтобы указать адрес загрузки образа по умолчанию, настройте Modify Image Repository Configuration параметр в конфигурация контейнерного движка пула узлов.
kubectl create secret docker-registry test -n default --docker-server=www.example.com --docker-username=ssl --docker-password=xxx --docker-email=example@123.com
В команде, тест указывает имя секрета, по умолчанию указывает пространство имён, где расположен секрет, а другие параметры описаны в следующей таблице.
Параметр | Пример значения | Описание |
|---|---|---|
docker-server | www.example.com | Введите адрес третьего репозитория образов. |
docker-username | ssl | Введите имя пользователя для доступа к стороннему репозиторию образов. |
docker-password | xxx | Введите пароль для доступа к стороннему репозиторию образов. |
docker-email | example@123.com | Электронный адрес стороннего репозитория образов. Этот параметр является необязательным. |
Отображается информация, аналогичная следующей:
secret/test created
kubectl get secret
Если отображается следующая информация, секрет создан:
NAME TYPE DATA AGEdefault-secret kubernetes.io/dockerconfigjson 1 41hpaas.elb cfe/secure-opaque 1 41htest kubernetes.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:v1 # Third-party image pathimagePullPolicy: Alwaysname: fooimagePullSecrets:- name: test # 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
Если все pod'ы рабочей нагрузки доступны, рабочая нагрузка создана.
NAME READY UP-TO-DATE AVAILABLE AGEfoo 1/1 1 1 4m59s