tr5*_*r53 2 nginx amazon-web-services amazon-route53 grafana kubernetes
我使用 helm 部署了 grafana,现在它正在 pod 中运行。如果我将端口 3000 代理到我的笔记本电脑,我就可以访问它。\n我尝试将一个域grafana.something.com指向该 Pod,以便可以从外部访问它。\n我在 Route53 中有一个域,可以将其附加到负载均衡器(应用程序负载均衡器、网络负载均衡器、经典负载均衡器)。该负载均衡器可以将流量从端口 80 转发到端口 80 到一组节点(让我们稍后保留端口 443)。\n我真的很难设置此功能。我确信缺少了一些东西,但我不知道是什么。
我想象的基本图是这样的。
\n\n互联网
\n\xe2\x86\x93\xe2\x86\x93
\nroute53 中的域 (grafana.something.com)\n \
n\xe2\x86\x93\xe2\x86\x93
\n负载均衡器 80 到 80 (应用程序负载均衡器、网络负载均衡器、经典负载均衡器)\n我猜测 LB 会将端口 80 的流量转发到以下入口控制器(使用 Helm 部署 Grafana 时创建)\n
\n\xe2\x86\x93\xe2\x86\ x93
\nEKS 工作节点组
\n\xe2\x86\x93\xe2\x86\x93
\n入口资源 ??????
\n\xe2\x86\x93\xe2\x86\x93
\n入口控制器 - 在命名空间测试中使用 Helm 部署 Grafana 时创建。
kubectl get svc grafana -n test
grafana Type:ClusterIP ClusterIP:10.x.x.x Port:80/TCP
apiVersion: v1\nkind: Service\nmetadata:\n creationTimestamp: \n labels:\n app: grafana\n chart: grafana-\n heritage: Tiller\n release: grafana-release\n name: grafana\n namespace: test\n resourceVersion: "xxxx"\n selfLink: \n uid: \nspec:\n clusterIP: 10.x.x.x\n ports:\n - name: http\n port: 80\n protocol: TCP\n targetPort: 3000\n selector:\n app: grafana\n sessionAffinity: None\n type: ClusterIP\nstatus:\n loadBalancer: {}\nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x86\x93\xe2\x86\x93
\nPod Grafana 正在侦听端口 3000。代理到我的笔记本电脑端口 3000 后,我可以成功访问它。
鉴于您似乎没有安装Ingress 控制器,如果您在 K8S 集群中配置了 aws cloud-provider,则可以按照本指南使用 Helm 安装 Nginx Ingress 控制器。
在本指南结束时,您应该为入口控制器创建了一个负载均衡器,将 Route53 记录指向它并创建一个使用 grafana 服务的入口。例子:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/app-root: /
nginx.ingress.kubernetes.io/enable-access-log: "true"
name: grafana-ingress
namespace: test
spec:
rules:
- host: grafana.something.com
http:
paths:
- backend:
serviceName: grafana
servicePort: 80
path: /
Run Code Online (Sandbox Code Playgroud)
最终的流量路径将是:
Route53 -> ELB -> Ingress -> Service -> Pods
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |