问题描述:pod能ping通Service名称,但无法通过nc或者telnet连接对应的端口
解决:
1、 修改svc 模式 cluster ip 到load balance解决 ,但阿里云需要创建slb,可以买内网共享型的slb,免费
2、修改k8s配置: kubelet --hairpin-mode
配置(https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#pods-are-not-accessible-via-their-service-ip
),确认了一下集群中这块配置使用的是默认的配置,默认配置是 promiscuous-bridge
,如果 kubenet 没有开启的话会自动切换配置为 hairpin-veth
模式。
参考:
来源:oschina
链接:https://my.oschina.net/fufangchun/blog/4876607