在 Kubernetes YAML 资源中保存 Dockerhub 凭据的标准方法
Standard way of keeping Dockerhub credentials in Kubernetes YAML resource
我目前正在使用 docker、Kubernetes 和 Jenkins 为我的微服务部署实施 CI/CD 管道。我正在使用我在 Dockerhub.com 中创建的 public 存储库测试管道。当我尝试使用 Kubernetes Helm chart 进行部署时,我能够将我的所有凭据添加到 Value.yaml 文件中——这是在我们创建 helm chart 时用于添加所有配置的默认文件。
迷茫
现在我删除了 helm chart ,我只使用部署和服务 n 平面 YAML 文件。那么我如何在此处添加我的 Dockerhub 凭据?
- 我需要使用环境变量吗?或者我是否需要为凭据创建任何单独的 YAML 文件并需要在 Deployment.yaml 文件中提供参考?
- 如果我使用 imagePullSecrets 方式,我如何为凭据创建单独的 YAML 文件?
您可以仅在 jenkins 中将 dockerhub creds 作为环境变量传递,Imagepullsecrets 将根据 kubernetes 文档制作,因为它们是一次性的,您可以直接将它们添加到所需的集群中
从 Kubernetes 的角度来看:Pull an Image from a Private Registry您可以创建机密并将必要的信息添加到您的 yaml (Pod/Deployment)
步骤:
1。通过在命令行上提供凭证来创建 Secret:
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
2。创建一个使用您的 Secret 的 Pod(示例 pod):
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: regcred
我目前正在使用 docker、Kubernetes 和 Jenkins 为我的微服务部署实施 CI/CD 管道。我正在使用我在 Dockerhub.com 中创建的 public 存储库测试管道。当我尝试使用 Kubernetes Helm chart 进行部署时,我能够将我的所有凭据添加到 Value.yaml 文件中——这是在我们创建 helm chart 时用于添加所有配置的默认文件。
迷茫
现在我删除了 helm chart ,我只使用部署和服务 n 平面 YAML 文件。那么我如何在此处添加我的 Dockerhub 凭据?
- 我需要使用环境变量吗?或者我是否需要为凭据创建任何单独的 YAML 文件并需要在 Deployment.yaml 文件中提供参考?
- 如果我使用 imagePullSecrets 方式,我如何为凭据创建单独的 YAML 文件?
您可以仅在 jenkins 中将 dockerhub creds 作为环境变量传递,Imagepullsecrets 将根据 kubernetes 文档制作,因为它们是一次性的,您可以直接将它们添加到所需的集群中
从 Kubernetes 的角度来看:Pull an Image from a Private Registry您可以创建机密并将必要的信息添加到您的 yaml (Pod/Deployment)
步骤:
1。通过在命令行上提供凭证来创建 Secret:
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
2。创建一个使用您的 Secret 的 Pod(示例 pod):
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: regcred