OCI Connector — это платформонезависимый коннектор, который позволяет подключаться к любому OCI Registry, например Docker Hub, Harbor и т.д. Вы можете использовать OCI Connector для безопасного доступа к приватным OCI-репозиториям в CI/CD пайплайнах или выполнять операции с OCI в контейнеризованных нагрузках без предоставления учетных данных. Кроме того, вы можете централизованно управлять конфигурациями доступа к OCI, избегая необходимости дублировать настройки учетных данных OCI в каждом namespace.
В этом документе описано:
OCI Registry, к которому осуществляется доступ, должен соответствовать следующим условиям:
Требования к реализации интерфейсов:
Требования к методу аутентификации:
Используйте константное значение oci
.
Вы можете добавить описательную информацию к OCI Connector через поле annotations
.
cpaas.io/description
: описание OCI Connector.Например:
spec.address
указывает адрес доступа к OCI Registry, например: https://index.docker.io
.
Поддерживаемые типы аутентификации для OCI Connector:
tokenAuth
: аутентификация на основе токена (опционально)
cpaas.io/distribution-registry-token
, этот тип учетных данных используется для процесса аутентификации, определённого в CNCF Distribution Token Authentication Specification, и учетные данные должны содержать информацию username
и password
.Например:
Если целевой OCI Registry не требует аутентификации, вы можете опустить информацию об аутентификации. Пример конфигурации:
Для предоставления клиентам возможности доступа к OCI-репозиториям без учетных данных, тип OCI Connector предлагает прокси-сервер, который автоматически внедряет информацию об аутентификации.
Клиенты, имеющие доступ к коннектору, могут использовать этот прокси-сервер для доступа к OCI-репозиториям без необходимости настраивать учетные данные на стороне клиента.
Для упрощения использования тип OCI Connector предоставляет конфигурационную информацию, которую можно монтировать в Pods через CSI. В Pod при выполнении операций с OCI автоматически может использоваться прокси-сервис для завершения операций с OCI.
При создании Connector система:
status.proxy.httpAddress
.Вы можете использовать этот адрес прокси для операций push и pull образов.
Например:
OCI Connector, созданный на основе типа OCI Connector, предоставляет следующие конфигурации:
docker-config: конфигурационная информация, необходимая для Docker CLI.
config.json
.Например:
dockerd: конфигурационная информация для Docker Daemon.
daemon.json
.insecure-registries
.Например:
buildkitd: конфигурационная информация, необходимая для BuildKit Daemon.
buildkitd.toml
.insecure-registries
.Например:
Вы можете монтировать эту конфигурационную информацию в Pods с помощью connectors-csi и, в сочетании с возможностями прокси, выполнять операции push или pull образов без использования секретов.