kubernetes多集群网络Pod互通方案

k8s多集群管理还是有很多场景,譬如容灾高可用。但k8s多个集群之间是相互独立,两个集群的pod 之间是无法直接通信的。如果要实现 k8s中多集群之间的Pod互通,主要有两种思路。

第一种思路是使用统一网络转发组件,譬如下面的两个k8s 共用一套flannel ,对于flannel 来说是不感知两个集群的存在。

kubernetes多集群网络Pod互通方案

两个集群里面的每台机器都有全部的路由信息,从而建立一个大的vxlan 网络。

第二种思路是 共享 网络配置,一个集群的网络插件可以访问另一个集群的网络配置。比如下面的Cilium的思路

kubernetes多集群网络Pod互通方案

每个Kubernetes集群都维护自己的etcd集群,然后每个集群通过一组etcd代理公开其自己的etcd。在其他集群中运行的Cilium agent连接到etcd代理以监视更改,并将多集群相关状态复制到自己的集群中。使用etcd代理可确保etcd观察程序的可伸缩性。访问受TLS证书保护。

其实还有第三种思路,就是网络配置信息的相互同步,但不建议这样做,双写会导致数据的混乱,方案二中一个集群的etcd 对另外一个集群是只读,从而保障两个集群的隔离和安全性。

展开阅读全文

页面更新:2024-03-28

标签:集群   伸缩性   网络   路由   安全性   组件   插件   场景   思路   混乱   说是   证书   独立   两个   方案   科技   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top