目前,我在名为“development”的命名空间中有 2 个服务,需要处理外部流量,当前使用类型:LoadBalancer,并拥有自己的外部 IP 和 DNS 记录。
我想开始使用部署在单独的命名空间(称为“ingress-controller”)中的入口 Controller (nginx),并且我对最终状态有一些疑问
所以,如果我理解正确的话,我必须首先在“development”命名空间中创建一个入口,然后在“ingress-controller”命名空间中创建入口部署和一个外部类型:LoadBalancer服务,并为入口 Controller 服务的外部IP。然后我需要将“development”命名空间中原来的2个服务更改为ClusterIP,现在由于Ingress规则,它会获得流量。
主机名如何工作?假设我的第一个服务的 DNS 记录为“foo.com”,第二个服务名为“bar.com”,我可以设置入口规则将请求路由到 2 个不同的域吗?
最佳答案
你已经很擅长 ingress 的事情了。现在你必须使用external-dns .
这将为您创建 DNS,您将在入口中指定该 DNS。例如。
- host: foo.com
http:
paths:
- path: /*
backend:
serviceName: <your service name>
servicePort: 80
关于kubernetes - 将外部 Kubernetes 服务从负载均衡器迁移到入口 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64057747/