用socat验证multicase(组播)和broadcast(广播) with k8s容器环境

安装socat

网络允许的话,可以使用yum install -y socat进行安装。

如果是在容器里面运行,建议使用静态链接的socat:

可以从此处下载: Release socat-v1.7.4.4 · ernw/static-toolbox · GitHub

确定网络接口地址和组播地址

bash 复制代码
#kubectl exec -it pod-node2 -- ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:00:F6:DE:E2
          inet addr:101.16.0.118  Bcast:101.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::200:ff:fef6:dee2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8063 (7.8 KiB)  TX bytes:4308 (4.2 KiB)


#kubectl exec -it pod-node3 -- ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:00:60:52:4B
          inet addr:101.16.0.119  Bcast:101.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::200:ff:fe60:524b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:118 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8090 (7.9 KiB)  TX bytes:2925 (2.8 KiB)

验证组播multicast

server侧运行命令行:

kubectl exec -it pod-node2 -- /usr/bin/socat-1.7.4.4-x86_64 -d UDP4-RECVFROM:6666,ip-add-membership=224.1.0.1:101.16.0.118,fork EXEC:hostname

client侧运行命令行:

kubectl exec -it pod-node3 -- /usr/bin/socat-1.7.4.4-x86_64 STDIO UDP4-DATAGRAM:224.1.0.1:6666,range=101.16.0.119/24

ip地址和rang需要从ifconfig命令中获取

实机运行效果

验证广播broadcast

server侧运行命令行:

kubectl exec -it pod-node2 -- /usr/bin/socat-1.7.4.4-x86_64 -dd UDP4-RECVFROM:6666,broadcast,fork EXEC:hostname

client侧运行命令行:

kubectl exec -it pod-node3 -- /usr/bin/socat-1.7.4.4-x86_64 -dd STDIO UDP4-DATAGRAM:101.16.255.255:6666,broadcast,range=101.16.0.119/16

ip地址和rang需要从ifconfig命令中获取

实机运行效果

server

client

官方操作文档

IP Multicasting with Socat

相关推荐
伤不起bb3 分钟前
Kubernetes 服务发布基础
云原生·容器·kubernetes
ladymorgana8 分钟前
【Docker】如何设置 `wiredTigerCacheSizeGB` 和 `resources.limits.memory`
运维·docker·容器
mcdx15 分钟前
基于Docker构建OrangePi5 SDK环境
docker·容器
别骂我h3 小时前
Kubernetes服务发布基础
云原生·容器·kubernetes
要开心吖ZSH3 小时前
微服务架构的演进:迈向云原生
java·微服务·云原生
dyj0953 小时前
Rancher Server + Kubernets搭建云原生集群平台
云原生·rancher
weixin_399380694 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
IT成长日记5 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
偷萧逸苦茶5 小时前
docker常见命令
docker·容器·eureka
慌糖13 小时前
微服务介绍
微服务·云原生·架构