今天要來跟大家分享可觀測性的相關議題,作者文章中不斷強調一句話,“You can’t perform any operation without proper visibility.”
因此整篇文章的核心都是基於,你要如何觀測你的 Kubernetes 叢集,你該收集什麼樣的資料。作者列出七個不同的觀測面向,並且主觀根據自身經驗而排序,本文只有先介紹後面三個面向,分別是 Kubernetes metrics APIs, Service APIs, 以及 Container APIs.
Kubernetes metrics APIs
這類型的觀測是最知名也最廣泛使用的,通常有整合 Prometheus + Grafana 的使用者都會直接觀測這類型的資訊。這些資訊來自 kubelet-metrics 以及 kube-state-metrics 等 cluster 層級的資訊。 作者認為這部分不需要提太多,因為基本上是必備且不需要額外設定就會有的資訊。
Service APIs
Service 主要是幫 Pod 提供一個統一的存取介面,牽扯到的內部資源有 endpoints, service,甚至 Ingress 也都包含進去。
作者認為網路這一塊也是一個盲點,也必須要有能力去收集相關資訊,否則遇到如下列情況,容器運作正常,沒有回報任何錯誤,但是網路方面出現問題。從你的監控面板來說則會看不到任何錯誤,只能被動等待任何人發現網路有問題。
Contaienr APIs
我們都知道 Kubernetes 內的最小運算單元是 Pod,然而一個 Pod 上面可以運行多個 container,因此真正在觀測的時候,Container 本身的資訊也非常重要,因為這些元件才是真正使用系統資源(CPU/Memory)的使用者。
文章中還有提到一個有趣的 CNCF trail map,有興趣的可以點選全文觀看
https://www.cncf.io/blog/2020/11/11/the-top-kubernetes-apis-for-cloud-native-observability-part-1-the-kubernetes-metrics-service-container-apis/
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...