如何通过Kubernetes(桌面docker上包含Kubernetes)提取托管在Google容器注册表上的docker图像
我无法从GCR中提取图像(由我的部署提取) 我得到图像回撤错误 我已经一步一步地学习了这个教程 然而,它似乎不适合我。我甚至尝试过在创建服务帐户密钥时使用存储管理员角色,但仍然没有用 在描述pod时,我得到了以下错误:如何通过Kubernetes(桌面docker上包含Kubernetes)提取托管在Google容器注册表上的docker图像,docker,kubernetes,docker-for-windows,google-container-registry,Docker,Kubernetes,Docker For Windows,Google Container Registry,我无法从GCR中提取图像(由我的部署提取) 我得到图像回撤错误 我已经一步一步地学习了这个教程 然而,它似乎不适合我。我甚至尝试过在创建服务帐户密钥时使用存储管理员角色,但仍然没有用 在描述pod时,我得到了以下错误: Warning Failed 14s (x2 over 30s) kubelet, docker-for-desktop Failed to pull image "gcr.io/<project-name>/<ima
Warning Failed 14s (x2 over 30s) kubelet, docker-for-desktop Failed to pull image "gcr.io/<project-name>/<image-name>": rpc error: code = Unknown desc = Error response from daemon: Get https://gcr.io/v2/<project-name>/<image-name>/manifests/latest: unknown: Unable to parse json key.
Warning Failed 14s (x2 over 30s) kubelet, docker-for-desktop Error: ErrImagePull
Normal BackOff 2s (x3 over 29s) kubelet, docker-for-desktop Back-off pulling image "gcr.io/<project-name>/<image-name>"
Warning Failed 2s (x3 over 29s) kubelet, docker-for-desktop Error: ImagePullBackOff
Pod定义:
apiVersion: apps/v1
kind: Deployment
metadata:
name: microservice-1-deployment
spec:
replicas: 3
selector:
matchLabels:
app: microservice-1
template:
metadata:
labels:
app: microservice-1
spec:
containers:
- name: microservice-1
image: gcr.io/project-name/image-name
ports:
- containerPort: 80
注意事项:
apiVersion: apps/v1
kind: Deployment
metadata:
name: microservice-1-deployment
spec:
replicas: 3
selector:
matchLabels:
app: microservice-1
template:
metadata:
labels:
app: microservice-1
spec:
containers:
- name: microservice-1
image: gcr.io/project-name/image-name
ports:
- containerPort: 80
我的部署在docker hub上托管时能够拉取映像,问题仅发生在GCR中拉取映像时
Env
- 视窗10
- Docker版本2.0.0.0-win78(28905)
- Kubernetes 1.10.3(包含在桌面docker上)
提前感谢查看错误消息,您提供的json文件似乎存在一些问题,
无法解析json文件
这背后的原因是您的json文件中有break(newline
),因此无法秘密识别
请看这里,并尝试其中一种解决方案。您始终可以选择列出的其他身份验证方法
希望这有帮助。确定找到了罪犯,它与Powershell和命令提示符有关 我切换到使用gitbash,并遵循了本教程中的相同说明 成功了 罪魁祸首可能是在Powershell和/或命令提示符下创建imagePullSecrets时发生的。在读取json文件时,可能出现了与编码或其他相关的错误
希望这对任何人都有帮助。您能在问题中包括Pod或部署规范吗?假设您有一个
imagePullSecret
,您是如何创建它的?@DavidMaze done。我仍在尝试调试此问题。另外,如果你要提供一个答案,你能不能让它一步一步地清晰地呈现在水晶上,不仅对我,对其他人也是如此。提前谢谢。不幸的是,它对我不起作用,同样的问题。我试着按照这里的说明去做,但还是没能成功。我甚至尝试手动删除json文件中的所有换行符,但仍然没有效果。此外,如果一切顺利,您能否提供您建议的解决方案的一步一步的过程,以便不仅对我,而且对其他人都清楚。我仍在尝试调试此问题。