【问题标题】:How to do DNS pointing to aws eks如何做 DNS 指向 aws eks
【发布时间】:2021-06-19 03:27:06
【问题描述】:

我正在运行 aws eks。我正在尝试安装示例 Nginx 应用程序并将子域指向它。我已将 aws eks 连接到现有的牧场主门户。我可以使用牧场主安装我的 Nginx 应用程序。它有一个服务文件和入口文件。这是我的 Nginx helm 图表https://github.com/clayrisser/charts/tree/master/alpha/nginx

当我浏览许多在线文档时,我看到 aws eks 需要 aws 负载均衡器控制器,它会自动创建我们通过入口和服务文件指定的类型的负载均衡器,并且我们需要将别名指向 domian。如果我们的域是根域,我们如何对点进行别名?

我们如何才能避免为每个应用创建 Lb。有没有办法为整个集群只创建和使用一个 LB?并且所有应用都可以使用这个LB?

有没有办法让 elb 获得 IP 而不是生成一个?

如果有更好的方法

【问题讨论】:

    标签: amazon-web-services kubernetes kubernetes-ingress amazon-elb amazon-eks


    【解决方案1】:

    我们如何才能避免为每个应用创建 Lb。有没有办法 只为整个集群创建和使用一个 LB?并且所有应用程序都可以使用 这个LB?

    是的,您可以在集群中安装ingress controller,服务类型为LoadBalancer。这将在您的帐户中创建一个LoadBalancer。一些流行的是 Nginx、Traefik、Contour 等。

    您现在创建的入口资源可以通过注解kubernetes.io/ingress.class 使用此入口控制器。确保您的应用服务类型不是 LoadBalancer,因为它将创建一个新的 LB。

    有没有办法让 elb 获得 IP 而不是生成一个?

    是的,一些云提供商(包括 AWS)允许您指定 loadBalancerIP。在这些情况下,负载均衡器是使用用户指定的 loadBalancerIP 创建的。服务应如下所示:

    apiVersion: v1
    kind: Service
    spec:
      type: LoadBalancer
      loadBalancerIP: xx.xx.xx.xx
      ...
    

    但是当您正在寻找单个 LB 时,您可能应该使用带有入口控制器的 loadBalancerIP 选项。例如,nginx 入口控制器提供此选项。配置类似于:

    values:
      controller:
        service:
          loadBalancerIP: "12.234.162.41"
          xxx 
    

    https://github.com/helm/charts/blob/master/stable/nginx-ingress/values.yaml#L271

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      相关资源
      最近更新 更多