首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

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

  •  
  •   51300520 · 210 天前 · 1841 次点击
    这是一个创建于 210 天前的主题,其中的信息可能已经有所发展或是发生改变。

    版本 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 过后怎么一个镜像都没有?

    3 回复  |  直到 2019-03-22 16:14:20 +08:00
        1
    privil   210 天前
    是,node 节点手动导入镜像,这个没那么智能
        2
    kidlj   210 天前   ♥ 1
    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
    ```

    这样以后什么镜像都能拉取下来了。
        3
    51300520   210 天前
    @kidlj
    谢谢,成功了,哎,还真是被墙了 image pull 不下来导致的,之所以我搞这么久没成功是因为我其实设置了 ALL_PROXY 为 socks5,以为不是墙的问题,按照你说的把 sock5 变成 http 就可以了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2357 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 13:15 · PVG 21:15 · LAX 06:15 · JFK 09:15
    ♥ Do have faith in what you're doing.