amazon-web-services - AWS ALB 未解析
问题描述
所以我有一个 EKS 集群,并设置了 AWS Alb Ingress Controller:
https://github.com/kubernetes-sigs/aws-alb-ingress-controller
我正在尝试在这里设置 Grafana,并创建了 Ingress,但它似乎根本没有解决。
我有以下入口:
$ kubectl describe ingress grafana
Name: grafana
Namespace: orbix-mvp
Address: 4ae1e4ba-orbixmvp-grafana-fd7d-993303634.eu-central-1.elb.amazonaws.com
Default backend: default-http-backend:80 (<none>)
Rules:
Host Path Backends
---- ---- --------
grafana-orbix.orbixpay.com
/ grafana:80 (<none>)
Annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-2016-08
alb.ingress.kubernetes.io/subnets: subnet-08431d96168e36c30,subnet-0e2a7e2766852bf8a
alb.ingress.kubernetes.io/success-codes: 302
kubernetes.io/ingress.class: alb
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 45m alb-ingress-controller LoadBalancer 4ae1e4ba-orbixmvp-grafana-fd7d created, ARN: arn:aws:elasticloadbalancing:eu-central-1:109153834985:loadbalancer/app/4ae1e4ba-orbixmvp-grafana-fd7d/4b98cb7027b71697
Normal CREATE 45m alb-ingress-controller rule 1 created with conditions [{ Field: "host-header", Values: ["grafana-orbix.orbixpay.com"] },{ Field: "path-pattern", Values: ["/"] }]
它的后端是以下服务:
$ kubectl describe service grafana
Name: grafana
Namespace: orbix-mvp
Labels: app=grafana
chart=grafana-1.25.1
heritage=Tiller
release=grafana
Annotations: <none>
Selector: app=grafana,release=grafana
Type: NodePort
IP: 172.20.11.232
Port: service 80/TCP
TargetPort: 3000/TCP
NodePort: service 30772/TCP
Endpoints: 10.0.0.180:3000
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
它确实有一个适当的端点:
$ kubectl get endpoints | grep grafana
grafana 10.0.0.180:3000 46m
pod 本身已正确标记并具有正确的 IP,即上面的端点:
$ kubectl describe pod grafana-bdc977fd4-ptzhg
Name: grafana-bdc977fd4-ptzhg
Namespace: orbix-mvp
Priority: 0
PriorityClassName: <none>
Node: ip-10-0-0-230.eu-central-1.compute.internal/10.0.0.230
Start Time: Mon, 11 Feb 2019 13:24:43 +0200
Labels: app=grafana
pod-template-hash=687533980
release=grafana
Annotations: <none>
Status: Running
IP: 10.0.0.180
我的 AWS 账户将 LoadBalancer 列为活动,子网与集群位于同一 VPC 上,安全组由 Ingress Controller 生成。
一切似乎都设置正确,但是当我访问 LoadBalancer 地址时,它只是超时。
$ kubectl get ingresses
NAME HOSTS ADDRESS PORTS AGE
grafana grafana-orbix.orbixpay.com 4ae1e4ba-orbixmvp-grafana-fd7d-993303634.eu-central-1.elb.amazonaws.com 80 49m
解决方案
我实际上想通了 - Ingress 配置只允许域的流量。这不包括到负载均衡器地址的流量(我假设默认情况下允许)。
基本上需要允许 * 才能使负载均衡器 URL 也可以工作。此外,如果在我的情况下应用程序重定向到/login
like,则也需要允许所有路径,因为如果指定的路径仅用于,则该重定向不起作用/
。
推荐阅读
- python - 适当的 numpy/scipy 函数来插入在单纯形(非规则网格)上定义的函数
- c# - 无法从 BST 中删除节点 - C#
- javascript - 如何将 Route 匹配到除基本(主)路径之外的任何路径?
- arrays - 希望计算公司名称出现在列中的次数,同时排除另一列中的重复值
- c++ - C++/OpenGL 随机分段错误
- java - 进程资源包 maven 错误 calssnotfoundexception org.apache.commons.collections.ExtendedProperties
- javascript - 使用哈希滚动时更改 url
- javascript - 返回按钮返回登录页面而不是角度 4 中的主页
- python - 重叠多边形时地理熊猫的空间连接?
- dataframe - 如何在闪亮的应用程序上将数据框作为数据表项返回