使用Azure Kubernetes服務(AKS),可以通過kubectl連線 pod 中檢視紀錄檔,但是如何來檢視節點的系統紀錄檔呢?如是否有ubuntu系統升級的記錄?
是的,可以進入AKS的節點檢視系統檔案,如紀錄檔檔案(/var/log) 或者由應用生產的其他紀錄檔。
具體的操作步驟如下:
## 設定 az cli命令的執行環境為 中國區Azure AzureChinaCloud az cloud set --name AzureChinaCloud
## 登入到Azure,在彈出的對話方塊中輸入使用者名稱和密碼 az login # get the credentials for the cluster ## -g 後面輸入您aks服務所在的resource group名稱 ## -n 表示aks服務的名稱 az aks get-credentials -g 'aks-rg' -n myaks001 ## 獲取節點資訊 kubectl get node
獲取節點的結果示意圖:
kubectl debug node/<替換成第一步查詢出來的Node ID> -it --image=mcr.azk8s.cn/dotnet/runtime-deps:6.0
## 提升許可權
chroot /host
如果不提升許可權,則很多紀錄檔檔案無法檢視。對比效果如下:
如通過 cat dpkg.log | grep ubuntu 來檢視是否由系統級升級行為
也可以在這個資料夾中搜尋鍵碼:
# 在 /var/log 資料夾中檢視 包含「installed」 關鍵字的檔名和內容所在的行號 grep -r installed /var/log
exit
kubectl get pod
kubectl delete pod node-debugger-aks-agentpool-XXXXXXXXXXXXXXXXXXXXXXXXXXXX
命令執行示意圖:
通過以上5步,完成檢視紀錄檔並清理操作痕跡。
安裝 Kubernetes CLI : https://docs.azure.cn/zh-cn/aks/tutorial-kubernetes-deploy-cluster?tabs=azure-cli
在 Windows 上安裝 kubectl : https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/
當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!