当前位置: 首页 > news >正文

Kubernetes Pod 网段与主机内网网段互通

开发环境的需求

开发环境部署 K8s 后,服务器会部署在 K8s 里,通常 Pod 网段被隔离,主机无法访问

实际开发需求,往往需要当前开发调试的服务主机本地部署,其他服则在 K8s 内

因此,使用 K8s ,必然有开发环境网段要和 Pod 网段互通

flannel host-gw 模式

默认安装 flannel 网络插件,用的是vxlan模式,该模式 Pod 网段是隔离的

可以换成host-gw模式,即可达成需求,限制条件是:

  • K8s集群在同个局域网内

host-gw模式,可以让该局域网内主机和 Pod 互通

细节

执行以下脚本:

wget https://github.com/flannel-io/flannel/releases/download/v0.23.0/kube-flannel.yml
sed -i 's/"Type": "vxlan"/"Type": "host-gw"/g' kube-flannel.yml
kubectl apply -f kube-flannel.yml

验证

查看 pod busybox-deployment-86d4bf5956-d4xlv 的 ip : 10.244.0.61

❯ kubectl exec -it busybox-deployment-86d4bf5956-d4xlv -- ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0@if67: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue link/ether 8e:38:e9:2e:95:c5 brd ff:ff:ff:ff:ff:ffinet 10.244.0.61/24 brd 10.244.0.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::8c38:e9ff:fe2e:95c5/64 scope link valid_lft forever preferred_lft forever

查看主机的 IP 192.168.3.177:

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:15:5d:03:0e:00 brd ff:ff:ff:ff:ff:ffinet 192.168.3.177/24 brd 192.168.3.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::215:5dff:fe03:e00/64 scope link valid_lft forever preferred_lft forever

主机 ping pod busybox-deployment-86d4bf5956-d4xlv

ping 10.244.0.61
PING 10.244.0.61 (10.244.0.61) 56(84) bytes of data.
64 bytes from 10.244.0.61: icmp_seq=1 ttl=64 time=0.159 ms
64 bytes from 10.244.0.61: icmp_seq=2 ttl=64 time=0.066 ms
64 bytes from 10.244.0.61: icmp_seq=3 ttl=64 time=0.063 ms
^C
--- 10.244.0.61 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2035ms
rtt min/avg/max/mdev = 0.063/0.096/0.159/0.044 ms

pod busybox-deployment-86d4bf5956-d4xlv ping 主机

❯ kubectl exec -it busybox-deployment-86d4bf5956-d4xlv -- ping 192.168.3.177
PING 192.168.3.177 (192.168.3.177): 56 data bytes
64 bytes from 192.168.3.177: seq=0 ttl=64 time=0.155 ms
64 bytes from 192.168.3.177: seq=1 ttl=64 time=0.178 ms
^C
--- 192.168.3.177 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.155/0.166/0.178 ms

以上

http://www.lryc.cn/news/261363.html

相关文章:

  • go学习redis的学习与使用
  • 娱乐新拐点:TikTok如何改变我们的日常生活?
  • 【Nginx】Nginx了解(基础)
  • 十九)Stable Diffusion使用教程:ai室内设计案例
  • 虚拟机VMware安装centos以及配置网络
  • call 和 apply:改变对象行为的秘密武器(上)
  • 工作中 docker 的使用积累
  • 初识SpringSecurity
  • 大数据讲课笔记1.4 进程管理
  • 技术点:实现大文件上传
  • 记一次挖矿病毒的溯源
  • day05-报表技术-图形报表
  • 【Spring】@Transactional事务属性详解
  • 通过css3的锚定滚动属性,实现分页加载时让滚动条不闪动
  • 使用Selenium与Scrapy处理动态加载网页内容的解决方法
  • Linux的权限(二)
  • 网络服务IP属地发生变化的原因有哪些?
  • OpenGL 着色器程序的保存和加载(二进制)
  • 【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换
  • 疯狂SQL转换系列- SQL for Tencent Cloud VectorDB
  • Excel中的INDIRECT函数用法
  • Spring-temp
  • 【C++干货铺】会搜索的二叉树(BSTree)
  • 【Spring AOP】 动态代理
  • NAT——网络地址转换
  • Lambda 表达式的常见用法
  • 成本管理常用的ChatGPT通用提示词模板
  • 如何在PHP中处理日期和时间?
  • NO-IOT翻频,什么是翻频,电信为什么翻频
  • 云原生之深入解析OOM和CPU节流