作为部署过程的一部分,我创建了一个集群,登录到gcr.io,并在那里发布映像。
我的pods部署失败,因为容器使用的镜像无法访问。他们肯定就在那里。让我困惑的是,kubenetes集群使用什么服务帐户来访问gcr.io?我可能会认为它和我用来创建集群的那个是一样的,它应该有访问gcr.io的权限。
如何查看我的群集使用的服务帐户?如何授予其访问gcr.io的权限?
发布于 2019-03-07 01:47:10
如果要向服务帐户添加私有回购访问,请使用此guide。您将需要创建注册表凭据密钥,并使用它修补正确的服务帐户:
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "myregistrykey"}]}'如果要在部署/Pod级别上添加对私有注册表访问权限,请使用此guide
添加regcred密钥:
kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>允许访问您的Pod/部署:
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: regcredhttps://stackoverflow.com/questions/55028803
复制相似问题