gpt4 book ai didi

docker - 从 yaml 文件创建 kubernetes docker-registry 密码?

转载 作者:IT老高 更新时间:2023-10-28 12:44:45 30 4
gpt4 key购买 nike

我可以运行这个命令来为一个 Kubernetes 集群创建一个 docker 注册表 secret :

kubectl create secret docker-registry regsecret \
--docker-server=docker.example.com \
--docker-username=kube \
--docker-password=PW_STRING \
--docker-email=my@email.com \
--namespace mynamespace

我想从 YAML 文件创建相同的 secret 。有谁知道如何在 YAML 文件中设置它?

我需要这个作为 YAML 文件,以便它可以用作 Helm 模板,它允许 Helm 安装命令,例如这个(简化的)一个:

helm install ... --set docker.user=peter,docker.pw=foobar,docker.email=...

最佳答案

您可以自己编写该 yaml,但使用 kubectl 分两步创建它会更快:

  1. 生成一个“yaml”文件。您可以使用相同的命令,但在试运行模式和输出模式下 yaml.

这是一个命令示例,该命令将把 key 保存到 kubectl 版本 < 1.18 的 'docker-secret.yaml' 文件中(通过 kubectl version --short 检查版本|grep 客户端):

kubectl create secret docker-registry --dry-run=true $secret_name \
--docker-server=<DOCKER_REGISTRY_SERVER> \
--docker-username=<DOCKER_USER> \
--docker-password=<DOCKER_PASSWORD> \
--docker-email=<DOCKER_EMAIL> -o yaml > docker-secret.yaml

对于 kubectl 版本 >= 1.18:

kubectl create secret docker-registry --dry-run=client $secret_name \
--docker-server=<DOCKER_REGISTRY_SERVER> \
--docker-username=<DOCKER_USER> \
--docker-password=<DOCKER_PASSWORD> \
--docker-email=<DOCKER_EMAIL> -o yaml > docker-secret.yaml
  1. 您可以像应用任何其他 Kubernetes 'yaml' 一样应用该文件:

    kubectl apply -f docker-secret.yaml

UPD,因为问题已更新。

如果你使用 Helm,这里是官方的 documentation关于如何创建 ImagePullSecret

来自文档:

  1. 首先,假设凭据是在 values.yaml 文件中定义的,如下所示:
imageCredentials:
registry: quay.io
username: someone
password: sillyness
  1. 然后我们定义我们的帮助模板如下:
{{- define "imagePullSecret" }}
{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.imageCredentials.registry (printf "%s:%s" .Values.imageCredentials.username .Values.imageCredentials.password | b64enc) | b64enc }}
{{- end }}
  1. 最后,我们在一个更大的模板中使用辅助模板来创建 Secret list :
apiVersion: v1
kind: Secret
metadata:
name: myregistrykey
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: {{ template "imagePullSecret" . }}

关于docker - 从 yaml 文件创建 kubernetes docker-registry 密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49629241/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com