顶级工具 | Popeye帮你发现k8s集群潜在问题

popeye 是一个实用程序,用于扫描实时 kubernetes 集群并报告已部署资源和配置的潜在问题。它可以根据部署内容对您的集群进行消毒。通过扫描您的集群,popeye 能够检测配置错误,并帮助您确保最佳实践的实施,从而预防未来问题的发生。其目标是减少在运行 kubernetes 集群时所面临的认知负担。此外,如果您的集群使用了 metric-server,popeye 将报告可能的资源分配过多/不足,并在集群容量不足时尝试警告您。

Popeye 是一个只读工具,它不会以任何方式更改您的 Kubernetes 资源!Popeye 会扫描您的集群以寻找最佳实践和潜在问题。目前,Popeye 仅查看节点、命名空间、pod 和服务。消毒器的目的是发现错误配置,例如端口不匹配、无效或未使用的资源、指标利用率、探针、容器映像、RBAC 规则、裸露资源等。

Popeye 适用于 Kubernetes 1.13+,您可以将 Popeye 容器化并作为一次性任务或 CronJob 直接在您的 Kubernetes 集群中运行。它可以在 Linux、MacOS 和 Windows 平台上使用。

以下是在 Linux 上演示 Popeye 的使用方法:

wget https://www.php.cn/link/452e59f6084d94442fd8f653932afcb8/releases/download/v0.9.8/popeye_Linux_x86_64.tar.gz
tar -zxf popeye_Linux_x86_64.tar.gz

检查 Popeye 的版本:

# ./popeye version
 ___     ___ _____   _____                       K
 .-'-.     | _ \___| _ \ __\ \ / / __|                       8
 __|      `\  |  _/ _ \  _/ _| \ V /| _|                         s
 `-,-`--._   `\|_| \___/_| |___| |_| |___|                       []
 .->'  a     `|-'  Biffs`em and Buffs`em!
 `=/ (__/_       /
     \_,    `    _)
       `----;  |
     Version:   0.9.8
     Commit:    6db27f04407b337f6743faf4f382a61991aa5f31
     Date:      2025-11-02T21:26:28Z
     Logs:

执行扫描,默认扫描所有命名空间:

# ./popeye
# ....STATEFULSETS (5 SCANNED)                                                       ? 2 ? 3 ? 0 ✅ 0 0٪
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅
  · default/dubbo-monitor..........................................................................?    ? [POP-500] Zero scale detected.
    ? dubbo-monitor      ? [POP-100] Untagged docker image in use.
      ? [POP-106] No resources requests/limits defined.
  · default/mongodb................................................................................?
    ? mongodb      ? [POP-106] No resources requests/limits defined.
  · default/redis..................................................................................?
    ? init-redis      ? [POP-100] Untagged docker image in use.
      ? [POP-106] No resources requests/limits defined.
    ? redis      ? [POP-106] No resources requests/limits defined.
  · default/redis-test.............................................................................?
    ? [POP-500] Zero scale detected.
    ? redis      ? [POP-106] No resources requests/limits defined.
  · default/zookeeper-one..........................................................................?
    ? zookeeper-one      ? [POP-106] No resources requests/limits defined.
SUMMARY
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅
Your cluster score: 74 -- C

可以看到当前集群评分为 74:C

顶级工具 | Popeye帮你发现k8s集群潜在问题

您可以使用 -n 参数指定命名空间。

钉钉 AI 助理 钉钉 AI 助理

钉钉AI助理汇集了钉钉AI产品能力,帮助企业迈入智能新时代。

钉钉 AI 助理 204 查看详情 钉钉 AI 助理

输出格式默认输出到控制台,也可以输出为 JSON、HTML、YAML 等格式,并且可以将输出内容推送到第三方服务,如 S3 桶。

将输出格式为 HTML 保存到文件:

./popeye --out html --s*e --output-file log.html
/tmp/popeye/log.html

在浏览器中打开:

顶级工具 | Popeye帮你发现k8s集群潜在问题

了解更多关于 Popeye 的信息,请访问:

https://www.php.cn/link/452e59f6084d94442fd8f653932afcb8

以上就是顶级工具 | Popeye帮你发现k8s集群潜在问题的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。