常用 CLI 命令操作

Alauda 容器平台提供了命令行工具,供用户与 Alauda 容器平台注册中心进行交互。以下是一些常见操作和命令的示例:

假设集群的 Alauda 容器平台注册中心的服务地址为 registry.cluster.local,您当前工作的命名空间为 my-ns。

请联系技术服务以获取 kubectl-acp 插件,并确保其在您的环境中正确安装。

目录

登录注册中心

通过登录 ACP 来登录集群的注册中心。

kubectl acp login <ACP-endpoint>

为用户添加命名空间权限

为用户添加命名空间拉取权限。

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

为用户添加命名空间推送权限。

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

为服务账户添加命名空间权限

为服务账户添加命名空间拉取权限。

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

为服务账户添加命名空间推送权限。

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

拉取镜像

从注册中心拉取镜像到集群内部(例如,用于 Pod 部署)。

# 从当前命名空间(my-ns)的注册中心拉取名为 my-app、标签为 latest 的镜像
kubectl acp pull registry.cluster.local/my-ns/my-app:latest

# 从其他命名空间(例如 shared-ns)拉取镜像(需要有从 shared-ns 命名空间拉取的权限)
kubectl acp pull registry.cluster.local/shared-ns/base-image:latest

此命令验证您在目标命名空间的身份和拉取权限,然后从注册中心拉取镜像。

推送镜像

将本地构建的镜像或从其他地方拉取的镜像推送到注册中心的特定命名空间。

您需要首先使用标准容器命令行工具(如 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 容器平台注册中心的特定命名空间。

# 如果您的远程镜像仓库中有镜像 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

此命令验证您在 my-ns 命名空间内的身份和推送权限,然后将本地标记的镜像上传到注册中心。