k8s pod访问集群外无公共DNS或IP的服务

2023-09-17  本文已影响0人  Lyudmilalala

可能会在连接集群外的数据库,或者联调还在开发阶段,部署在内网的服务时遇到这样的情况

如果就是在本机使用k8s in docker做测试,可以使用host.docker.internal代表宿主机host

如果就调用同一局域网内的其他机器,可以直接使用请求服务器的内网IP作为host,如果希望测试域名访问,可以在k8s master所在的机器的/etc/hosts里配置IP和域名的对应关系,这样在k8s使用更上层的路由时,会通过解析域名找到正确的内网IP

以上方法无需使用ExternalName服务

进一步地,可以通过kubectl -n kube-system get configmap coredns -o yaml找到k8s的内部dns所使用的路由配置文件,为forward . /etc/resolv.conf部分,而后可以通过修改/etc/resolv.conf内容修改k8s的路由规则

上一篇 下一篇

猜你喜欢

热点阅读