首页 > 其他 > 详细

k8s 的网络topology 探测utils

时间:2020-12-04 23:05:32      阅读:29      评论:0      收藏:0      [点我收藏+]

对于calico来说i,创建的interface都是veth类型

ipnet2dev(){
echo $(ip route | grep $1 | awk {match($0, /.+dev\s([^ ]*)/, a);print a[1];exit})
}


devtype(){
echo $(ethtool -i $1| grep "driver:" |awk {print $2})
}

# https://unix.stackexchange.com/questions/441876/how-to-find-the-network-namespace-of-a-veth-peer-ifindex
# ifindex=$(nsenter -t $pid -n ip link | sed -n -e s/.*eth0@if\([0-9]*\):.*/\1/p)

ifindex(){
echo $( ip link | sed -n -e s/.*‘"$1"‘@if\([0-9]*\):.*/\1/p)
}

# veth=$(ip -o link | grep ^$ifindex | sed -n -e s/.*\(veth[[:alnum:]]*@if[[:digit:]]*\).*/\1/p)

vethpeer(){
echo $(ip -o link | grep ^$1 | sed -n -e s/.*\(veth[[:alnum:]]*@if[[:digit:]]*\).*/\1/p)
}

index2peer(){
for peer in `ls /sys/class/net/`; do
  INDEX=`cat /sys/class/net/$peer/ifindex`
  if [[ $INDEX == $1 ]]; then
    echo $peer 
    return 0
  fi
done
echo "Error, not find peer"
return 1
}


index2peer(){
echo $(ip -o link | grep ^$1 | awk -F[: ] {print $3})
}

ipnet2peer

ipnet2peer(){
  echo $(index2peer $(ifindex $(ipnet2dev $1)))
}

  

 

k8s 的网络topology 探测utils

原文:https://www.cnblogs.com/shaohef/p/14087959.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!