- tocdepth
2
Как избежать последствий недоступности Docker Hub?
Недоступность Docker Hub может вызвать проблемы, если от загрузки образов из него зависят ваши приложения и процессы. Чтобы минимизировать последствия недоступности Docker Hub, можно:
Изменить публичный репозиторий по умолчанию
Изменить публичный репозиторий, используемый по умолчанию, можно:
Docker
Передайте параметр --registry-mirror
с нужным значением вручную при запуске dockerd.
Чтобы не менять репозиторий каждый раз вручную:
Добавьте в файл
/etc/docker/daemon.json
ключ-значение:{ "registry-mirrors": ["https://your-registry-mirror-url"] }
Где
https://your-registry-mirror-url
замените на URL нужного зеркала.Сохраните файл и перезапустите Docker, чтобы изменения вступили в силу.
containerd
Убедитесь, что в
/etc/containerd/config.toml
задано:plugins."io.containerd.grpc.v1.cri".registry.config_path = "/etc/containerd/certs.d"
Создайте файл
/etc/containerd/certs.d/docker.io/hosts.toml
с содержимым:server = "https://registry-1.docker.io" host."https://your-registry-mirror-url".capabilities = ["pull", "resolve"]
Где
https://your-registry-mirror-url
замените на URL нужного зеркала.Перезапустите containerd.
При создании нового кластера Cloud Container Engine
Автоматизируйте процесс изменения публичного репозитория по умолчанию с помощью параметра Post-installation Command
во время создания узла.
Загрузить образ через консоль SWR
Ограничения и особенности:
Одновременно можно загрузить не больше 10 файлов. Размер файла после распаковки не должен превышать 2 ГБ.
Пакет образа создается с использованием механизма контейнеров 1.11.2 или более поздней версии.
Перед началом работы:
Убедитесь, что в SoftWare Repository for Container создана организация или создайте новую.
Убедитесь, что образ упакован в архив
.tar
или.tar.gz
.См.также
Чтобы загрузить образ в SWR:
Войдите в консоль управления Advanced:
В списке сервисов выберите SoftWare Repository for Container.
В меню слева перейдите в раздел My Images.
В правом верхнем углу нажмите Upload Through SWR.
Выберите организацию, нажмите Select File и выберите файлы для загрузки.
Над списком файлов нажмите Upload, чтобы начать загрузку файлов по очереди.
Использовать образы из сторонних репозиториев
Cloud Container Engine позволяет создавать рабочие нагрузки, используя образы из сторонних репозиториев. Для доступа к стороннему хранилищу образов может потребоваться аутентификация. В таком случае для данных аутентификации нужно создать секрет (en).
Указать сторонний репозиторий можно через консоль управления или kubectl.
Примечание
Узел, на котором выполняется рабочая нагрузка, должен быть доступен из публичной сети.
Через консоль управления
Войдите в консоль управления Advanced:
В списке сервисов выберите Cloud Container Engine.
Нажмите на название нужного кластера.
(Опционально) Если для доступа к репозиторию нужна аутентификация, создайте секрет в разделе
.При создании в поле Secret Type выберите kubernetes.io/dockerconfigjson.
При создании рабочей нагрузки в поле Image Name введите путь к образу в формате
domain-name/namespace/image-name:tag
. Например:your-registry-mirror-url/library/nginx:stable-perl
(Опционально) Если для доступа к репозиторию требуется аутентификация, при создании рабочей нагрузки в поле Image Access Credential выберите секрет, созданный ранее.
Задайте все остальные параметры и нажмите Create Workload.
Через kubectl
(Опционально) Если для доступа к репозиторию нужна аутентификация, создайте секрет
kubernetes.io/dockerconfigjson
:kubectl create secret docker-registry myregistrykey -n default --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
Где:
myregistrykey
— имя ключа;default
— пространство имен, в котором находится ключ;DOCKER_REGISTRY_SERVER
— URL или IP-адрес репозитория;DOCKER_USER
— имя пользователя;DOCKER_PASSWORD
— пароль пользователя;DOCKER_EMAIL
— email.
Создайте рабочую нагрузку с использованием стороннего образа:
apiVersion: v1 kind: Pod metadata: name: foo namespace: default spec: containers: - name: foo image: your-registry-mirror-url/library/nginx:stable-perl imagePullSecrets: - name: myregistrykey
Где
myregistrykey
— опциональный параметр.
Редактирование YAML-конфигурации существующего CCE-кластера
Чтобы изменить репозиторий для скачивания образов у существующего кластера, отредактируйте конфигурацию через консоль управления Advanced. Для этого:
Войдите в консоль управления Advanced:
В списке сервисов выберите Cloud Container Engine.
Нажмите на название нужного кластера.
В меню слева перейдите в раздел Workloads.
Напротив нужной рабочей нагрузки нажмите
.Найдите раздел файла, в котором задается репозиторий, и укажите нужный:
spec: containers: - name: container-name image: your-registry-mirror-url/library/nginx:stable-perl
для Dev & Test