server = ServerBuilder.forPort(port)
.addService(new GrpcModuleHealthCheck())
.addService(new GrpcModuleReadinessCheck())
.addService(ProtoReflectionService.newInstance())
.build.start
livenessProbe:
failureThreshold: 3
exec:
command: ["bin/grpc_health_probe", "-addr=:8801"]
initialDelaySeconds: 240
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 15
readinessProbe:
failureThreshold: 3
exec:
command: ["bin/grpc_health_probe", "-addr=:8801"]
initialDelaySeconds: 20
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 15
我刚刚测试并发现“GRPCModuleReadinessCheck”(我最后添加的健康类)实现在执行我的kubernetes pod时生效
kubectl exec -it <MY_POD_NAME> -- /bin/bash
bash-4.4$ ./grpc_health_probe -addr=localhost:8801
status: SERVING
我想知道这个probe实用程序二进制文件如何区分活跃度检查和就绪度检查?
简而言之,它不是。
Kubernetes定义了两种截然不同的检查:活动性检查程序是否仍然正常工作(即没有挂起),准备性检查程序是否愿意接受更多请求。
livenessProbe:
failureThreshold: 3
exec:
# considers both SERVING and NOT SERVING to be a success
command: ["/bin/sh", "-c", "bin/grpc_health_probe -addr=:8801 2>&1 | grep -q SERVING"]
initialDelaySeconds: 240
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 15
readinessProbe:
failureThreshold: 3
exec:
# fails on any response except SERVING
command: ["bin/grpc_health_probe", "-addr=:8801"]
initialDelaySeconds: 20
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 15
当我执行部署并描述pod时,我看到在输出底部的'Events'下列出了以下内容: (这是令人困惑的,因为它将年龄声明为2m1s-但大于这个值-所以我不确定它为什么将这个值报告为年龄) 就绪探测随后以相同错误失败。IP号与我的pod的IP匹配,我在pod描述中的下看到了这一点: 活性和就绪探针的失败导致pod不断终止和重新启动。 该应用程序有一个默认的页面,所以我相信如果健康探测能够连接,它应该会收
当我试图为我的awx_web容器设置活跃度和就绪度prob时,我总是得到这个错误
如何为我的spring boot应用程序编写kubernetes Readision probe(启动大约需要20秒)?我试着从配置活跃度、就绪和启动探测中学习,但我不知道Kubernetes是如何将状态代码200计算为成功的
我使用的是标准的skydns RC/SVC YAMLS。 吊舱描述: (etcd) 我还将放入kube2sky容器中,ca.crt与服务器上的ca.crt匹配。
为了简单起见,我认为在kubernetes中最好只检查TCP端口的活跃度和就绪度,因为它不需要了解健康检查endpoint(HTTP路径),而只需要端口号。任何关于仅仅依赖TCP端口进行服务健康检查的缺点的指南都非常赞赏,请假设POD不是其他服务的代理,并且所有业务逻辑都在POD本身中。 https://kubernetes.io/docs/tasks/configure-pod-containe
我正试图遵循此文档,以便在我的吊舱上启用准备状态和活跃度探测,以便在我的集群中进行健康检查,但它给了我一个错误,即拒绝连接到容器IP和端口。下面是我添加的准备和活力的部分。 我正在使用helm进行部署,我试图监视的端口是80。下面还给出了入口的服务文件。 https://docs.microsoft.com/en-us/azure/application-gateway/ingress-contr