首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Helm图表无法从Rancher Deployment访问私有注册表

使用Helm图表无法从Rancher Deployment访问私有注册表
EN

Stack Overflow用户
提问于 2019-04-17 19:25:52
回答 2查看 2K关注 0票数 2

我觉得Rancher V2.2.2中有一个很大的拦截器,我不能定义Private Azure注册表,该注册表包含用于创建K8s部署的docker镜像。

我可以在资源->注册表中定义azure注册表凭据,并对其进行身份验证以创建工作负载。(工作负载访问私有azure注册表,并使用凭据集对其进行身份验证)

现在,如果我创建一个Helm图表,该图表访问相同的私有Azure注册表来拉取镜像并创建一个pod,它会失败,并显示无法拉出docker镜像。我对它进行了研究,我发现K8s deployment可以找到在Rancher UI中设置的凭据,但kublet无法访问此凭据。

人们给出的常见建议是使用help chart部署文件中的秘密,这也是可行的,但这是一个安全问题,因为任何人都可以访问helm chart来查找其中描述的azure凭据。我觉得这仍然是牧场主V2的一个常见问题。

问题:Helm chart deployment and private docker repository迎合了这个问题,但它有如上所述的安全问题。

我不确定Rancher社区是否也有答案,因为helm repo也建议了相同的解决方案。请参阅(https://github.com/helm/helm/blob/master/docs/charts_tips_and_tricks.md#creating-image-pull-secrets)

我不想像下面提到的那样在舵图的deployement.yaml文件中定义图像拉取秘密

代码语言:javascript
复制
  name: credentials-name
  registry: private-docker-registry
  username: user
  password: pass
EN

回答 2

Stack Overflow用户

发布于 2019-04-18 00:06:49

当您在当前项目中的资源Rancher注册表下配置一组新的注册表凭据时,->将为您创建一个Kubernetes secret资源,其中包含指定的凭据。

您可以通过运行以下命令来验证该密钥是否存在于属于该项目的所有命名空间中:

代码语言:javascript
复制
$ kubectl get secrets -n <some-project-namespace>

然后-而不是在您的deployment.yaml中保存您的明文帐户凭证-您将在容器规范中引用秘密资源,如下所示:

代码语言:javascript
复制
spec:
  containers:
  - name: mycontainer
    image: myregistry.azurecr.io/org/myimage
  imagePullSecrets:
  - name: project-azure-reg-creds

在上面的示例中,project-azure-reg-creds与您在Rancher中添加的注册表凭据的名称相匹配。还要注意,您的部署必须在分配给项目的命名空间中创建。

票数 4
EN

Stack Overflow用户

发布于 2019-04-17 23:41:21

Kubernetes就是它。如果您想从私有存储库中提取数据,则需要一个imagePullSecret。在Rancher UI中也是如此,它只是自动为您关联,因此您不必自己显式定义它。

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

https://stackoverflow.com/questions/55726485

复制
相关文章

相似问题

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