AirNet服务器迁移到容器
Posted 技术支持department
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AirNet服务器迁移到容器相关的知识,希望对你有一定的参考价值。
1、POD设计,netshoot:latest作为sidecar,用于调试网络。
sdfp2-net.yaml设计
指定IP
annotations:
cni.projectcalico.org/ipAddrs: "[\\"172.16.135.135\\"]"
指定主机名称
hostname: sdfp2
containers:
- image: mi:v1
......
- image: nicolaka/netshoot:latest
# k apply -f sdfp2-net.yaml
[root@sdfp2 ~]# k get pod
NAME READY STATUS RESTARTS AGE
sdfp2-netshoot-dp-84f4d7b99d-5pvhm 2/2 Running 0 35m
进入sdfp2容器运行服务进程
# k exec -ti sdfp2-netshoot-dp-84f4d7b99d-5pvhm -c sdfp2 -- bash
拷贝license.ini,mid.xml——>/home/cdatc/AirNet/config/gconf/mid/;network.xml——>/home/cdatc/AirNet/config/(也需更新mid.xml,否则提示授权问题)
# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf 1>/dev/null 2>&1
# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis_6378.conf 1>/dev/null 2>&1
# setsid bash -c /home/cdatc/AirNet/bin/mnt >/dev/null 2>&1 &
top查看mnt\\mid\\afp\\rfp正常运行
进入sidecar容器查看组播172.16.135.135.50849 > 225.1.0.1.40002
# k exec -ti sdfp2-netshoot-dp-84f4d7b99d-5pvhm -c netshoot -- bash
bash-5.1# tcpdump -i eth0 -n
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:53:34.922499 IP 172.16.135.135.58814 > 225.1.0.1.40003: UDP, length 36
10:53:34.922766 IP 172.16.135.135.48636 > 225.1.0.1.40003: UDP, length 340
10:53:34.939140 IP 172.16.135.135.50849 > 225.1.0.1.40002: UDP, length 1399
k8s集群环境,但是组播在宿主机上和集群中别的node上抓不到,组播只局限在POD内部。
——部署另一个POD,两个POD之间彼此tcpdump看不到对方的组播包。
——添加Service,type: NodePort/ClusterIP测试也看不到对方的组播包。
2、*实际系统上SDFP1将eth1/eth2网线拔掉,eth0的IP改为192.168.15.50,相应修改license.ini和network.xml,抓包组播ok,SDFP1主态,SDD有航迹显示。
#tcpdump -n -i eth0 |grep 192.168.15.50
...IP 192.168.15.50.21136 > 255.1.0.2.40200: UDP,length 442
以上是关于AirNet服务器迁移到容器的主要内容,如果未能解决你的问题,请参考以下文章
docker 容器操作应用部署mysql,redis,nginx迁移与备份Dockerfile