将弹性负载均衡器暴露在互联网上的最简单方法



我已经将grafana部署到AWS EKS集群,我希望能够从web浏览器访问它,如果我创建一个LoadBalancer的Kubernetes服务类型,基于我所拥有的非常有限的AWS网络知识,我知道它映射到一个弹性负载均衡器,我可以获得它的名称,转到网络和安全->网络接口,并获取与之相关的所有接口,每个EC2实例一个。假设它是与每个ELB网络接口相关的公共ip地址,我需要安排访问以访问我的grafana服务,而且我的AWS网络知识非常缺乏,对我来说,通过web浏览器访问grafana Kubernetes服务最快、最简单的方法是什么。

公开在kubernetes上运行的任何应用程序的最简单方法是将ServiceType创建为LoadBalancer。我自己在一些服务中也使用了同样的方法来快速启动和运行。要获得负载平衡器名称,我需要kubectl get svc这将给我负载平衡器FQDN。然后我将其映射到DNS。

我使用的另一种方法是部署nginxingress控制器。

https://kubernetes.github.io/ingress-nginx/deploy/#aws

这将创建一个ServiceType作为LoadBalancer。然后我创建Ingress,它将被映射到入口控制器elb。

https://kubernetes.io/docs/concepts/services-networking/ingress/#the-入口资源

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

我将其用于运行的所有应用程序,其中一个loadbalancer使用nginxingress控制器将其映射到一个elb。

在我的特定场景中,解决方案是通过端口为LoadBalancer服务打开端口。

最新更新