Kubernetes生產實戰(四):kubelet日志快速定位指南

kubelet作為Kubernetes節點的核心管家,其日志是排查節點問題的金鑰匙。本文將分享生產環境中查看和分析kubelet日志的完整方案,助你快速定位節點級故障。

一、基礎操作:快速查看日志
1. systemd服務日志(推薦首選)
# 查看實時滾動日志(Ctrl+C退出)
journalctl -u kubelet -f# 查看過去1小時的關鍵錯誤
journalctl -u kubelet --since "1 hour ago" | grep -iE 'error|fail|exception'# 導出完整日志到文件(用于后續分析)
journalctl -u kubelet --since "2023-08-01" > kubelet.log
2. 直接訪問日志文件(容器化部署場景)
# 常規路徑(適用于大多數發行版)
tail -f /var/log/kubelet.log# 容器化kubelet路徑(如kubeadm部署)
tail -f /var/lib/kubelet/kubeadm-flags.env
二、高階技巧:精準定位問題
1. 日志級別動態調整
# 臨時開啟Debug模式(無需重啟服務)
curl -X PUT -d "4" http://localhost:10248/debug/flags/v# 驗證日志級別
curl http://localhost:10248/debug/flags/v
2. 關鍵日志模式過濾
# PLEG健康檢查異常(節點NotReady高頻原因)
journalctl -u kubelet | grep 'PLEG is not healthy'# 證書相關錯誤(TLS握手失敗等)
journalctl -u kubelet | grep -i 'x509'# 資源不足告警
journalctl -u kubelet | grep -iE 'out of memory|eviction'
3. 時間窗口定位法
# 定位特定時間段的日志(精確到分鐘)
journalctl -u kubelet --since "09:30" --until "09:35"
三、生產環境實戰場景
場景1:證書過期導致節點失聯

特征日志

x509: certificate has expired or is not yet valid

處理方案

# 強制更新客戶端證書
rm -f /var/lib/kubelet/pki/kubelet-client-*
systemctl restart kubelet
場景2:磁盤壓力觸發Pod驅逐

日志線索

DiskPressure: True, Message: node has disk pressure

應急操作

# 快速清理Docker殘留文件
docker system prune -af# 釋放kubelet緩存
find /var/lib/kubelet/pods/ -type d -name volumes -exec du -sh {} +
場景3:容器運行時無響應

錯誤提示

PLEG is not healthy: pleg was last seen active 5m0s ago

恢復步驟

# 重啟containerd服務
systemctl restart containerd# 清理孤兒容器
ctr -n k8s.io containers list | awk '{print $1}' | xargs -I{} ctr -n k8s.io containers delete {}
四、日志管理最佳實踐
1. 日志輪轉配置(防止磁盤撐爆)
# 配置logrotate(/etc/logrotate.d/kubelet)
/var/log/kubelet.log {dailyrotate 7compressmissingokcopytruncate
}
2. 集中式日志收集(生產必選)
# Fluentd配置示例(采集kubelet日志)
<source>@type tailpath /var/log/kubelet.logtag kubeletformat json
</source>
3. 關鍵指標監控
# Prometheus告警規則(日志錯誤突增)
- alert: KubeletErrorSpikeexpr: rate(kubelet_log_messages_total{severity="ERROR"}[5m]) > 10for: 10m
五、專家調試工具箱
1. 實時日志分析腳本
#!/bin/bash
# 自動提取關鍵錯誤并統計頻率
journalctl -u kubelet --since "1 hour ago" \| awk '/error|fail|exception/ {print $5}' \| sort | uniq -c | sort -nr
2. 跨節點日志比對
# 并行查詢多個節點(需配置ssh免密登錄)
parallel-ssh -i -H "node1 node2 node3" \"journalctl -u kubelet --since '10 min ago' | grep -i cert"
3. 性能瓶頸定位
# 統計日志中耗時操作TOP10
grep 'Processing request' /var/log/kubelet.log \| awk '{print $NF}' | sort -n | tail -10
六、避坑指南
  1. 勿全量采集日志:優先過濾ERROR級別,避免存儲爆炸
  2. 注意時區統一:確保日志時間戳與監控系統一致
  3. 保護敏感信息:日志中可能包含證書密鑰,需做脫敏處理
  4. 版本差異驗證:不同K8s版本的kubelet日志格式可能不同

