我用 kubeadm 安装 k8s 群集, mater 节点 Ready 了, work 节点怎么一直 NotReady 啊?

2019-03-22 05:01:03 +08:00
 51300520

版本 1.13.4,两台虚拟机 先用 kubeadm init 部署 master 节点没问题,然后另一台机器 kubeadm join 过后,用 kubectl get nodes 查看 work 节点一直是 NotReady 状态,describe 看了一下提示是

NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

用 get pods 看发现有两个这个,running 那个应该是主节点的? work 节点一直在 init?

kube-system kube-flannel-ds-amd64-qgptr 1/1 Running kube-system kube-flannel-ds-amd64-t597x 0/1 Init:0/1

我明明已经 apply -f kube_flannel.yml 了啊,搞了几个小时了,真是醉了。

是不是镜像的问题?我目前 master 节点那台机器有 k8s 所需的各种镜像,work 节点上用 docker images 查看是空的。我记得我 init master 节点的时候下载镜像失败,是我手动下载后才部署成功的,work 节点 join 过后怎么一个镜像都没有?

5851 次点击
所在节点    问与答
3 条回复
privil
2019-03-22 09:00:09 +08:00
是,node 节点手动导入镜像,这个没那么智能
kidlj
2019-03-22 09:54:49 +08:00
worker 节点也是需要下载镜像的,docker image ls 没有镜像那就是没下载成功。

服务器在国内的话,最省心的是在服务器上跑一个 ss client service,然后再跑一个 privoxy service 把 ss 的 socks5 变成 http 协议。

http://blog.zivers.com/post/2048.html

最后配置 dockerd 拉取镜像时候使用 http 代理:

```
$ cat /etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:8118"
Environment="HTTPS_PROXY=http://127.0.0.1:8118"

$ sudo systemctl daemon-reload
$ sudo systemctl restart dockerd
```

这样以后什么镜像都能拉取下来了。
51300520
2019-03-22 16:14:20 +08:00
@kidlj
谢谢,成功了,哎,还真是被墙了 image pull 不下来导致的,之所以我搞这么久没成功是因为我其实设置了 ALL_PROXY 为 socks5,以为不是墙的问题,按照你说的把 sock5 变成 http 就可以了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/547244

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX