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: 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
您可以使用 -n 參數指定命名空間。
輸出格式默認輸出到控制臺,也可以輸出為 json、html、YAML 等格式,并且可以將輸出內容推送到第三方服務,如 S3 桶。
將輸出格式為 HTML 保存到文件:
./popeye --out html --save --output-file log.html /tmp/popeye/log.html
在瀏覽器中打開:
了解更多關于 Popeye 的信息,請訪問: