我想让两个绒布使用不同的网络设置,如何让它们连接?

时间:2019-06-19 02:34:32

标签: networking overlay etcd flannel flanneld

我想要实现的是:不同的团队使用不同的子网, 每个团队负责人设置一个etcd,指定一个子网。

例如

team1 use 10.1..
team2 use 10.2..

所有团队成员在他的工作站上设置法兰绒,并指向团队负责人的etcd。 当然,团队可以访问其他团队。例如10.2..可以访问10.1..。我认为这将需要对etcd进行集群。

考虑一个简单的场景: 用户A和用户B在自己的笔记本电脑上安装了法兰绒。网络设置可能不同。用户A使用10.****,用户B使用9.***。 如何让他们的法兰绒彼此交谈

这是我所做的:

我在同一硬件盒上的2个VM上部署了两个flanneld。 当我使用以下网络设置时,它可以正常工作

etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16", "Backend": { "Type": "vxlan", "VNI": 1} }'

flanneld正在运行自己的etcd。但是两个etcd是集群的。

现在我要进行测试: 我想在两个flanneld上设置不同的网络设置:

etcdctl set /coreossub2.com/network/config '{ "Network": "10.2.0.0/16", "Backend": { "Type": "vxlan", "VNI": 2} }' - on VM flanneld2. the flannel.1's ip is10.2.35.0/32

etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16", "Backend": { "Type": "vxlan", "VNI": 1} }' - on VM flanneld1. the flannel.1's ip is10.1.58.0/32

还编辑了/etc/sysconfig/flanneld以使用新的网络前缀。 我希望看到flanneld1可以ping flanneld2。换句话说,ip 10.1..可以ping 10.2..

etcd的查询结果:

http://192.168.31.5:2379/v2/keys/**coreossub2.com**/network/subnets:
{"action":"get","node":{"key":"/coreossub2.com/network/subnets","dir":true,"nodes":[{"key":"/coreossub2.com/network/subnets/10.2.35.0-24","value":"{"PublicIP":"192.168.31.5","BackendType":"vxlan","BackendData":{"VtepMAC":"5a:da:1e:82:b4:47"}}","expiration":"2019-06-20T01:11:04.53312Z","ttl":85681,"modifiedIndex":15,"createdIndex":15}],"modifiedIndex":13,"createdIndex":13}}

http://192.168.31.5:2379/v2/keys/**coreos.com**/network/subnets
{"action":"get","node":{"key":"/coreos.com/network/subnets","dir":true,"nodes":[{"key":"/coreos.com/network/subnets/10.1.58.0-24","value":"{"PublicIP":"192.168.31.253","BackendType":"vxlan","BackendData":{"VtepMAC":"12:11:b8:cf:ba:7e"}}","expiration":"2019-06-20T01:23:31.4882784Z","ttl":84531,"modifiedIndex":18,"createdIndex":18}],"modifiedIndex":8,"createdIndex":8}}

他们正在使用其他密钥(这是我所期望的)。 vtepmacflannel.1

Flannel version: 0.7.1
Backend used :vxlan
Etcd version: 3.3.11-2
Operating System and version: centos 7

我想原因是: 法兰绒不能仅使使用相同密钥(网络前缀)的vtep彼此连接。因为它们在同一节点列表中。 当我使用不同的网络前缀时。 vtep在不同的节点列表中。因此绒布不能让他们彼此接触。

0 个答案:

没有答案