我检查了这个问题 #71 ,如果 kube-apiserver 未运行,我似乎无法添加凭据,但是在手动拉取私有映像并重新启动 kubelet 后,我仍然收到错误消息。
PullImage "docker.kesci.com:5000/kube-apiserver:latest" from image service failed: rpc error: code = Unknown desc = Error response from daemon: Get https://**my.private.image.registry**/v2/kube-apiserver/manifests/latest: no basic auth credentials
kubeadm 版本(使用kubeadm version
):
环境:
kubectl version
):Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.5", GitCommit:"17d7182a7ccbb167074be7a87f0a68bd00d58d97", GitTreeState:"clean", BuildDate:"2017-08-31T09:14:02Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
uname -a
):Linux ip-172-31-28-254 4.4.0-92-generic #115-Ubuntu SMP Thu Aug 10 09:04:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
我手动替换了/etc/kubernetes/manifests/kube-apiserver.yaml
配置的镜像,kubelet 报错container start failed: ErrImagePull: rpc error: code = Unknown desc = Error response from daemon: Get https://my.private.image.registry/v2/kube-apiserver/manifests/latest: no basic auth credentials
,好像没有配置凭据,所以我手动 docker pull 镜像
docker pull my.private.image.registry/kube-apiserver:latest
和run service kubelet restart
,仍然出现此错误。
kubelet 支持手动配置凭据,或者,它可以识别本地拉取的图像。
将/etc/kubernetes/manifests/kube-apiserver.yaml
映像替换为私有注册表映像。
我的解决方案:docker pull镜像并将imagePullPolicy设置为Never,然后重启kubelet。
您希望 kubeadm 在这种情况下如何行动? 我们使用官方镜像,不支持自定义存储库。 您使用自定义图像的用例是什么?
@ggaaooppeengg你应该试试这个:
kubeadm init --config yourconfigfile
,注意在配置文件中设置imageRepository
选项请注意:
有关更多信息,您可以查看https://kubernetes.io/docs/admin/kubeadm/
@jamiehannaford我想挖掘一些性能问题,并添加一些跟踪日志,以便我可以进行检查。
最有用的评论
@ggaaooppeengg你应该试试这个:
kubeadm init --config yourconfigfile
,注意在配置文件中设置imageRepository
选项请注意:
有关更多信息,您可以查看https://kubernetes.io/docs/admin/kubeadm/