gpt4 book ai didi

kubernetes - 如何在服务于 Kubernetes Ingress 的 GCE L7 平衡器中获取自定义运行状况检查路径?

转载 作者:行者123 更新时间:2023-12-03 23:42:35 28 4
gpt4 key购买 nike

我正在尝试在 GCE 中的 Kubernetes(服务器 1.6.4)内部署一个 grafana 实例。我正在使用以下 list :

部署 (full version):

apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: grafana
spec:
replicas: 1
template:
metadata:
labels:
name: grafana
spec:
initContainers:

containers:
- name: grafana
image: grafana/grafana
readinessProbe:
httpGet:
path: /login
port: 3000


服务 :
apiVersion: v1
kind: Service
metadata:
name: grafana
spec:
selector:
name: grafana
ports:
- protocol: TCP
port: 3000
type: NodePort

入口 :
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana
spec:
tls:
- secretName: grafana.example.com
backend:
serviceName: grafana
servicePort: 3000

事实证明,grafana 在 / 上提供 302但是默认的 GCE 入口运行状况检查预计 / 上的值为 200 ( source)。如您所见, Deployment 中有一个自定义的 readinessProbe (第 22 行)。

一旦我将这些资源发布到 kube-apiserver 上,所有内容都将被正确创建。具体来说,Ingress 获得一个公共(public) ip4 地址,但 健康检查设置为默认 /路径而不是 readinessProbe 中配置的自定义路径 .因此,如果我 curl,我会得到 502 Ingress 的公共(public) ip4 地址。

该问题可通过手动将探测路径更改为 /login 来解决。在 GCE 控制台中。

最佳答案

的条件推断 Ingress 创建的健康检查是

an Ingress backend.servicePort references a Service port, matching a Pods spec.containers[].readinessProbe.httpGet.port and the Service's targetPort references the serving Pod's containers[].spec.ports.containerPort.


2020 年年中,GKE 引入了注释和自定义资源定义 BackendConfig要明确配置健康检查,请参阅 concepts/ingress#health_checks .
警告:如果您再次更改 readinessProbe,在推断的健康检查 GKE 不保持就绪探测和运行状况检查同步 .它只会在 Ingress(重新)创建时再次推断。
要直接编辑外部负载均衡器运行状况检查(对于自定义 http 路径),请使用
gcloud compute backend-services list
gcloud compute backend-services get-health BACKEND_SERVICE_NAME --global
gcloud compute health-checks describe
gcloud compute health-checks update http BACKEND_SERVICE_NAME --request-path=/api/health

关于kubernetes - 如何在服务于 Kubernetes Ingress 的 GCE L7 平衡器中获取自定义运行状况检查路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44584270/

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