OCI ConnectorClass
OCI ConnectorClass — это класс коннектора, используемый для определения OCI Connector. Он позволяет пользователям легко получить доступ к OCI Registry (репозиторий образов OCI) внутри кластера.
Содержание
Требования к доступу
OCI Registry, к которому осуществляется доступ, должен соответствовать следующим условиям:
-
Требования к реализации интерфейса:
- Должен реализовывать как минимум интерфейсы, определённые в спецификации opencontainers/distribution-spec версии 1.0.
- Должен успешно проходить тест на соответствие distribution-spec.
-
Требования к методу аутентификации:
- Должен поддерживать аутентификацию на основе токена и соответствовать CNCF Distribution Token Authentication Specification.
Быстрый старт
Ограничения параметров для Connector
spec.connectorClassName
Обязательно использовать константное значение oci.
spec.address
Указывает адрес доступа к OCI Registry, например: http://harbor.example.com.
spec.auth.name
Типы аутентификации, поддерживаемые OCI Connector:
tokenAuth: аутентификация на основе токена (опционально)- Соответствующий тип учётных данных:
cpaas.io/distribution-registry-token, данный тип учётных данных используется для процесса аутентификации, определённого в CNCF Distribution Token Authentication Specification, и должен предоставлять информациюusernameиpassword.
- Соответствующий тип учётных данных:
Пример:
Если целевой OCI Registry не требует аутентификации, информацию об аутентификации можно опустить. Пример конфигурации:
spec.auth.params[]
Конфигурация проверки работоспособности:
repository: указывает репозиторий образов, используемый для проверки работоспособности, пример: library/ubuntu.
Описание возможностей
Проверка работоспособности
После создания Connector система выполнит следующие действия:
- Выполнит проверку работоспособности с использованием репозитория образов, указанного в
spec.auth.params[name=repository]. - Сохранит результаты проверки в поле
status.conditions[type=AuthReady].
Информация о конфигурации
OCI ConnectorClass предоставляет следующие конфигурации:
docker-config: информация конфигурации Docker.- Предоставляет файл конфигурации
config.json. - Содержит данные аутентификации, необходимые для доступа к прокси.
- Предоставляет файл конфигурации
Пример:
dockerd: информация конфигурации Docker Daemon. Предоставляется файл конфигурацииdaemon.json, по умолчанию конфигурация Docker Daemon устанавливает текущий коннектор какinsecure-registries.
Пример:
buildkitd: информация конфигурации BuildKit Daemon. Предоставляется файл конфигурацииbuildkitd.toml, по умолчанию конфигурация BuildKit Daemon устанавливает текущий коннектор какinsecure-registries.
Пример:
Эту конфигурацию можно смонтировать в Pods с помощью connectors-csi, что позволяет выполнять push или pull образов без ключей (Secretless).
Информация о прокси
После создания Connector система:
- Автоматически создаст Service для прокси.
- Запишет адрес прокси в поле
status.proxy.httpAddress.
Вы можете использовать этот адрес прокси для операций push и pull образов.
Пример: