K8s-Monitor

更新於 發佈於 閱讀時間約 4 分鐘
raw-image

📔心得

之前都介紹docker監控container,這次來點不一樣的,直接裝在k8s裡面去監控pod的一些指標。

基本的指標像是cpu, mem, pod數量, node數量等等,都能透過kube-state-metrics完成,而如果想要監控一些流量的指標,像是tcp連線數,tw數等,則是需要另外在服務的pod裡另外寫node-exporter的container,組成side-car的形式,讓exporter將指標送往prometheus。

在撰寫的過程,遇到比較大的難題是prometheus的config檔撰寫,一開始打算使用docker-compose的方式起monitor服務,然後去call k8s cluster取得相關指標,但常常call不到服務,可能是因為minikube的關係,在本地也跑docker,最後改成直接安裝在k8s裡面,另外建立一個namespace放監控相關的服務,有機會在測試kind以及k3s。

demo用的deploy使用skaffold這本地開發k8s的神器,搭配kustomize可讓我依據所需測試的環境下去做自動佈署,有機會再另外介紹這工具。

之後預計會再新增prometheus adapter,讓我的prometheus metrics可以成為我hpa的擴縮判斷,因為基本的hpa指標只有cpu以及mem,如果可以依照網路流量變大,幫我擴展pod,當流量變小時幫我縮pod,讓我能自定義指標,相信使用k8s的效益會更大。

🔗詳細專案位置 –> https://github.com/sz9751210/k8s-monitor

👨‍💻簡介

在minikube環境下安裝prometheus以及grafana監控 k8s

  • demo-deploy:測試用deployment 使用skaffold搭配kustomize的方式下去佈署
  • prometheus, kube-state-metrics:撈取服務相關指標
  • grafana:監控UI

🎯setup

  1. start minikube
minikube start

2. deploy demo-deployment

cd demo-deploy && skaffold run -p prod

3. install monitor

sh ./install_monitor.sh
raw-image

4. setting data source

  • 使用上面執行完的grafana url
http://192.168.x.x:xxx
  • 輸入帳號密碼:admin
raw-image
  • 選擇data source -> add data source -> prometheus
raw-image
raw-image
raw-image
  • url設定為http://prometheus:9090 -> 點擊save
raw-image

5. import grafana ui

  • 點擊左上角回到首頁並選擇旁邊的dashboard -> import
raw-image
  • 到grafana/dashboard/複製dashboard.json貼到grafana並點擊load -> import
raw-image
raw-image
raw-image
留言
avatar-img
留言分享你的想法!
avatar-img
Alan的開發者天地
18會員
83內容數
golang
Alan的開發者天地的其他內容
2024/09/15
本文介紹如何使用 MongoDB 的命令行工具 Mongorestore 將先前備份的資料還原到資料庫中。Mongorestore 支援資料庫的整體恢復、特定集合的恢復,以及從遠端伺服器進行恢復等功能。無論是初學者還是有經驗的使用者,都能夠快速掌握如何使用 Mongorestore 工具。
Thumbnail
2024/09/15
本文介紹如何使用 MongoDB 的命令行工具 Mongorestore 將先前備份的資料還原到資料庫中。Mongorestore 支援資料庫的整體恢復、特定集合的恢復,以及從遠端伺服器進行恢復等功能。無論是初學者還是有經驗的使用者,都能夠快速掌握如何使用 Mongorestore 工具。
Thumbnail
2024/09/08
👨‍💻簡介 在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護
Thumbnail
2024/09/08
👨‍💻簡介 在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護
Thumbnail
2024/06/20
本文介紹如何對 Telegram 憑證監控機器人的代碼進行優化,包括新增指令、讀取變數、提高可讀性和可維護性。
Thumbnail
2024/06/20
本文介紹如何對 Telegram 憑證監控機器人的代碼進行優化,包括新增指令、讀取變數、提高可讀性和可維護性。
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
安裝環境需求 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。 機器之間要能夠互通。 外部存取權限。 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。 安裝Kubeadm與Ducker Kubeadm是Kubernetes的一鍵部署工具。 增加Kube
Thumbnail
這篇文章教你如何搭建Kubernetes Cluster,包括節點安裝前設定、軟體套件安裝、Control-Plane部署和加入運算節點等步驟。在建置之後,作者會分享一些基礎服務的安裝。希望這篇文章對你有所幫助。
Thumbnail
這篇文章教你如何搭建Kubernetes Cluster,包括節點安裝前設定、軟體套件安裝、Control-Plane部署和加入運算節點等步驟。在建置之後,作者會分享一些基礎服務的安裝。希望這篇文章對你有所幫助。
Thumbnail
今天來分享在建置完K8S後的基本工作之一 : 監控。 只要是任何會”運作”的物件(Object),不管平台、服務、軟體、硬體,為了要提供最高的可用性,就會需要透過大大小小的監控元件來幫助我們了解所有的狀態,以便在問題發生時能做到最快速的反應。
Thumbnail
今天來分享在建置完K8S後的基本工作之一 : 監控。 只要是任何會”運作”的物件(Object),不管平台、服務、軟體、硬體,為了要提供最高的可用性,就會需要透過大大小小的監控元件來幫助我們了解所有的狀態,以便在問題發生時能做到最快速的反應。
Thumbnail
Intro👨‍💻 在gcp環境下使用ansible playbook 建立k8s cluster,目前base image為centos 7,安裝方式類似elk stack,一樣先等master安裝完後產生token,接著安裝slave。 使用的CRI為containerd,CNI為calico
Thumbnail
Intro👨‍💻 在gcp環境下使用ansible playbook 建立k8s cluster,目前base image為centos 7,安裝方式類似elk stack,一樣先等master安裝完後產生token,接著安裝slave。 使用的CRI為containerd,CNI為calico
Thumbnail
👨‍💻簡介 有時候修改掛載的config檔,無法即時更新,需要重啟pod才會生效,為了解決這個問題,k8s-reloader因此而誕生,透過觀察掛載的configmap或是secret的變化自動對掛載的物件做滾動更新。 以下為在minikube環境下,透過掛載nginx-config檔並搭配re
Thumbnail
👨‍💻簡介 有時候修改掛載的config檔,無法即時更新,需要重啟pod才會生效,為了解決這個問題,k8s-reloader因此而誕生,透過觀察掛載的configmap或是secret的變化自動對掛載的物件做滾動更新。 以下為在minikube環境下,透過掛載nginx-config檔並搭配re
Thumbnail
之前都介紹docker監控container,這次來點不一樣的,直接裝在k8s裡面去監控pod的一些指標。 基本的指標像是cpu, mem, pod數量, node數量等等,都能透過kube-state-metrics完成,而如果想要監控一些流量的指標,像是tcp連線數,tw數等,則是需要另外在服務
Thumbnail
之前都介紹docker監控container,這次來點不一樣的,直接裝在k8s裡面去監控pod的一些指標。 基本的指標像是cpu, mem, pod數量, node數量等等,都能透過kube-state-metrics完成,而如果想要監控一些流量的指標,像是tcp連線數,tw數等,則是需要另外在服務
Thumbnail
📔心得 因最近在研究elk-stack,藉此紀錄一下使用docker-compose建立起elk-stack的架構,在建立的過程中,比較多遇到的是記憶體使用率的配置不足,導致容器無法成功啟動,或是config檔權限的問題,因此在filebeat的部分會直接把config檔放進去並改成root權限。
Thumbnail
📔心得 因最近在研究elk-stack,藉此紀錄一下使用docker-compose建立起elk-stack的架構,在建立的過程中,比較多遇到的是記憶體使用率的配置不足,導致容器無法成功啟動,或是config檔權限的問題,因此在filebeat的部分會直接把config檔放進去並改成root權限。
Thumbnail
透過K8S Ingress 和 NodePort service直接連線Pod中的App
Thumbnail
透過K8S Ingress 和 NodePort service直接連線Pod中的App
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News