我在我的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
入口将把域example.com
上的所有流量重定向到my-service-example
问题是,入口没有公共url,我如何将这个入口暴露给公共互联网?
集群中需要一个负载均衡器控制器来连接kubernetes服务(nginx, istio, aws负载均衡器控制器)
在这种情况下,你没有说你在你的集群中安装了什么样的入口,所以我建议你使用aws的官方入口控制器几周,安装这个控制器请按照这个文档,之后你需要改变你的入口对象,在你的注释块中添加这些行:
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