我們整個服務都放在 cloud 了,那要怎麼看 log 呢?
首先我們要用下面的指令,先查詢 pod 的名字。
kubectl get pods
# 輸出結果
# NAME READY STATUS RESTARTS AGE
# nginx-deployment-76f5d6ddc6-l4f8n 1/1 Running 0 24h
# nginx-deployment-76f5d6ddc6-nwzxm 1/1 Running 0 24h
然後執行
kubectl logs -f nginx-deployment-76f5d6ddc6-l4f8n
# 輸出結果
# 10.12.2.1 - - [02/Oct/2019:15:23:53 +0000] "GET / HTTP/1.1" 200 612 "-" "kube-probe/1.13+" "-"
# 10.12.2.1 - - [02/Oct/2019:15:23:55 +0000] "GET / HTTP/1.1" 200 612 "-" "kube-probe/1.13+" "-"
# 10.12.2.1 - - [02/Oct/2019:15:24:03 +0000] "GET / HTTP/1.1" 200 612 "-" "kube-probe/1.13+" "-"
這裡的 -f 參數是指保持 watch 狀態,可省略。
你可能會想說一個 nginx-deployment 物件,開了兩台 Pod,剛剛的指令只能看到一台的 log,如果我要一次看到所有的 log 該怎麼辦?GCP 已經幫你自動整合了 stackdriver 服務了,你可以進入 stackdriver 的介面去查看。
現在 GKE 的 Stackdriver Logging 服務剛好面臨新舊版本轉換期,可以用手動的方式去開啟新版的。
步驟一:點一下編輯的 icon
步驟二:捲到下方把新版開起來
注意 Stackdriver 的新舊版本是不能同時開啟的