前提:kube-proxy使用iptables模式
Q service能不能ping通?
A: 不能,因为k8s的service禁止了icmp协议
B: 不能,因为clusterIP是一个虚拟IP,只是用于配置netfilter规则,不会实际绑定设备,无法ping通
C: 不同类型的service情况不同,ClusterIP/NodePort类型不能ping通,Headless类型能ping通,Loadbalancer和ExternalName则要实现情况可能通也可能不通
不看文章你的答案是什么?看完文章你懂了吗,留言看你选对了吗
带着上面的问题来分析各个类型的service到底能不能ping通
ClusterIP/NodePort
结论:在Kubernetes中,ClusterIP/NodePort类型的Service的IP地址是虚拟的,并不分配给任何实体【没有实际的mac地址】,因此无法响应ICMP请求,也就是说,它们不能被ping通。这是因为Kubernetes的Service仅仅是一个IP地址和端口的组合,用于负载均衡