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

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

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

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

以下是在 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:      2021-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 参数指定命名空间。

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

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

./popeye --out html --save --output-file log.html /tmp/popeye/log.html

浏览器中打开:

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

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

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

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享