【问题标题】:kubernetes on aws: Exposing multiple domain names (ingress vs ELB)aws 上的 kubernetes:暴露多个域名(入口与 ELB)
【发布时间】:2018-06-19 15:20:47
【问题描述】:

我正在aws 上试验kubernetes 集群。

归根结底,我想公开 2 个网址:

  • production.somesite.com
  • staging.somesite.com

当暴露 1 url 时,事情(至少在云环境中)似乎很容易。

您使服务 LoadBalancer 类型 --> aws 提供 ELB --> 您将 A 类型别名记录(例如 whatever.somesite.com)分配给 ELB 的 dns 名称和繁荣,有你的通过您喜欢的主机名公开提供的服务。

我认为解决此问题的一种简单(而且我认为不是最佳实践)方法是公开 2 个 ELB。

Ingress 是(好的)替代方案吗?

如果是这样,我应该创建的Route53 记录是什么?

对于重要的事情(如果这可能是Ingress 的交易破坏者):

  • production.somesite.com公开可用
  • staging.somesite.com 将具有限制性访问权限

【问题讨论】:

    标签: amazon-web-services networking kubernetes amazon-route53


    【解决方案1】:

    Ingress 肯定是一种可能的解决方案。

    您需要在集群中部署一个Ingress controller(例如https://github.com/kubernetes/ingress-nginx),而不是像以前那样使用LoadBalancer 类型的Service 公开它。

    route53 中,您需要将您希望由入口控制器提供服务的任何域名指向 ELB 的名称,就像您之前所做的那样。

    您需要做的最后一件事是为您希望入口控制器注意的每个域创建一个 Ingress 资源(更多信息请点击此处:https://kubernetes.io/docs/concepts/services-networking/ingress/)。

    话虽如此,如果您计划在集群中只有 2 个公共 URL,我会使用 2 个 ELB。入口控制器是集群中要维护/监控的另一个组件,因此在评估权衡时要考虑到这一点。

    【讨论】:

      猜你喜欢
      • 2018-05-22
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多