将外部Kubernetes服务从负载均衡器迁移到入口控制器

时间:2020-09-25 04:18:46

标签: kubernetes kubernetes-ingress nginx-ingress

因此,目前我在名为“开发”的命名空间中有2个服务需要处理外部流量,并且当前使用type:LoadBalancer,并具有自己的外部IP和DNS记录。

我想开始使用部署在单独的命名空间(称为“ ingress-controller”)中的入口控制器(nginx),并且我对最终状态看起来有些疑问

因此,如果我理解正确,则必须先在“开发”命名空间中创建一个入口,然后在“ ingress-controller”命名空间中创建入口部署和一个外部类型:LoadBalancer服务,并为入口控制器服务的外部IP。然后,我需要将“开发”名称空间中的原始2个服务更改为ClusterIP,由于Ingress规则,现在将获得流量。

主机名将如何工作?假设我的第一个服务的DNS记录为“ foo.com”,第二个服务的域名为“ bar.com”,我可以设置入口规则以将请求路由到2个不同的域吗?

2 个答案:

答案 0 :(得分:4)

您已经对Ingress感到满意。现在,您必须使用external-dns

这将为您创建DNS,并将在入口中指定。例如。

- host: foo.com
  http:
    paths:
      - path: /*
        backend:
          serviceName: <your service name>
          servicePort: 80

答案 1 :(得分:1)

现在您已经创建了入口规则,剩下的就是将DNS记录“ foo.com”和“ bar.com”设置为入口控制器服务的外部ip。