跳到主要内容

创建密钥

更新时间:2025-11-18 16:58:25

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

前提条件

获取镜像仓库连接地址

  1. 登录Alaya NeW官网,点击“产品 > 存储 > 镜像仓库”,进入镜像仓库页面。

  2. 在右上角选择开通弹性容器集群和开通镜像仓库的智算中心,然后点击“私有镜像”页签,查看镜像详情信息。

    image

    获取上图所示的访问地址部分即为镜像仓库连接地址,无需后面的项目名称信息。

获取用户名和密码

  • 方式一:在开通镜像仓库以后,用户名和密码会以短信的形式发送。

  • 方式二:如果您没有收到短信提醒或者误删了短信,您可以在“访问管理”页面重置用户名和密码。

    1. 在页面右上角单击用户头像,然后在下拉列表选择“访问管理”(如下图①)。

    2. 在“访问管理”页面选择“镜像仓库”页签(如图②),然后单击目标智算中心“操作”列的“重置”(如图③),重置镜像仓库的用户名和密码。

      image

    3. 重置结果如下图所示。

      image

命令行方式创建密钥

使用如下命令创建密钥,注意替换如下内容:

  • your-secret-name: 替换成您自己定义的密钥名称
  • your-username: 替换成您自己的镜像仓库用户名
  • your-password: 替换成您自己的镜像仓库密码,如果有特殊字符,用''括起来
  • your-harbor-domain: 替换成您自己的镜像仓库域名
  • your-namespace: 替换成您自己使用该密钥的命名空间
kubectl create secret docker-registry your-secret-name \
--docker-username=your-username \
--docker-password='your-password' \
--docker-server=your-harbor-domain \
--namespace=your-namespace

K8S资源方式创建密钥

生成配置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