K8s-Monitor

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

📔心得

之前都介紹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

4. setting data source

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

5. import grafana ui

  • 點擊左上角回到首頁並選擇旁邊的dashboard -> import
  • 到grafana/dashboard/複製dashboard.json貼到grafana並點擊load -> import
留言
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 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
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權限。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News