Распространённые операции с командами 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, а затем загружает локально промаркированный образ в реестр.