A: 不能,因为k8s的service禁止了icmp协议 B: 不能,因为clusterIP是一个虚拟IP,只是用于配置netfilter规则,不会实际绑定设备,无法ping通 C: 不同类型的service情况不同,ClusterIP/NodePort类型不能ping通,Headless类型能ping通,Loadbalancer和ExternalName则要实现情况可能通也可能不通 ClusterIP/NodePort 结论:在Kuberne...
serviceIP是虚拟的地址,没有分配给任何网络接口,当数据包传输时不会把这个IP作为数据包的源IP或目的IP。 kube-proxy在iptables模式下,这个IP没有被设置在任何的网络设备上,ping这个IP的时候,没有任何的网络协议栈会回应这个ping请求。 可以查看kube-proxy的服务的配置文件,核查kube-proxy的代理模式。mode处不配置,默...
排错经历:首先排查了kube-proxy是否正常,发现启动都是正常的,然后也重启了,还是一样ping不通,然后又排查了网络插件,也重启过flannel,依然没有任何效果。后来想到自己的另一套k8s环境,是能正常ping通service的,就对比这两套环境检查配置,发现所有配置中只有kube-proxy的配置有一点差别,能ping通的环境kube-proxy使用了-...
不能 ping 通。 IPVS:clusterIP 会绑定到虚拟网卡 kube-ipvs0,配置了 route 路由到回环网卡,icmp 包是 lo 网卡回复的。可以 ping 通。 Headless: ClusterIP=None Headless svc 不会分配 clusterIP,而是返回对应 DNS 的 A 记录,如果 svc 后端有3个 pod 则返回 3 个 pod IP。访问 svc 时会随机选择一个 ...
在新增节点上,访问 K8s master service vip 网络不通。 在新增节点上,直接访问 K8s master hostIP + 6443 网络正常。 在新增节点上,访问其他节点的容器 IP 可以正常 ping 通。 在新增节点上,访问 coredns service vip 网络正常。 该客户使用的 Kubernetes 版本是 1.13.10,宿主机的内核版本是 4.18(centos 8.2)...
Service 使用了 iptables 技术,由每个节点上的 kube-proxy 组件自动维护 iptables 规则,客户不再关心 Pod 的具体地址,只要访问 Service 的固定 IP 地址,Service 就会根据 iptables 规则转发请求给它管理的多个 Pod,是典型的负载均衡架构。 不过Service 并不是只能使用 iptables 来实现负载均衡,它还有另外两种实现技术:...
另外Service 管理的 pod ,实际的 ip 和端口列表,都是存放在对应的 endpoints 里面的 目前为止,我们也仅仅是停留在会使用 Service 了,那么 Service 自身的原理又是如何呢?我们一起来瞅瞅看 对于Service 的服务 ip 地址,也是一个虚拟的,同时也是对外暴露了 1 个或者多个端口,既然是虚拟的,咱们肯定是 ping 不通的...
确认Pod 所属的 Service 是否已经创建,且与 Pod 使用的端口和协议匹配。 检查Pod 内部的 DNS 配置,确保能够解析其他服务的域名。 使用kubectl exec <pod-name> -n <namespace> /bin/bash 进入容器Ping Pod的地址 12.Pod 与存储卷之间的问题 使用kubectl get pods -n <namespace> 命令检查 Pod 的状态和事件...