【问题标题】:Does Kubernetes cache docker-registry secrets?Kubernetes 是否缓存 docker-registry 机密?
【发布时间】:2019-03-17 16:57:47
【问题描述】:

我们正在从运行 Kubernetes 的私有 ECR (AWS) 中提取图像,该 Kubernetes 随 Docker for Mac (minikube) 一起提供。我们有一个名为aws-cred 的秘密。我使用以下方法创建它:

kubectl create secret docker-registry aws-creds --docker-server=OUR-ACCOUNT.ecr.eu-central-1.amazonaws.com --docker-username=AWS --docker-password=SUPER_LONG_TOKEN --docker-email=foo@bar.com

在我的部署中与此一起:

"imagePullSecrets":[{"name":"aws-creds"}]

SUPER_LONG_TOKEN 我从跑步中得到:

aws ecr get-login --region eu-central-1 --profile default --no-include-email

当然,令牌会在几个小时后过期,我尝试刷新秘密。首先我删除了这个秘密:

kubectl delete secret aws-creds

然后基本上重复上面的步骤,获取一个新的令牌。但是我注意到,我仍然无法从 ECR 中提取 minikube 中的 AWS ECR: no basic auth credentials 错误。

当我重复这个过程,但我重命名秘密,即aws-creds-2,一切正常。我怀疑存在某种缓存。事实上,我通过以下方式验证了这一点:

kubectl get secret aws-cred --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode

我可以看到password 的值保持不变,即使在删除并重新创建秘密之后也是如此。这对我来说有点不直观,我应该如何更新我的秘密?

【问题讨论】:

    标签: kubernetes minikube aws-ecr


    【解决方案1】:

    我已经使用这个解决方案几个月了,没有任何问题。它在您的集群内运行并保持您的秘密更新。 https://github.com/upmc-enterprises/registry-creds

    【讨论】:

      猜你喜欢
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      相关资源
      最近更新 更多