前言
追蹤svc訪問服務的軌跡
新的kubernetes版本的kube-proxy使用了ipvs(非iptables)
kube-proxy的IPVS模式用的上NAT模式,因爲DR,TUN模式都不支持端口映射。
https://www.bladewan.com/2018/12/10/kubernetes_service_mode/
正文
1: ip a 查看kube-ipvs
service 會分配一個clusterIP,endpoint是它的域名。kube-proxy也會在集羣每個節點創建一個kube-ipvs0的網卡,將集羣的cluster-ip掛在上面。
@hxx 也就是說上面紅框的部分,第一個是kube-proxy掛載的ipvs網卡,第二個紅框,展示了某一個svc掛載在這個網卡上!
2: 找到自己的svc get svc
根據,我的searcher svc: ClusterIP 10.99.128.45 找到掛載的點,就是下面這一條:
inet ****brd **** scope global kube-ipvs0
3: 使用 ipvsadm -ln 查看ipvs規則
ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP ****:8091 rr @hxx 維護serv