【问题标题】:Should Flannel run on a Kubernetes master?Flannel 应该在 Kubernetes master 上运行吗?
【发布时间】:2016-08-27 16:42:27
【问题描述】:

我已成功在 1 个主节点 + 6 个节点(均运行 CentOS)上部署了 Kubernetes 1.3.5 集群,包括 DNS 和 Kubernetes Dashboard 插件。起初一切似乎都正常。但是,当我尝试运行时

kubectl proxy --address=<master-external-ip> --port=9090 --disable-filter

访问http://&lt;master-external-ip&gt;:9090/ui我得到以下输出

Error: 'dial tcp 172.16.38.2:9090: i/o timeout'
Trying to reach: 'http://172.16.38.2:9090/'

但是,如果我在 master 上启动 flanneld 一切正常,我实际上可以到达仪表板。现在,我使用kube-up.sh 安装了集群,它没有为 Flannel 安装任何配置或systemd 服务,这让我很困惑——Flannel 是否也应该在 master 上运行?

【问题讨论】:

    标签: kubernetes flannel


    【解决方案1】:

    是的,应该,否则通过 API 服务器代理的数据包无法路由到它们的最终目的地:在其他机器上运行的仪表板 pod。

    【讨论】:

    • 应该 flannel 在主节点上自己运行,还是我应该在 kube-apiserver 上添加任何必需的配置 |控制器经理 |调度服务?只需启动并运行一个 flannel 接口就足够了吗(显然是从 etcd 获取 IP)?
    • Kubernetes 端无需配置任何东西。 Flannel 只是负责路由数据包,Kubernetes 不知道在基础设施级别使用了哪个网络结构。
    • 我认为这仅适用于主/控制器用例,对吧?因为在工人身上,我需要设置法兰绒并配置 CNI 和 kubelet 才能使用它。对吗?
    • 正确,但网络结构和 CNI 之间存在区别。 CNI 仅由 kubelet 调用,用于在容器上执行网络管道。容器网络是在这些容器之间路由数据包的基础。两者都可以独立设置。
    • 希望我能不止一次 +1。感谢非常有见地的 cmets。最后一件事:要使用 flannel,您还需要将 kublet 配置为使用带有 flannel 插件的 CNI,并且据我所知,k8s (kubelet) 将创建一个新的网桥来替换 docker0。该 cni 配置(仅适用于 flanneld 用例)看起来像这样: { "name": "cbr0", "type": "flannel", "delegate": { "isDefaultGateway": true } }
    猜你喜欢
    • 1970-01-01
    • 2017-09-25
    • 2020-10-06
    • 2016-08-03
    • 2019-10-27
    • 2017-06-08
    • 1970-01-01
    • 2018-02-26
    • 2017-10-14
    相关资源
    最近更新 更多