創建 Kubernetes 集群并部署容器化應用只是第一步。一旦集群運行起來,我們需要確保一起正常,所有必要組件就位并各司其職,有足夠的資源滿足應用的需求。Kubernetes 是一個復雜系統,運維團隊需要有一套工具幫助他們獲知集群的實時狀態,并為故障排查提供及時和準確的數據支持。
Weave Scope 是 Docker 和 Kubernetes 可視化監控工具。Scope 提供了至上而下的集群基礎設施和應用的完整視圖,用戶可以輕松對分布式的容器化應用進行實時監控和問題診斷。
在 K8s 集群中安裝 Scope 的方法很簡單,使用下面的命令:
[root@master ~]# kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')&k8s-service-type=NodePort"
namespace/weave created
serviceaccount/weave-scope created
clusterrole.rbac.authorization.k8s.io/weave-scope created
clusterrolebinding.rbac.authorization.k8s.io/weave-scope created
deployment.apps/weave-scope-app created
service/weave-scope-app created
daemonset.extensions/weave-scope-agent created
部署成功后,有如下相關組件:
[root@master ~]# kubectl get pod -n weave
NAME READY STATUS RESTARTS AGE
weave-scope-agent-6l4wn 1/1 Running 0 4m55s
weave-scope-agent-dfpdl 1/1 Running 0 4m55s
weave-scope-agent-spxb4 1/1 Running 0 4m55s
weave-scope-app-6979884cc6-hpkdz 1/1 Running 0 4m55s
[root@master ~]# kubectl get svc -n weave
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
weave-scope-app NodePort 10.103.94.215 <none> 80:30229/TCP 5m
[root@master ~]# kubectl get deploy -n weave
NAME READY UP-TO-DATE AVAILABLE AGE
weave-scope-app 1/1 1 1 5m13s
weave-scope-agent
,集群每個節點上都會運行的 scope agent 程序,負責收集數據。weave-scope-app
,scope 應用,從 agent 獲取數據,通過 Web UI 展示并與用戶交互。weave-scope-app
,默認是 ClusterIP 類型,我們已經在上面的命令中添加了參數k8s-service-type=NodePort
修改為 NodePort。瀏覽器訪問 http://YOUR_MASTER_IP:30229/,Scope 默認顯示當前所有的 Controller(Deployment、DaemonSet 等)。
Scope 會自動構建應用和集群的邏輯拓撲。比如點擊頂部 Pods
,會顯示所有 Pod 以及 Pod 之間的依賴關系。
點擊 Hosts
,會顯示各個節點之間的關系,可以在 Scope 中查看資源的 CPU 和內存使用情況。
Scope 還提供了便捷的在線操作功能,比如選中某個 Host,點擊 >_
按鈕可以直接在瀏覽器中打開節點的命令行終端:
點擊 Deployment 的 +
可以執行 Scale Up 操作:
可以查看 Pod 的日志:
可以 attach、restart、stop 容器,以及直接在 Scope 中排查問題:
Scope 支持關鍵字搜索和定位資源。
還可以進行條件搜索,比如查找和定位 MEMORY > 100M 的 Pod。
Weave Scope 界面極其友好,操作簡潔流暢,更多功能留給大家去探索。
官方文檔:https://www.weave.works/docs/scope/latest/installing/#k8s
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。