可能会在连接集群外的数据库,或者联调还在开发阶段,部署在内网的服务时遇到这样的情况
如果就是在本机使用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的路由规则
网友评论