通過掌握這些技巧,運維人員可以將平均故障排查時間(MTTR)縮短50%以上。建議將常用檢查命令封裝成腳本,并結合ELK等日志平臺建立實時分析系統,實現從被動響應到主動預防的運維升級。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80778.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80778.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80778.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

麥科信獲評CIAS2025金翎獎【半導體制造與封測領域優質供應商】

在蘇州舉辦的2025CIAS動力能源與半導體創新發展大會上&#xff0c;深圳麥科信科技有限公司憑借在測試測量領域的技術積累&#xff0c;入選半導體制造與封測領域優質供應商榜單。本屆大會以"新能源芯時代"為主題&#xff0c;匯集了來自功率半導體、第三代材料應用等領…

Python實例題:pygame開發打飛機游戲

目錄 Python實例題 題目 pygame-aircraft-game使用 Pygame 開發的打飛機游戲腳本 代碼解釋 初始化部分&#xff1a; 游戲主循環&#xff1a; 退出部分&#xff1a; 運行思路 注意事項 Python實例題 題目 pygame開發打飛機游戲 pygame-aircraft-game使用 Pygame 開發…

Gin 框架入門

Gin 框架入門 一、響應數據 JSON 響應 在 Web 開發中&#xff0c;JSON 是一種常用的數據交換格式。Gin 提供了簡便的方法來響應 JSON 數據。 package mainimport ("github.com/gin-gonic/gin" )func main() {r : gin.Default()r.GET("/json", func(c *…

Flink實時數倉數據突變時,如何快速排查原因

在大數據時代,數據的價值已經被無數企業和組織深刻認識到,而實時數倉作為數據處理和分析的重要基礎設施,正在逐漸成為推動業務增長和決策優化的核心引擎。想象一下,電商平臺在雙十一大促期間需要實時監控訂單量、用戶行為,甚至庫存變化,以便及時調整營銷策略和物流調度;…

視頻人像摳圖技術選型--截止2025年4月

前言&#xff1a;我是一名算法工程師&#xff0c;經常需要對某個AI功能做技術調研和輸出技術選型報告&#xff0c;在過去多年的工作當中&#xff0c;積累了很多內容&#xff0c;我會陸陸續續將這些內容整理出來分享給大家&#xff0c;希望大家喜歡&#xff0c;感謝您的閱讀&…

docker compose ps 命令

docker compose ps 命令用于列出與 Docker Compose 項目相關的容器及其狀態。 docker compose ps 能顯示當前項目中所有服務容器的運行狀態、端口映射等信息。 語法 docker compose ps [OPTIONS] [SERVICE…] SERVICE&#xff08;可選&#xff09;&#xff1a;指定要查看狀態…

C語言 字符函數和字符串函數(1)

目錄 1.字符分類函數 2.字符轉換函數 3.strlen的使用和模擬實現 4.strcpy的使用和模擬實現 在編程的過程中&#xff0c;我們經常要處理字符和字符串&#xff0c;為了方便操作字符和字符串&#xff0c;C語言標準庫中提 供了一系列庫函數&#xff0c;接下來我們就學習一下這…

MySQL 中如何進行 SQL 調優?

在MySQL中進行SQL調優是一個系統性工程&#xff0c;需結合索引優化、查詢改寫、性能分析工具、數據庫設計及硬件配置等多方面策略。以下是具體優化方法及案例說明&#xff1a; 一、索引優化&#xff1a;精準提速的關鍵 索引類型選擇 普通索引&#xff1a;加速頻繁查詢的列&…

OpenCV圖像金字塔詳解:原理、實現與應用

一、什么是圖像金字塔&#xff1f; 圖像金字塔是圖像處理中一種重要的多尺度表示方法&#xff0c;它通過對圖像進行重復的平滑和降采樣&#xff08;或上采樣&#xff09;操作&#xff0c;生成一系列分辨率逐漸降低&#xff08;或升高&#xff09;的圖像集合。這種結構形似金字…

收集飛花令碎片——C語言分支與循環語句(上)

