该服务用于聚合Kubernetes集群中服务和Pod的健康检查结果,提供服务与Pod健康状态查询、不健康服务确认及粘性分类管理等功能。
服务健康的判定条件为其所有Pod均健康,通过查询每个Pod的__health端点评估Pod状态。服务按分类分组,支持指定分类查询;未指定分类时返回所有服务健康状态。
通过查询Pod内应用的__health端点评估Pod健康状态。若Pod中至少一项检查失败,根据失败检查的严重级别,Pod状态判定为警告或严重。
服务不健康时可确认警告状态。确认所有不健康服务后,聚合健康检查的整体状态将变为健康(并提示有“n”个服务已确认)。
分类可设为粘性,即若分类中任一服务不健康,该分类将被禁用(状态变为不健康),直至手动重新启用,提供启用分类的端点。
本地运行前需获取项目依赖,执行以下命令:
shellgo build
本地环境功能有限(需访问集群内Pod),仅支持以下功能:
Docker镜像构建使用仓库:coco/upp-aggregate-healthcheck
服务需满足以下条件才能被聚合健康检查纳入监控:
__hasHealthcheck: "true"readinessProbe(就绪探针),检查应用的__gtg端点分类通过Kubernetes ConfigMap定义,模板如下:
yamlkind: ConfigMap apiVersion: v1 metadata: name: category.CATEGORY-NAME # 分类名称 labels: healthcheck-categories-for: aggregate-healthcheck # 聚合健康检查服务识别标签 data: category.name: CATEGORY-NAME # 分类名称 category.services: serviceName1, serviceName2, serviceName3 # 分类包含的服务列表 category.refreshrate: "60" # 缓存刷新间隔(秒,默认60) category.issticky: "false" # 是否为粘性分类(默认false) category.enabled: "true" # 是否启用分类(默认true)
支持两种响应格式:
"Accept: application/json"pathPrefix:路径前缀,默认为空。以下示例假设pathPrefix为__health__gtg(健康就绪端点)categories:指定分类(多个分类用逗号分隔)cache:是否使用缓存(默认true,设为false时实时检查)localhost:8080/__gtg?cache=false&categories=read,publish<pathPrefix>/__health 或 <pathPrefix>(服务健康检查端点)categories:指定分类(多个分类用逗号分隔)cache:是否使用缓存(默认true)localhost:8080/__health?cache=false&categories=read,publish<pathPrefix>/__pods-health(Pod健康检查端点)service-name:服务名称(必填)localhost:8080/__health/__pods-health?service-name=api-policy-component<pathPrefix>/__pod-individual-health(单个Pod健康检查端点)pod-name:Pod名称(必填)localhost:8080/__health/__pod-individual-health?pod-name=api-policy-component2912-***<pathPrefix>/add-ack(确认服务端点,POST方法)service-name:服务名称(必填)ack-msg:确认消息localhost:8080/__health/add-ack?service-name=api-policy-component(请求体:ack-msg=这是确认消息)<pathPrefix>/rem-ack(取消确认端点)service-name:服务名称(必填)localhost:8080/__health/rem-ack?service-name=api-policy-component<pathPrefix>/enable-category(启用分类端点)category-name:分类名称(必填)localhost:8080/__health/enable-category?category-name=read<pathPrefix>/disable-category(禁用分类端点)category-name:分类名称(必填)localhost:8080/__health/disable-category?category-name=read来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429