【问题标题】:How to expose nginx ingress to the public url in EKS如何将 nginx 入口暴露给 EKS 中的公共 url
【发布时间】:2021-10-25 14:04:07
【问题描述】:

我的 AWS EKS 中有入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: example.com
    http:
      paths:
        - path: /
          backend:
            serviceName: my-service-example
            servicePort: 80 

Ingress 会将域 example.com 上的所有流量重定向到 my-service-example

问题是,入口没有公共 url,我怎样才能将此入口公开到公共互联网?

【问题讨论】:

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


    【解决方案1】:

    您需要集群中的负载平衡器控制器来连接到您的 kubernetes 服务(nginx、istio、aws 负载平衡器控制器)。

    在这种情况下你没有说你在集群中安装了什么样的入口,所以我建议使用aws官方的入口控制器,用于eks,这个控制器的安装请按照doc,稍后您需要更改您的入口对象,在您的注释块中添加这些行:

      annotations:
        kubernetes.io/ingress.class: alb
        alb.ingress.kubernetes.io/scheme: internet-facing
        alb.ingress.kubernetes.io/target-type: ip
    

    AWS 负载均衡器控制器与 AWS API 交互以在您的公共子网中创建应用程序负载均衡器,因为在注释中方案是 internet-facing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多