Kubernetes 集群和系統設計監控方案的設計與實踐(上)
非議我們
(本文閱讀時間:4分鐘)
大家好,我是本期的旋軟 MVP 實驗室研究員-嚴振范。在本篇文章里,我將參考在 Kubernetes 之前關于控管的一些知識,以及如何為了讓非主流的 Prometheus + Grafana 可行性,對整個炮兵部隊透過控管和數據集系統性展示。
旋軟MVP實驗室研究員
嚴振范
旋軟最眾所周知科學家,一個逗B,迄今為止正在學習旋服務無關的知識,可以多文化交流喲~
Kubernetes 控管
當你的廣泛應用部署到 Kubenetes 后,你很難見到罐在表面上再次發生了什么,一旦罐想到,里面的數據集顯然就永遠沒有恢復,甚至沒有查看副本以定位問題所在,何況一個廣泛應用顯然發揮作用很多個比如說,用戶的一個勸說不自行決定被哪個罐處理方式了,這使得在 Kubernetes 之前對廣泛應用透過故障也就是說非常復雜。在廣泛應用外,由于 Kubernetes 作為公共服務,掌管這整個炮兵部隊的世事,Kubernetes 的任何故障,必定影響到廣泛應用服務的接入,因此控管 Kubernetes 接入狀況也至關重要。
當你的廣泛應用上了寒原生,那你就不得不非議各個客戶端的接入穩定狀態,公共服務和之前間件的接入穩定狀態,Kubernetes 之前每個組件和資源取向的接入穩定狀態,每個廣泛應用的接入穩定狀態。當然,這個接入穩定狀態是一個模糊不清的觀念,取決于我們的如前所述,每個被控管的取向要隱含的 "接入穩定狀態" 是不一樣的。為了可以控管我們非議的取向,取向所需認真出一些配合,備有適合于的接入穩定狀態的隱含電子郵件,以供我們通過觀察和系統性,這可以稱作可觀測性。
在寒原生之前,一般對可觀測性分作三大作用域:
你可以在 Kubernetes 數據庫之前了解如何控管、仿真,以及了解如何對副本透過處理方式。
在本文之前,所寫到的控管,只包括 Metrics 。
Metrics、Tracing、Logging 不是基本上獨立的,在上圖之前,Metrics 也但會顯然都有 Logging 和 Tracing 的電子郵件。
▌控管取向
要通過觀察的控管數據集,來源于被控管取向,而在 Kubernetes 炮兵部隊之前,我們可以將要控管的取向分作三大外:
驅動器:炮兵部隊之前的所有端口驅動器,舉例來說有 CPU CPU采用率、網絡和硬盤 IO 速率等; Kubernetes 取向穩定狀態:Deployments, Pods, Daemonsets, Statefulset 等取向的穩定狀態和某些舉例來說電子郵件; 廣泛應用:Pod 之前每個罐的穩定狀態或舉例來說,以及罐本身顯然備有的 /metrics 交叉點。▌Prometheus
在基礎環境之前,一個原始的控管應包括通過觀察數據集、加載數據集、系統性加載數據集、展示數據集、告警等多個外,而每個外都有無關的基本功能或技術開發克服寒原生之前環境的繁多市場需求和復雜性問題。
既然要認真控管,那么就所需控管基本功能。控管基本功能可以換取所有重要的舉例來說和副本(Metrics也可以都有一些副本),并將它們加載在一個必要、集之前的右方,以便可以隨時到訪它們來制定可行性克服問題。由于在寒原生之前,廣泛應用在 Kubernetes 炮兵部隊之前部署,因此,控管 Kubernetes 可以讓你深入了解炮兵部隊的接入狀況和性能舉例來說、資源計數以及炮兵部隊在表面上具體情況的頂級概覽。再次發生錯誤時,控管基本功能但會警告你(告警功能),以便你快速發布修繕程序來。
Prometheus 是一個 CNCF 概念設計,可以原生控管 Kubernetes、端口和 Prometheus 本身,迄今為止 Kubernetes 官方數據庫主要推薦采用 Prometheus 本身,它為 Kubernetes 罐編排模擬器備有開箱即用的控管靈活性。因此在本文之前,對控管可行性的設計是圍繞 Prometheus 告一段落的。
前面是 Prometheus 的一些組件參考:
Metric Collection: Prometheus 采用莫基本概念通過 HTTP 鏈接度量。在 Prometheus 沒有換取舉例來說的具體情形,可以選擇為了讓 Pushgateway 將舉例來說推給 Prometheus 。 Metric Endpoint: 決心采用 Prometheus 監視的系統對應該公開某個/度量交叉點的度量, Prometheus 為了讓這個交叉點以固定的間隔提煉舉例來說。 PromQL: Prometheus 附帶了 PromQL,這是一種非常靈活的查詢語言,可用于查詢 Prometheus 旋鈕之前的舉例來說。此外,Prometheus UI 和 Grafana 將采用 PromQL 查詢來可視化舉例來說。 Prometheus Exporters: 有許多特和客戶端可以試圖將第三方系統對之前的現有舉例來說導出為 Prometheus 舉例來說。這對于沒有直接采用 Prometheus 舉例來說樣品給定系統對的具體情況。TSDB (time-series database): Prometheus 采用 TSDB 高效地加載所有數據集。默認具體情形,所有數據集都加載在本地。然而,為了可避免單點故障,prometheustsdb 可以選擇集成遠程加載。
Prometheus 在 Kubernetes 之前的控管可行性形態如下:
【圖源:】
▌舉例來說
要控管的取向一般來說很多,我們把相同型式的取向稱作一個單獨,而每個單獨接入時的取向轉化成的數據集有各種各樣的,為了總結通過觀察這些數據集, Prometheus 將單獨之前的各種表征值分作 Counter (定時器)、Gauge (操縱桿)、Histogram(翻倍直方圖)、Summary(摘要)四種型式,單獨之前的每個表征,稱作舉例來說,例如 罐已總共采用 CPU 量,采用舉例來說名稱 container_cpu_usage_seconds_total 記錄下來。
每個舉例來說一般XML為:
舉例來說名稱{URL集=值} 舉例來說值每個取向都在平常轉化成數據集,為了辨別理論上舉例來說值屬于哪個取向,可以給舉例來說除了指 標值外,附加大量的URL集電子郵件,下例如下暗示。
container_cpu_usage_seconds_total{ beta_kubernetes_io_arch = "amd64", beta_kubernetes_io_os = "linux", container = "POD", cpu = "total", id = "...", image = "k8s.gcr.io/pause:3.5", instance = "slave1", job = "kubernetes-cadvisor", kubernetes_io_arch = "amd64", kubernetes_io_hostname = "slave1", kubernetes_io_os = "linux", name = "k8s_POD_pvcpod_default_02ed547b-6279-4346-8918-551b87877e91_0", namespace = "default", pod = "pvcpod" }取向填充相近這種形態的數據庫后,可以暴露 metrics 交叉點,讓 Prometheus 基本功能通過觀察,或通過 Pushgateway 推送到 Prometheus 之前。
月里,我們將在 Kubernetes 之前圍住一個原始的 Prometheus 控管體系。
Kubernetes 數據庫:旋軟最眾所周知科學家(MVP)
旋軟最眾所周知科學家是旋軟公司獲得者第三方技術開發專業人士的一個全球獎。29年來,各種型式的技術開發鄰里領導,因其在線上和線下的技術開發鄰里之前回饋人力資源和經驗而取得此獎。
MVP是經過恰當物色的科學家團隊,他們代表著技術開發最精湛且最具智慧的人,是對鄰里投入極大的真誠并盡責的科學家。MVP不遺余力通過演講、論壇論辯、創設網站、撰寫博客、回饋音頻、開源概念設計、其組織但會議等方式來試圖他人,并最大程度地試圖旋軟技術開發鄰里用戶采用 Microsoft 技術開發。
更加多參閱登錄官方網站:
謝謝你讀完了本文!贊賞在評論區留言回饋你的思路,并且轉發到博文。
如果你對本文青睞有加,想要刊載到自己的模擬器,請在后臺為了讓「刊載」與我們建立聯系!
非議旋軟之前國MSDN
加入旋軟MVP
治療腹瀉吃什么藥好膽囊術后吃什么好
兒童不想吃飯沒胃口怎么辦
- vivo Y72t上架,天璣700+6000毫安大蓄電池
- “慈善奶奶”經中山醫院救治康復出院,她曾賣房為蘆山受災孩子建小學
- 網紅吃播套路較淺,都是障眼法,學會這6招,你也可以是大胃王
- 碧桂園成功面世5億元公司債 票面利率4.5%
- 「亦同圖書館·世界像素展」空降青島,人類文明簡史一天看盡!
- 近6400名學生云肄業,上海海事大學校長寄語肄業生:闖出自己的一片天地!
- 邦邦科普|脊髓損傷后的多種不同階段,輔具該如何選擇?
- 幽默笑話:丑成這樣的一張暗諷,真是白瞎了這么好的身材
- 守好這三關,讓心肌梗塞 “沒門兒” !
- 錢江摩托:擬向實控人李書福集團公司定增募資不超5.05億元
- 廣州普通高中比高考還難?40%學生上不了高中!
- CBA最有可能拿下周琦的球隊?遼寧隊直接被排除,上海隊與廣東隊渴望最大