如何根据mq上的消费者的端口号确定k8s上的服务
有一天发现mq上面的多了消费者,但是无法确定是哪个服务,因为mq上显示的是k8s的宿主机加上端口,但是根据端口,在对应的k8s节点的主机上用netstat并不能查到对应的端口,到此,思考这个容器的端口是不是并没有映射到宿主机上,所以需要进容器去找这个端口
第一步过滤出来这个节点上所有的java服务,
第二步依次去查看每个容器里面的端口
第三步得到结论
根据这个思路,写了如下脚本:
#!/bin/bash for i in $(docker ps |grep java |awk '{print $1}') do A=`docker exec -it $i netstat -lnap |grep $1 |wc -l` if [ $A = "0" ];then echo "$i 容器中没有目标端口" else echo "$i 容器中有目标端口" fi done
在执行的时候加上自己想要验证的端口,如果这个时候,端口存在某个容器中,那么就可以根据端口定位到了确定的服务

浙公网安备 33010602011771号