前言 Hello,各位碼友&#xff0c;本章將會給大家帶來C語言的分支與循環整章串講&#xff0c;這一張的內容分為基礎知識和程序練習兩個部分 希望通過這一章能夠帶大家更好地去掌握C語言的分支與循環語句 大家一起努力吧 C語言分支與循環語句&#xff08;基礎知識&#xff09; C…

嵌入式硬件篇---TOF|PID

文章目錄 前言1. 硬件準備主控芯片ToF模塊1.VL53L0X2.TFmini 執行機構&#xff1a;電機舵機其他 2. 硬件連接(1) VL53L0X&#xff08;IC接口&#xff09;(2) TFmini&#xff08;串口通信&#xff09; 3. ToF模塊初始化與數據讀取(1) VL53L0X&#xff08;基于HAL庫&#xff09;(…

PCB設計實踐(十二)PCB設計電容選型:功能、材質、規則

在PCB設計中&#xff0c;電容作為基礎元件承擔著濾波、儲能、去耦、耦合等核心功能。其分類與使用規則直接影響電路穩定性、抗干擾能力和信號完整性。本文從工程實踐角度系統梳理PCB設計中電容的五大分類、選型規范及布局布線規則&#xff0c;幫助設計者構建科學的電容應用體系…

vue2關閉eslint

在項目根目錄下找到 vue.config.js 文件。如果沒有該文件&#xff0c;可以直接在項目根目錄創建一個。 2. 添加 lintOnSave: false 配置 module.exports {lintOnSave: false };

MyBatis 一對多關聯映射在Spring Boot中的XML配置

在Spring Boot中使用MyBatis實現一對多關系時&#xff0c;可以通過XML映射文件來配置。下面我將詳細介紹幾種實現方式。 基本概念 一對多關系指的是一個實體對象包含多個子對象集合的情況&#xff0c;例如&#xff1a; 一個部門有多個員工一個訂單有多個訂單項一個博客有多個…

基于Stable Diffusion XL模型進行文本生成圖像的訓練

基于Stable Diffusion XL模型進行文本生成圖像的訓練 flyfish export MODEL_NAME"stabilityai/stable-diffusion-xl-base-1.0" export VAE_NAME"madebyollin/sdxl-vae-fp16-fix" export DATASET_NAME"lambdalabs/naruto-blip-captions"acceler…

基于React的高德地圖api教程001:初始化地圖

文章目錄 1、初始化地圖1.1 創建react項目1.2 可視化地圖1.3 設置衛星地圖1.4 添加開關開啟3D地圖1.5 代碼下載1、初始化地圖 1.1 創建react項目 創建geodeapi項目: npx create-react-app gaodeapi安裝高德地圖包: npm install @amap/amap-jsapi-loader1.2 可視化地圖 在…

uniapp使用npm下載

uniapp的項目在使用HBuilder X創建時是不會有node_modules文件夾的&#xff0c;如下圖所示&#xff1a; 但是uni-app不管基于哪個框架&#xff0c;它內部一定是有node.js的&#xff0c;否則沒有辦法去實現框架層面的一些東西&#xff0c;只是說它略微有點差異。具體差異表現在…

輕量在線工具箱系統源碼 附教程

源碼介紹 輕量在線工具箱系統源碼,直接扔服務器 修改config/config.php文件里面的數據庫 后臺賬號admin 密碼admin123 本工具是AI寫的 所以工具均是第三方接口直接寫的。 需要加工具直接自己找接口寫好扔到goju目錄 后臺自動讀取 效果預覽 源碼獲取 輕量在線工具箱系統源…

圖解gpt之Seq2Seq架構與序列到序列模型

今天深入探討如何構建更強大的序列到序列模型&#xff0c;特別是Seq2Seq架構。序列到序列模型&#xff0c;顧名思義&#xff0c;它的核心任務就是將一個序列映射到另一個序列。這個序列可以是文本&#xff0c;也可以是其他符號序列。最早&#xff0c;人們嘗試用一個單一的RNN來…

mac M2能安裝的虛擬機和linux系統系統

能適配MAC M2芯片的虛擬機下Linux系統的搭建全是深坑&#xff0c;目前網上的資料能搜到的都是錯誤的&#xff0c;自己整理并分享給坑友們~ 網上搜索到的推薦安裝的改造過的centos7也無法進行yum操作&#xff0c;我這邊建議安裝centos8 VMware Fusion下載地址&#xff1a; htt…