Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pod一直是ContainerCreating的状态 #18

Closed
nfmomo opened this issue Dec 13, 2017 · 7 comments
Closed

pod一直是ContainerCreating的状态 #18

nfmomo opened this issue Dec 13, 2017 · 7 comments

Comments

@nfmomo
Copy link

nfmomo commented Dec 13, 2017

我是在openstack的ubuntu16.04虚机上起的allinone,部署脚本没有问题,只有两个警告:
TASK [prepare : 写入环境变量$PATH] ***********************************************************************************************************
[WARNING]: Consider using template or lineinfile module rather than running sed

TASK [prepare : 分发CA 证书] ***************************************************************************************************************
ok: [190.190.190.23] => (item=ca.pem)
changed: [190.190.190.23] => (item=ca-key.pem)
ok: [190.190.190.23] => (item=ca.csr)
ok: [190.190.190.23] => (item=ca-config.json)
[WARNING]: Could not match supplied host pattern, ignoring: lb

但是完成后,状态一直是ContainerCreating
root@zte-host:~# kubectl get pod --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-kube-controllers-6756bbbb4d-7k77s 0/1 ContainerCreating 0 13m

我环境连不了外网,会不会是这个原因。应该怎么修改呢?有些资源我可以提下下好传到虚机上的。

@nfmomo
Copy link
Author

nfmomo commented Dec 13, 2017

查看详情发现是创建sandbox失败
root@zte-host:~# kubectl describe pods --namespace=kube-system calico-kube-controllers-6756bbbb4d-7k77s
Events:
Type Reason Age From Message


Normal Scheduled 58m default-scheduler Successfully assigned calico-kube-controllers-6756bbbb4d-7k77s to 190.190.190.23
Normal SuccessfulMountVolume 58m kubelet, 190.190.190.23 MountVolume.SetUp succeeded for volume "etcd-certs"
Normal SuccessfulMountVolume 58m kubelet, 190.190.190.23 MountVolume.SetUp succeeded for volume "calico-kube-controllers-token-b6m8l"
Warning FailedCreatePodSandBox 7m (x125 over 57m) kubelet, 190.190.190.23 Failed create pod sandbox.
Warning FailedSync 2m (x138 over 57m) kubelet, 190.190.190.23 Error syncing pod

@gjmzj
Copy link
Collaborator

gjmzj commented Dec 13, 2017

@nfmomo 这个安装需要连接外网的,所有docker 镜像都是要从外网下载的
这两个警告完全没关系的

@nfmomo
Copy link
Author

nfmomo commented Dec 14, 2017

@gjmzj 感谢提醒
我在私有仓库中加入镜像
calico/node:v2.6.2
部署时从私有仓库拉取,但是部署完成(暂时没装dashboard)问题还是一样的。
用docker命令看确实拉到镜像,起了一个容器。
不知道还有什么细节是需要联网的,我看ansible-playbook 90.setup.yml这一步暂时只要这个镜像。
还是有什么方法能够定位到原因,谢谢!

@gjmzj
Copy link
Collaborator

gjmzj commented Dec 14, 2017

@nfmomo 还有一个所有容器的基础镜像 pause,在kubelet启动参数里面指定的,查看你 /etc/systemd/system/kubelet.service 文件,里面有 --pod-infra-container-image=mirrorgooglecontainers/pause-amd64:3.0 \ 参数,建议阅读下docs/07-安装kube-node节点.md中关于 kubelet服务部分

@yexingqi
Copy link

@nfmomo 请问你能默认让docker要 image 的时候直接从私有仓库拉吗? 我以前一直是手动拉到node本地,总觉得不方便.

@nfmomo
Copy link
Author

nfmomo commented Dec 15, 2017

@gjmzj 问题解决了,确实是镜像问题。
总结下: 基础的部署需要
calico/node:v2.6.2
calico/kube-controllers:v1.0.0
mirrorgooglecontainers/pause-amd64:3.0
之前的错误主要是因为第三个镜像没有,之后的缺失错误中会提示。

@nfmomo
Copy link
Author

nfmomo commented Dec 15, 2017

@evenye
我之在局域网中里一台机器上部署了本地私有库
docker run -p 5000:5000 registry:2.6.2
需要什么镜像就在这台机器上拉好了,推到私有库。
当然部署脚本也要做相应调整,指向私有库。我没能实现默认指定私有库,原因不清楚,现在是在拉取的镜像名前加私有库ip:port,强行指定。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants