我觉得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文件中定义图像拉取秘密
name: credentials-name
registry: private-docker-registry
username: user
password: pass发布于 2019-04-18 00:06:49
当您在当前项目中的资源Rancher注册表下配置一组新的注册表凭据时,->将为您创建一个Kubernetes secret资源,其中包含指定的凭据。
您可以通过运行以下命令来验证该密钥是否存在于属于该项目的所有命名空间中:
$ kubectl get secrets -n <some-project-namespace>然后-而不是在您的deployment.yaml中保存您的明文帐户凭证-您将在容器规范中引用秘密资源,如下所示:
spec:
containers:
- name: mycontainer
image: myregistry.azurecr.io/org/myimage
imagePullSecrets:
- name: project-azure-reg-creds在上面的示例中,project-azure-reg-creds与您在Rancher中添加的注册表凭据的名称相匹配。还要注意,您的部署必须在分配给项目的命名空间中创建。
发布于 2019-04-17 23:41:21
Kubernetes就是它。如果您想从私有存储库中提取数据,则需要一个imagePullSecret。在Rancher UI中也是如此,它只是自动为您关联,因此您不必自己显式定义它。
https://stackoverflow.com/questions/55726485
复制相似问题