刘秀秀
1
Rancher Server 设置
- Rancher 版本:2.5.14
- 安装选项 (Docker install/Helm Chart):
- 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
- 在线或离线部署:
在线docker安装
下游集群信息
- Kubernetes 版本: 1.20.15
- Cluster Type (Local/Downstream):
- 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等):
用户信息
- 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):
**主机操作系统:**centos7.8
问题描述:
我的集群pod内部测试可以ping通外网地址,也可以ping通我的宿主机上的域名,但是无法ping通core-dns的IP,也无法解析service-name
重现步骤:
结果:
预期结果:
截图:
其他上下文信息:
日志
看起来pod都正常没啥报错
ksd
4
10.43 开头的 IP 在 rancher 里是 service ip。K8s 里的 svc ip 是无法直接 ping 的,因为svc ip 只是一个 虚拟机 IP。
刘秀秀
5
感谢回复~~~
我的理解是这个10.43开头的ip是pod的DNS解析使用的IP,也就是可以解析service name
如果在宿主机ping不通我是理解的
但是在pod内也应该ping不通吗?我尝试过进入一个pod,并cat /etc/resolv.conf
如果按照您的回复,那么我在pod内ping 10.43.0.10不通是正常的吗
ksd
6
你理解错了,在 rancher 创建的集群里,10.43 开头的 IP 就是 service 的 ip 段,和 pod 的 ip 没任何关系。
每个 svc name 对应一个 svc ip,这个 ip 是一个虚拟ip,应该是 通过 iptables 做的转发,所以你在 pod 内也 ping 不通这个 IP 或者 svc name。
刘秀秀
7
嗯嗯,我有百度资料,是我理解有误,感谢,困扰我了两天