【问题标题】:kubeadm and weave not working togetherkubeadm 和 weave 不能一起工作
【发布时间】:2017-08-29 07:46:27
【问题描述】:

我使用“kubeadm”部署了一个单节点 kubernetes 集群。这部署了 Kubernetes 1.6。根据说明(https://kubernetes.io/docs/getting-started-guides/kubeadm/)我需要为pod网络安装一个网络层。

我决定尝试“编织”,因为根据文档 (https://www.weave.works/weave-net-kubernetes-integration/) 使用简单的单线很容易安装:

kubectl apply -f https://git.io/weave-kube

当我检查机器时,我发现现在有一个编织适配器:

weave: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1376
        inet 10.32.0.1  netmask 255.240.0.0  broadcast 0.0.0.0
        inet6 fe80::bca7:f5ff:fefb:c7a2  prefixlen 64  scopeid 0x20<link>
        ether be:a7:f5:fb:c7:a2  txqueuelen 1000  (Ethernet)
        RX packets 12  bytes 780 (780.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9  bytes 690 (690.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

然后我使用提供的 yaml 文件部署了 kube-dashboard:

kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml

这很顺利,但是 pod 从 172.17.0.0 范围内分配了一个 ip。这是 docker 配置文件中定义的范围,不是“weave”使用的范围。

这对我来说似乎不对。它不应该在weave范围内获得一个ip吗?

我一直在研究整个 cni 的东西,但是我读的越多,我就越对所有不同的组件(docker、weave、kubernetes、cni)应该如何协同工作感到困惑。

【问题讨论】:

    标签: kubernetes weave


    【解决方案1】:

    应该发生的是,Kubernetes 应该使用 kubelet --network-plugin=cni 的标志安装,然后 kubelet 将在 /etc/cni/net.d 中查找 CNI 配置文件,并使用该文件中的网络配置来查找 CNI 插件(可执行文件)来调用。

    通过kubectl apply -f https://git.io/weave-kube 安装 Weave Net 应创建此配置文件 (/etc/cni/net.d/10-weave.conf),然后 pod 应在 Weave IP 分配范围内获得一个地址(默认为 10.32.0.0/12)

    既然您看到一个带有 Docker 地址的 pod,那么 --network-plugin=cni 标志是否可能丢失了?

    【讨论】:

    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 2014-01-07
    • 2019-08-17
    • 2016-11-23
    • 2019-02-18
    • 2015-05-16
    • 2017-10-14
    • 2012-06-01
    相关资源
    最近更新 更多