使用Docker Hub和私有映像的Kubernetes PullImageError
我很难让Kubernetes使用我的私有hub.docker.com注册表图像. 我正在使用kubectl版本:客户端版本:version.Info {Major:“1”,Minor:“1”,GitVersion:“v1.1.0-alpha.0.1588 e44c8e6661c931”,GitCommit:“e44c8e6661c931f7fd434911b0d3bca140e1df3a”,GitTreeState:“clean”} Mac OS X Yosemite 10.10.5上的Vagrant 1.7.4 我按照这里给出的指示:https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/user-guide/images.md#pre-pulling-images 简而言之,它表示您应该登录到注册表,然后base64编码生成的.docker / config.json的内容,并在yaml文档中使用它,如下所示:
然后将其喂给kubectl.然后我在我的pod定义中使用了生成的键(这里称为myregistrykey):
并且kubectl创建了它. 但是,kubectl无法检索图像:
然而,停泊在Kubernetes大师身上的工作人员. 我错过了什么? UPDATE 在上面的pod定义中,我省略了指定注册表主机,即docker.io.修复它,它变成: 6s 0s 2 authority-backend Pod spec.containers {authorities-backend}失败{kubelet 10.245.1.3}无法提取图片“docker.io/intrinsic/authorities-backend”:对于docker.io/intrinsic/authorities-图像拉取失败 – 后端,这可能是因为此请求没有凭据.详细信息:(错误:图像内在/ authority-backend:最新未找到) 我知道这个秘密已经正确注册,因为我在kubectl下得到了秘密: 名称类型数据年龄 仍然困惑…… 憨 最佳答案
文档已过时,因为它引用.dockercfg而不是.docker / config.json.我会更新它.
使用新的.docker / config.json格式时,需要设置type:kubernetes.io/dockerconfigjson而不是type:kubernetes.io/.dockercfg. 支持类型:kubernetes.io/dockerconfigjson已在v1.1.0中添加,因此服务器支持它,但客户端不支持(v1.1.0-alpha早于v1.1.0). 当您使用type:kubernetes.io/dockerconfigjson时,它应验证您的秘密内容. 使用类型:kubernetes.io/dockerconfigjson,您确实希望保留auths包装器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |