iT邦幫忙

2022 iThome 鐵人賽

DAY 12
1
DevOps

30天準備CKA考試系列 第 12

Day 12:Logging & Monitoring

  • 分享至 

  • xImage
  •  

在Kubernetes的使用上,觀看各個Pod的Log,對於Debug以及了解內部運行狀況是非常有幫助的。

監控集群的各種資源使用率,對於集群的穩定也是相當重要。要做到這些事情,目前有很多好用的第三方套件可以做到,像是著名的ELK stack、Prometheus。
https://ithelp.ithome.com.tw/upload/images/20220927/20141794wO4Qu3gUZO.png
https://ithelp.ithome.com.tw/upload/images/20220927/20141794cQJpYn58HK.png

但是這次鐵人賽主要專注的點為考取CKA證照所需要的知識上,所以這部分就不會詳談,如果想要了解的話,可以透過那些名詞去搜尋,會找到很多有用的文章。

Logging

之前有介紹過,一個Pod內可以存在多個Containers,而有一種常見的使用方式是會有一個主要的App Container和一個輔助的Container,前者裡面主要是放一些應用程式,像是我們網站的後端程式之類的,而後者輔助的Container,我們稱之為Sidecar Container。

Sidecar Container常見的使用方式就是我們在裡面放置Log Agent,來蒐集App Container的Log,再將這些Logn送入負責處理Log的程式,像是ELK的L:Logstash。

而如果想要從Command Line來看各個Pod運行的Log該怎麼做呢?

# 查看Pod的Log, counter是Pod的名字
kubectl logs counter

# 如果這個Pod有多個Containers,可以使用-c來指定Container nginx
kubectl logs counter -c nginx

# 前面都是一次性的Log,可以使用-f來讓Log持續輸出
kubectl logs -f counter

# 更詳細的資訊可以透過說明來確認
kubectl logs --help

Monitoring

監控系統資源使用率,除了可以使用Prometheus等工具,我認為最簡單的應該是Metrics-Server。

接下來我們來看看Metrics-Server要怎麼使用~

# 先安裝當前最新版的Metrics-Server v0.6.1
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.1/components.yaml

# 這時候就可以開始使用top指令
# 查看Node的資源使用率
kubectl top node

# 也可以指定哪個Node
kubectl top node node1

# 也可以查看Pod的資源使用率
kubectl top pod

# 指定Pod
kubectl top pod nginx

明天會討論要如何幫Pod設定環境變數~

參考資料

日志架构

https://github.com/kubernetes-sigs/metrics-server/releases


上一篇
Day 11:Namespaces與ResourceQuota
下一篇
Day 13:Environment Variable
系列文
30天準備CKA考試30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言