Распространённые операции с командами CLI

Платформа Alauda Container Platform предоставляет инструменты командной строки для взаимодействия пользователей с реестром Alauda Container Platform. Ниже приведены примеры распространённых операций и команд:

Предположим, что адрес сервиса реестра для кластера — registry.cluster.local, а пространство имён, с которым вы сейчас работаете — my-ns.

Свяжитесь с технической службой, чтобы получить плагин kubectl-acp и убедитесь, что он правильно установлен в вашей среде.

Содержание

Вход в реестр

Войдите в реестр кластера, выполнив вход в ACP.

kubectl acp login <ACP-endpoint>

Добавление разрешений на пространство имён для пользователей

Добавить пользователю разрешение на pull в пространстве имён.

kubectl create rolebinding <binding-name> --clusterrole=system:image-puller --user=<username> -n <namespace>

Добавить пользователю разрешение на push в пространстве имён.

kubectl create rolebinding <binding-name> --clusterrole=system:image-pusher --user=<username> -n <namespace>

Добавление разрешений на пространство имён для сервисного аккаунта

Добавить сервисному аккаунту разрешение на pull в пространстве имён.

kubectl create rolebinding <binding-name> --clusterrole=system:image-puller --serviceaccount=<namespace>:<serviceaccount-name> -n <namespace>

Добавить сервисному аккаунту разрешение на push в пространстве имён.

kubectl create rolebinding <binding-name> --clusterrole=system:image-pusher --serviceaccount=<namespace>:<serviceaccount-name> -n <namespace>

Загрузка образов (Pulling Images)

Загружает образ из реестра внутрь кластера (например, для развертывания Pod).

# Загрузить образ с именем my-app и тегом latest из реестра текущего пространства имён (my-ns)
kubectl acp pull registry.cluster.local/my-ns/my-app:latest

# Загрузить образы из других пространств имён (например, shared-ns) (требуется разрешение на pull из пространства shared-ns)
kubectl acp pull registry.cluster.local/shared-ns/base-image:latest

Эта команда проверяет вашу личность и разрешения на pull в целевом пространстве имён, а затем загружает образ из реестра.

Отправка образов (Pushing Images)

Отправляет локально собранные образы или образы, загруженные из других источников, в определённое пространство имён реестра.

Сначала необходимо с помощью стандартного инструмента командной строки для контейнеров, например docker, присвоить локальному образу тег с адресом и форматом пространства имён целевого реестра.

# Присвоить тег с целевым адресом:
docker tag my-app:latest registry.cluster.local/my-ns/my-app:v1

# Использовать команду kubectl для отправки в реестр текущего пространства имён (my-ns)
kubectl acp push registry.cluster.local/my-ns/my-app:v1

Отправляет образ из удалённого репозитория образов в определённое пространство имён реестра Alauda Container Platform.

# Если в вашем удалённом репозитории образов есть образ remote.registry.io/demo/my-app:latest
# Используйте команду kubectl для отправки его в пространство имён (my-ns) реестра
kubectl acp push remote.registry.io/demo/my-app:latest registry.cluster.local/my-ns/my-app:latest

Эта команда проверяет вашу личность и разрешения на push в пространстве имён my-ns, а затем загружает локально промаркированный образ в реестр.