1,基本介紹
• Weave Scope 是 Docker 和 Kubernetes 視覺化監控工具。
• Weave Scope 提供了至上而下的集群基礎設施和應用的完整視圖,用戶可以輕鬆對分散式的容器化應用進行即時監控和問題診斷。
2,安裝步驟
安裝 Weave Scope 的方法很簡單,我們只需執行如下命令即可:
kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')&k8s-service-type=NodePort"
3部署成功後,我們可以執行如下命令查看安裝了哪些元件:
kubectl get pod -n weave kubectl get svc -n weave kubectl get deploy -n weave
上面命令執行結果如下,可以看到部署了如下一些元件:
• DaemonSet weave-scope-agent:集群每個節點上都會運行的 scope agent 程式,負責收集資料。
• Deployment weave-scope-app:scope 應用,從 agent 獲取資料,通過 Web UI 展示並與用戶交互。
• Service weave-scope-app:默認是 ClusterIP 類型,我們已經在上面的安裝命令中添加了參數 k8s-service-type=NodePort 修改為 NodePort。
訪問 Scope 監控頁面
(1)從上面可以看到 Scope 在節點上監聽的埠是 31415,因此我們使用流覽器訪問如下位址即可打開監控頁面:
• http://YOUR_MASTER_IP:31415/
(2) Scope 預設顯示當前所有的 Controller(Deployment、DaemonSet 等)
4,拓撲結構、資源監控
(1)Scope 會自動構建應用和集群的邏輯拓撲。比如點擊頂部 PODS,會顯示所有 Pod 以及 Pod 之間的依賴關係。
(2)點擊 HOSTS,會顯示各個節點之間的關係。並且還可以顯示查看資源的 CPU 和記憶體使用情況。
5,線上操作
(1)Scope 還提供了便捷的線上操作功能,比如選中某個 Host,點擊 >_ 按鈕可以直接在流覽器中打開節點的命令列終端:
(2)點擊 Deployment 的 + 可以執行 Scale Up 操作,- 可以執行 Scale down 操作:
(3)點擊小電視圖示可以查看 Pod 的日誌:
(4)我們還可以 attach、restart、stop 容器,以及直接在 Scope 中排查問題:
6,強大的搜索功能
(1)Scope 支援關鍵字搜索和定位資源。
(2)還可以進行條件搜索,比如查找和定位 MEMORY > 100M 的 Pod。