Windows环境下Kubernetes中Ingress域名demo.localdev.me如何解析到localhost?
问题
按照Kubernetes Ingress-Nginx官方安装指南执行了以下操作:
kubectl create deployment demo --image=httpd --port=80 kubectl expose deployment demo kubectl create ingress demo-localhost --class=nginx \ --rule="demo.localdev.me/*=demo:80" kubectl port-forward --namespace=ingress-nginx service/ingress-nginx-controller 8080:80
执行curl http://demo.localdev.me:8080能正常返回页面,但未在Windows 11的c:\Windows\System32\drivers\etc\hosts文件中添加该域名,想知道这个域名是怎么解析到localhost的?是不是被添加到了某个DNS服务器?
解答
demo.localdev.me是专为本地开发场景设计的公共域名,其官方DNS配置会将所有*.localdev.me子域名统一解析到127.0.0.1(即localhost)。- 你的系统会通过默认DNS服务器自动查询该域名的解析记录,不需要手动修改hosts文件,也无需自建DNS服务器。这类域名就是为了简化本地开发流程,让开发者不用调整本地配置就能把测试域名指向本地服务。
- 当你执行
curl请求时,系统先通过默认DNS解析demo.localdev.me得到127.0.0.1,再结合你指定的8080端口,就会访问到kubectl port-forward转发的Ingress Controller服务,因此能正常返回页面。
内容的提问来源于stack exchange,提问作者eastwater
相关产品推荐
相关产品推荐

