頂級工具 | 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 分享