📅  最后修改于: 2023-12-03 15:37:53.615000             🧑  作者: Mango
在使用 Helm 管理 Kubernetes 应用程序时,有时需要传递 Docker Hub 凭据来访问私有 Docker Hub 镜像仓库。本文将介绍如何在 Helm values.yaml 文件中传递 Docker Hub 凭据。
以下是传递 Docker Hub 凭据的步骤:
在 Docker Hub 上创建凭据。可以使用以下命令将凭据保存到 docker-credentials.json
文件中:
$ echo '{"auths": {"https://index.docker.io/v1/": {"auth": "BASE64_ENCODED_USERNAME_AND_PASSWORD"}}}' > docker-credentials.json
将 BASE64_ENCODED_USERNAME_AND_PASSWORD
替换为 Base64 编码后的 Docker Hub 用户名和密码。
使用 kubectl create secret docker-registry
命令创建 Secret,将 docker-credentials.json
文件内容传递到 Kubernetes 集群中:
$ kubectl create secret docker-registry myregistrykey --docker-server=https://index.docker.io/v1/ --docker-username=DOCKER_USERNAME --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL --from-file=.dockerconfigjson=docker-credentials.json
将 myregistrykey
替换为需要创建的 Secret 名称,DOCKER_USERNAME
、DOCKER_PASSWORD
、DOCKER_EMAIL
替换为 Docker Hub 用户名、密码和电子邮件地址。--docker-server
参数应设置为 https://index.docker.io/v1/
。
在 Helm chart 的 values.yaml 文件中,可以将 Docker Hub 凭据作为 Secret 使用。以下是 values.yaml 文件的示例:
image:
repository: myrepository
tag: latest
pullSecrets:
- name: myregistrykey
将 myregistrykey
替换为第二步中创建的 Secret 名称。当 Helm 安装或更新 chart 时,将使用这个 Secret 从 Docker Hub 下载镜像。
在 Helm chart 中传递 Docker Hub 凭据是一项非常重要的任务。通过创建 Secret,并在 values.yaml 文件中使用它,可以轻松地将 Docker Hub 凭据传递给 Kubernetes 集群,以验证和下载私有 Docker Hub 镜像。