gpt4 book ai didi

kubernetes - 为什么LoadBalancer在GKE上运行时Ingress会失败?

转载 作者:行者123 更新时间:2023-12-02 03:01:06 25 4
gpt4 key购买 nike

由于健康检查失败,我无法让 Ingress 在 GKE 上工作。我已经尝试了所有我能想到的调试步骤,包括:

  • 已验证我的配额没有不足
  • 已验证我的服务可从集群内访问
  • 已验证我的服务在 k8s/GKE 负载均衡器后运行。
  • 已验证 healthz 检查是否在 Stackdriver 日志中通过

...我很乐意提供有关如何调试或修复的任何建议。详情如下!


我在 GKE 上设置了类型为 LoadBalancer 的服务。通过外部 IP 运行良好:

apiVersion: v1
kind: Service
metadata:
name: echoserver
namespace: es
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
type: LoadBalancer
selector:
app: echoserver

然后我尝试在同一个服务之上设置一个 Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: echoserver-ingress
namespace: es
annotations:
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.global-static-ip-name: "echoserver-global-ip"
spec:
backend:
serviceName: echoserver
servicePort: 80

Ingress 已创建,但它认为后端节点不健康:

$ kubectl --namespace es describe ingress echoserver-ingress | grep backends
backends: {"k8s-be-31102--<snipped>":"UNHEALTHY"}

在 GKE 网络控制台中检查 Ingress 后端的状态,我看到了同样的事情:

0 of 3 healthy

健康检查详情按预期出现:

health check details

...并且在我的集群中的一个 pod 中,我可以成功调用该服务:

# curl  -vvv echoserver  2>&1 | grep "< HTTP"
< HTTP/1.0 200 OK

# curl -vvv echoserver/healthz 2>&1 | grep "< HTTP"
< HTTP/1.0 200 OK

我可以通过 NodePort 寻址服务:

# curl  -vvv 10.0.1.1:31102  2>&1 | grep "< HTTP" 
< HTTP/1.0 200 OK

(不用说,因为我在第 1 步中设置的 Load Balancer 服务导致网站运行良好。)

我还看到 healthz 检查在 Stackdriver 日志中传递:

enter image description here

关于配额,我检查并发现我只使用了 30 个后端服务中的 3 个:

$ gcloud compute project-info describe | grep -A 1 -B 1  BACKEND_SERVICES
- limit: 30.0
metric: BACKEND_SERVICES
usage: 3.0

最佳答案

几周前遇到过类似的问题。为我修复的是在服务描述中添加一个 NodePort,以便 Google Cloud Loadbalancer 可以探测这个 NodePort。对我有用的配置:

apiVersion: v1
kind: Service
metadata:
name: some-service
spec:
selector:
name: some-app
type: NodePort
ports:
- port: 80
targetPort: 8080
nodePort: 32000
protocol: TCP

Ingress 可能需要一些时间才能接收到它。您可以重新创建入口以加快速度。

关于kubernetes - 为什么LoadBalancer在GKE上运行时Ingress会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46166989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com