如何解决AWS ElasticIP 到 nginx 入口控制器 EKS?
我有一个简单的任务,但是看了几十篇文章还是没有解决。
有一个简单的 AWS EKS 集群,使用 eksctl、ElasticIP 从演示模板创建,并且无需更改即可安装 https://bitnami.com/stack/nginx-ingress-controller/helm
我想在 AWS EKS nginx 入口控制器 1234567890.eu-central-1.elb.amazonaws.com 上使用 DNS A 记录将域 https://stage.mydomain.com 转发到 ElasticIP,以便所有服务这个 ElasticIP 地址可以访问我的集群。
我尝试过负载均衡器和网络均衡器,但它不起作用。
是否有经过验证的文章或操作序列来解决此问题并使用这组服务?
解决方法
是的,这在 AWS 文章中很常见,而且 NLD 值也只有这种方式
https://aws.amazon.com/blogs/opensource/network-load-balancer-nginx-ingress-controller-eks/
在上面的文章中,使用 NLB 作为后端安装 NGINX 控制器,提供 IP 的方式相同。
在这种情况下,您可以将 DNS
添加到 A
或 CNAME
一旦您的入口控制器设置完成,您将获得 LB
端点,您必须将其添加到 DNS
作为 A
记录或 CNAME
这会将请求转发到集群。
现在在集群内部,您必须使用 YAML 来创建入口
https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80
对于 NLB
中的您可以将注解添加到服务
**service.beta.kubernetes.io/aws-load-balancer-type: nlb**
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '60'
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
service.beta.kubernetes.io/aws-load-balancer-type: nlb
labels:
helm.sh/chart: ingress-nginx-2.0.3
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/version: 0.32.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: controller
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
type: LoadBalancer
externalTrafficPolicy: Local
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
- name: https
port: 443
protocol: TCP
targetPort: https
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/component: controller
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。