快捷搜索:  汽车  科技

k8s网卡切换(k8s网络神器之dummy网卡)

k8s网卡切换(k8s网络神器之dummy网卡)

在我们日常工作中,是否有这种需求,在断网的情况下,假装网络可以通,仍然可以通过类似192.168.1.1 这样的IP 访问服务 。除了我们经常使用本例换回口127.0.0.1以外,今天介绍一个神器:dummy网卡。

ip link add nodelocaldns type dummy ip addr add 169.254.20.10 dev nodelocaldns ip addr add 10.96.0.10 dev nodelocaldns

创建一个nodelocaldns的网卡后,就可以本地ping通了

# ip a 1: lo: <LOOPBACK UP LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 5: nodelocaldns: <BROADCAST NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 4a:d6:09:1a:97:6a brd ff:ff:ff:ff:ff:ff inet 169.254.20.10/32 scope global nodelocaldns valid_lft forever preferred_lft forever inet 10.96.0.10/32 scope global nodelocaldns valid_lft forever preferred_lft forever # ping 10.96.0.10 PING 10.96.0.10 (10.96.0.10) 56(84) bytes of data. 64 bytes from 10.96.0.10: icmp_seq=1 ttl=64 time=0.016 ms 64 bytes from 10.96.0.10: icmp_seq=2 ttl=64 time=0.050 ms

细心的同学可能发现了这个网卡的名称是 nodelocaldns ,没错就是k8s里面的local dns的网卡,k8s的local dns正是使用了这种分布式的IP的能力实现的,每台机器上面都可以有这样一个本地的网卡。

k8s网卡切换(k8s网络神器之dummy网卡)(1)

除了nodelocaldns 使用了dummy网卡以外,如果kube-proxy通过ipvs实现的话,也需要创建一个dummy的网卡kube-ipvs0绑定服务IP(clusterIP),当我们访问这个服务IP的时候,流量便可以进入ipvs转发。因为有了这个dummy网卡,服务IP也可以ping通了,只不过这个ping其实是本地返回,意义不大。

k8s网卡切换(k8s网络神器之dummy网卡)(2)

猜您喜欢: