首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes & Gitlab:如何为私人注册存储密码?

Kubernetes & Gitlab:如何为私人注册存储密码?
EN

Stack Overflow用户
提问于 2019-12-23 13:51:57
回答 2查看 1.3K关注 0票数 2

我想运行托管在Kubernetes集群上的私有容器注册表中的应用程序。我按照这里的指令创建了这样一个秘密:

代码语言:javascript
运行
复制
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> \
      --docker-username=<your-name> \
      --docker-password=<your-pword> \
      --docker-email=<your-email>

它用于我的部署中,如下所示:

代码语言:javascript
运行
复制
      containers:
      - image: registry.gitlab.com/xxxxx/xxxx
        name: dockerdemo
        resources: {}
      imagePullSecrets:
      - name: regcred

K8s现在能够从我的私人注册表中提取图像。无论如何,我对我的用户和密码被存储在集群中的纯文本感到不舒服。是否有更好/更安全的方式让K8s集群可以通过令牌访问注册表?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-31 11:12:04

因此,我正在使用Gitlab,我知道的解决方案是不将我的用户凭据存储在Kubernetes中。相反,我使用的部署令牌可以随时删除,并且只能访问容器注册表。

这里需要采取以下步骤:

  • 打开Gitlab并进入您的项目
  • 设置>存储库>部署令牌
  • 创建一个范围为read_registry的令牌
  • 在K8S:kubectl create secret docker-registry regcred --docker-server=registry.gitlab.com --docker-username=<token_username> --docker-password=<token>中创建秘密

谢谢你@Jonas的链接,但这个解决方案是我正在寻找的。

票数 3
EN

Stack Overflow用户

发布于 2019-12-23 14:22:45

无论如何,我对我的用户和密码被存储在集群中的纯文本感到不舒服。是否有更好/更安全的方式让K8s集群可以通过令牌访问注册表?

有关如何确保您的秘密在etcd中加密,请参见在静止时加密机密数据

或者,您可以考虑使用保险库来存储机密。参见例如蒙佐银行安全小组如何处理秘密

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59456507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档