将外部 Kubernetes 服务从负载均衡器迁移到入口控制器
Migrating an external Kubernetes service from load balancer to ingress controller
所以目前我在名为“开发”的命名空间中有 2 个服务需要处理外部流量,目前使用 type:LoadBalancer,并且有自己的外部 IP 和 DNS 记录。
我想开始使用部署在单独命名空间(称为“ingress-controller”)中的入口控制器 (nginx),但我对最终状态会有一些疑问
所以如果我没理解错的话,我必须先在“development”命名空间中创建入口,然后在“ingress-controller”命名空间中创建入口部署和外部type:LoadBalancer服务并设置入口控制器服务的外部 IP 的 DNS 记录。然后我需要将“development”命名空间中原来的2个服务更改为ClusterIP,由于Ingress规则,它现在将获得流量。
主机名将如何工作?假设我的第一个服务的 DNS 记录为“foo.com”,第二个服务称为“bar.com”,我可以设置入口规则以将请求路由到 2 个不同的域吗?
既然你已经创建了ingress规则,剩下的就是将“foo.com”和“bar.com”的DNS记录设置为ingress controller服务的外部ip。
你已经很擅长入口了。现在你必须使用 external-dns.
这将为您创建您将在入口中指定的 DNS。例如。
- host: foo.com
http:
paths:
- path: /*
backend:
serviceName: <your service name>
servicePort: 80
所以目前我在名为“开发”的命名空间中有 2 个服务需要处理外部流量,目前使用 type:LoadBalancer,并且有自己的外部 IP 和 DNS 记录。
我想开始使用部署在单独命名空间(称为“ingress-controller”)中的入口控制器 (nginx),但我对最终状态会有一些疑问
所以如果我没理解错的话,我必须先在“development”命名空间中创建入口,然后在“ingress-controller”命名空间中创建入口部署和外部type:LoadBalancer服务并设置入口控制器服务的外部 IP 的 DNS 记录。然后我需要将“development”命名空间中原来的2个服务更改为ClusterIP,由于Ingress规则,它现在将获得流量。
主机名将如何工作?假设我的第一个服务的 DNS 记录为“foo.com”,第二个服务称为“bar.com”,我可以设置入口规则以将请求路由到 2 个不同的域吗?
既然你已经创建了ingress规则,剩下的就是将“foo.com”和“bar.com”的DNS记录设置为ingress controller服务的外部ip。
你已经很擅长入口了。现在你必须使用 external-dns.
这将为您创建您将在入口中指定的 DNS。例如。
- host: foo.com
http:
paths:
- path: /*
backend:
serviceName: <your service name>
servicePort: 80