
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
kubenurse是一个小型服务,用于监控Kubernetes集群中的所有网络连接,并将采集的指标导出为Prometheus端点。
您可以从https://hub.docker.com/r/postfinance/kubenurse/%E8%8E%B7%E5%8F%96Docker%E9%95%9C%E5%83%8F%E3%80%82https://github.com/postfinance/kubenurse/tree/master/examples%E7%9B%AE%E5%BD%95%E5%8C%85%E5%90%AB%E5%B0%86kubenurse%E9%83%A8%E7%BD%B2%E5%88%B0kube-system%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E7%9A%84YAML%E6%96%87%E4%BB%B6%E3%80%82
完成设置且Prometheus抓取kubenurse指标后,您可以构建仪表板以显示网络延迟和错误,或使用指标进行告警。
!Grafana ingress view !Grafana path view
kubenurse通过环境变量进行配置:
KUBENURSE_INGRESS_URL: 用于检查入口的kubenurse URLKUBENURSE_SERVICE_URL: 用于检查Kubernetes服务的kubenurse URLKUBENURSE_INSECURE: 若为"true",TLS连接将不验证证书KUBENURSE_EXTRA_CA: TLS连接的额外CA证书路径KUBENURSE_NAMESPACE: 用于查找邻居kubenurse的命名空间KUBENURSE_NEIGHBOUR_FILTER: 用于过滤邻居kubenurse的标签选择器以下变量由Kubernetes注入Pod,不应手动定义:
KUBERNETES_SERVICE_HOST: 与kube-apiserver通信的主机KUBERNETES_SERVICE_PORT: 与kube-apiserver通信的端口使用的HTTP客户端会自动附加找到的证书/var/run/secrets/kubernetes.io/serviceaccount/ca.crt。
kubenurse在8080端口监听HTTP请求,并暴露以下端点:
/: 重定向到/alive/alive: 返回包含检查结果的格式化JSON(如下所述),状态码200表示一切正常,否则为500/alwayshappy: 返回HTTP 200,用于自身测试/metrics: 暴露Prometheus指标/alive端点返回的JSON示例:
json{ "api_server_direct": "ok", "api_server_dns": "ok", "me_ingress": "ok", "me_service": "ok", "hostname": "kubenurse-1234-x2bwx", "neighbourhood_state": "ok", "neighbourhood": [ { "PodName": "kubenurse-1234-8fh2x", "PodIP": "10.10.10.67", "HostIP": "10.12.12.66", "NodeName": "k8s-66.example.com", "Phase": "Running" }, { "PodName": "kubenurse-1234-ffjbs", "PodIP": "10.10.10.138", "HostIP": "10.12.12.89", "NodeName": "k8s-89.example.com", "Phase": "Running" } ], "headers": { "Accept": [ "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" ], "Accept-Encoding": [ "gzip, deflate, br" ], ... } }
每5秒以及每次访问/alive时,将运行以下检查。检查结果缓存3秒以避免过多网络流量。
通过直接链接(KUBERNETES_SERVICE_HOST、KUBERNETES_SERVICE_PORT)检查Kubernetes API Server的/version端点。
指标类型:api_server_direct
通过Cluster DNS URL https://kubernetes.default.svc:$KUBERNETES_SERVICE_PORT检查Kubernetes API Server的/version端点,同时验证kube-dns部署是否正常。
指标类型:api_server_dns
检查入口后的kubenurse是否可通过/alwayshappy端点访问,地址由环境变量KUBENURSE_INGRESS_URL提供(如https://kubenurse.example.com),同时验证外部DNS解析是否正常。
指标类型:me_ingress
检查Kubernetes服务后的kubenurse是否可通过/alwayshappy端点访问,地址由环境变量KUBENURSE_SERVICE_URL提供(如http://kubenurse.mynamespace.default.svc:8080),同时验证kube-proxy配置是否正常。
指标类型:me_service
检查每个邻居kubenurse是否可通过/alwayshappy端点访问。邻居通过查询kube-apiserver获取KUBENURSE_NAMESPACE中带有KUBENURSE_NEIGHBOUR_FILTER标签的所有Pod来发现,请求直接发送到Pod IP。
指标类型:path_$KUBELET_HOSTNAME(包含前缀path_和邻居kubenurse所在kubelet的主机名)
所有检查都会生成可用于监控的指标,包括:
在/metrics端点可获取以下指标:
kubenurse_errors_total: 按错误类型分区的kubenurse错误计数器kubenurse_request_duration: 按错误类型分区的kubenurse请求持续时间,一分钟内的摘要您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务