创建秘钥
在使用 弹性容器集群
部署容器时,首先需要把镜像上传到 弹性容器集群
同步开通的镜像仓库
本节介绍 弹性容器集群
镜像仓库的密钥管理及在容器中使用密钥
配置密钥
首先组织密钥JSON文件
获取镜像仓库连接地址
登录Alana New官网,点击右上角资源中心,进入资源中心页面,如下:
在右上角选择开通弹性容器集群的智算中心,然后选择菜单栏的存储管理,选择镜像仓库,点击访问进入
获取上图的访问地址部分,不需要后面的项目名称
短信获取用户名密码
在开通镜像仓库以后,用户名密码以短信的形式发送,如下图
生成配置json
示例:
{
"auths": {
"镜像仓库访问域名": {
"username": "your-username",
"password": "your-harbor-password",
"email": "your-email"
}
}
}
其次 对上述json文件进行base64编码
- linux
- windows
- 在线编码
base64 config.json > encode-config.json
certutil -encode config.json encode-config.json
可以使用在线编码工具:
https://www.bejson.com/enc/base64/
最后 生成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