zhangguanzhang's Blog

一次单节点单个pod网络问题排查过程

字数统计: 940阅读时长: 4 min
2021/04/30

about

现场反馈客户环境上业务不正常,根据调用链去看某个业务A日志,发现无法请求另一个业务B,把业务 A 的探针取消了,加上

1
2
tty: true
command: ["bash"]

起来后进去 curl 了下 B 对应的 svcIP 接口是能通的。然后手动起业务进程,再开个窗口 exec 进去 curl 发现就不通了,k8s node数量是只有一个,并且只有这一个 pod 有问题。后面排查到是用户的安全软件导致的。软件名是

1
2
3
4
5
6
7
$ ps aux | grep agent
root 6349 0.3 0.1 21046316 116820 ? Sl 11:08 0:02 /CloudResetPwdUpdateAgent/depend/jre1.8.0_232/bin/java -Dorg.tanukisoftware.wrapper.WrapperSimpleApp.maxStartMainWait=40 -Djava.library.path=../lib -classpath ../lib/resetpwdupdateagent.jar:../lib/wrapper.jar:../lib/json-20160810.jar:../lib/log4j-api-2.8.2.jar:../lib/log4j-core-2.8.2.jar -Dwrapper.key=osxWGEBk6yYtP6sr -Dwrapper.backend=pipe -Dwrapper.disable_console_input=TRUE -Dwrapper.pid=6019 -Dwrapper.version=3.5.26 -Dwrapper.native_library=wrapper -Dwrapper.arch=x86 -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp CloudResetPwdUpdateAgent
root 13860 76.1 0.3 796288 253072 ? Sl 11:08 8:27 /usr/local/dbappsecurity/edr/agent_service runservice
root 14188 0.0 0.0 46004 6000 ? S 11:08 0:00 /usr/local/dbappsecurity/edr/agent_daemon
root 17399 0.0 0.0 112712 976 pts/0 S+ 11:19 0:00 grep --color=auto agent
root 22206 0.0 0.0 22496 1448 ? S 11:08 0:00 vm-agent
root 22215 0.1 0.0 628744 4104 ? Sl 11:08 0:01 vm-agent

杀掉 dbappsecurity 两个进程后重建业务 A 的 pod 后就正常了。

之前也遇到过安全软件导致 pod 网络通信异常 eof 的,列举一些国产遇到过的软件软件:

pid 数字很小,小于1024的,且带方括号,例如[watchdog] 啥的都是系统进程,不要乱认为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
ds_agent  # 查下 agent 关键字  ps aux | grep -i agent
qaxsafed # 奇安信,查下 qax 看看有没有其他的 ps aux | grep -i qax
secdog # 也查下 dog 和 sec
sangfor_watchdog # 这个不影响,但是有它基本是深信服的虚拟化环境,会和flannel的8472端口冲突,见 http://10.226.45.40:8090/document/index?document_id=833
YDservice # qcloud安全软件,影响pod和docker桥接网络
# systemctl disable --now YDservice 后注释crontab reboot

Symantec # 赛门铁克的安全软件
start360su_safed # 推荐 ps aux | grep safe 先查下,再查 360 字样
gov_defence_service
gov_defence_guard # ps aux | grep defence
wsssr_defence_daemon # 奇安信服务器安全加固系统,和下面是一起的。目前遇到过影响 socat 运行和容器进程访问另一个机器上的mysql端口
wsssr_defence_service
wsssr_defence_agent #影响pod网络
ics_agent
/sdata/sbin/{sdatad,srepd,rpcserver,sdatalogd,I2Availability,i2monitor,HaDetector,collector} #容器无法启动,各种资源不可用的错误, # ps aux | grep '/sdat[a]/'

/opt/nubosh/vmsec-host/intedrity/bin/icsintedrity # docker -p 的都无法访问
/opt/nubosh/vmsec-host/file/bin/icsfilesec

service360safe(360entclient) # 导致相关操作操作缓慢,apiserver etcdctl初始化超时, 使用systemctl stop service360safe停止此服务

edr_sec_plan # ps aux | grep edr ,深信服的 edr ,这个会下发 iptables 规则,配置错了会影响 node 之间,以及 pod 和 pod 之间通信
titanagent # 青藤云安全软件
# dynarose的安全软件,影响 docker 和 pod 的容器通信
ps -aux | grep -E 'blocklogc|collectclient|fwclient|identity|nodeclient|subconnc|subdomainc|sddog|sdc[c]'
# 卡巴斯基,影响容器通信 systemctl disable --now kesl
ps aux | grep -E 'kaspersky|klnagent'
# 深信达,SDC 沙盒,没调整好配置会导致容器网络有问题
CnSinDa/SDC/Common/64/SDCAgent
CnSinDa/SDC/Secret/64/Secret
/sangfor/ues/agent/bin/sfemon #深信服的安全软件进程,影响docker
# 亚信安全软件 Asiainfocwpp Asiainfocwexam Asiainfocwec Asiainfocwsvrd Asiainfocwudcenter
Asiainfocwmonitor -d # 客户单机docker,偶数分钟时候秒数为10左右机器上服务访问非自己服务会卡顿,卸载重启后正常

上面很多安全软件卸载后还是不会解决容器的网络问题,需要卸载,关闭开机自启,注释掉crontab的,然后reboot

一些卸载笔记

wsssr_defence_daemon 的卸载

1
2
cd /usr/local/wsssr_defence_agent
./uninstall

上面亚信安全软件卸载

1
$ /etc/Asiainfocwpp/script/uninstall.py --silent
CATALOG
  1. 1. about
  2. 2. 一些卸载笔记