跳到主要内容

创建秘钥

在使用 弹性容器集群 部署容器时,首先需要把镜像上传到 弹性容器集群 同步开通的镜像仓库 本节介绍 弹性容器集群 镜像仓库的密钥管理及在容器中使用密钥

配置密钥

首先组织密钥JSON文件

获取镜像仓库连接地址

登录Alana New官网,点击右上角资源中心,进入资源中心页面,如下: image

在右上角选择开通弹性容器集群的智算中心,然后选择菜单栏的存储管理,选择镜像仓库,点击访问进入 image

获取上图的访问地址部分,不需要后面的项目名称

短信获取用户名密码

在开通镜像仓库以后,用户名密码以短信的形式发送,如下图 image

生成配置json

示例:

{
"auths": {
"镜像仓库访问域名": {
"username": "your-username",
"password": "your-harbor-password",
"email": "your-email"
}
}
}


其次 对上述json文件进行base64编码

base64 config.json > encode-config.json

最后 生成k8s的secret资源

其中 .dockerconfigjson 的值即上步中,编码后的文件内容 示例:

apiVersion: v1
kind: Secret
metadata:
name: ydyd-harbor-secret
namespace: your-namespace
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: ewogICAgImF***********************************zd29yZCI6ICJZQVNETmhiZGFzIT8jMTJRIiwKICAgICAgICAgICAgImVtYWlsIjogInpoYW5ncG9AemV0eXVuLmNvbSIKICAgICAgICB9CiAgICB9Cn0K

使用密钥

在部署容器时,使用配置的密钥拉取镜像
示例

apiVersion: v1
kind: Pod
metadata:
name: your-pod-name
namespace: your-namespace
spec:
imagePullSecrets:
- name: your-harbor-secret
containers:
- name: your-contain-name
image: your-image
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /mnt/test
name: your-volume-name
command: ['/bin/bash', '-c', 'while true; do sleep 30; done']
volumes:
- name: your-volume-name
persistentVolumeClaim:
claimName: your-pvc-name