Kubernetes控制平面組件:Kubelet詳解(一):API接口層介紹

云原生學習路線導航頁(持續更新中)

  • kubernetes學習系列快捷鏈接
    • Kubernetes架構原則和對象設計(一)
    • Kubernetes架構原則和對象設計(二)
    • Kubernetes架構原則和對象設計(三)
    • Kubernetes控制平面組件:etcd(一)
    • Kubernetes控制平面組件:etcd(二)
    • Kubernetes控制平面組件:API Server詳解(一)
    • Kubernetes控制平面組件:API Server詳解(二)
    • Kubernetes控制平面組件:調度器Scheduler(一)
    • Kubernetes控制平面組件:調度器Scheduler(二)
    • Kubernetes控制平面組件:Controller Manager 之 內置Controller詳解
    • Kubernetes控制平面組件:Controller Manager 之 NamespaceController 全方位講解

本文是 kubernetes 的控制面組件 kubelet 系列文章第一篇,主要講解了 kubelet是什么、核心功能、工作流程、架構設計。并且對kubelet架構的API接口層的主通信接口10250、cadvisor監控采集端口4194、只讀API端口10255、健康檢查端口10248分別進行了詳細介紹

  • 希望大家多多 點贊 關注 評論 收藏,作者會更有動力繼續編寫技術文章

1.kubelet 簡介

1.1.kubelet 是什么

在這里插入圖片描述

  • 前面kubernetes架構講解時,對 kubelet 的初步認識
    • 每個節點上都會跑一個Kubelet,負責上報 節點狀態,pod狀態、pod資源使用情況等信息到ApiServer,由ApiServer寫入etcd。
    • 同時,Kubelet也會和apiserver交互,當發現 有pod被 Schedule 調度到自己所在node時,就會調用一系列標準接口,拉起pod的進程,并為之掛載網絡和存儲。
    • kubelet通過對 容器運行時(CRI)、容器網絡標準(CNI)、容器存儲標準(CSI) 的調用,完成pod 容器、網絡、存儲 的管理
  • Kubelet 是 Kubernetes 集群 工作節點 的核心代理組件
    • 我們前面學習的 etcd、apiserver、scheduler、controller-manager等,都屬于上級管理部門,負責 存儲數據、進行決策、下發命令,不會直接參與干活
    • Kubelet 是真正的worker,是Node的核心代理組件,它直接與節點上的容器運行時(如 Docker、containerd)交互,確保 Pod 及其容器按照集群控制平面下發的指令正確運行,是 Kubernetes 實現“節點自治”能力的關鍵模塊

1.2.kubelet 的核心功能

功能模塊核心能力相關組件
Pod 生命周期管理根據 PodSpec 創建/銷毀容器,處理重啟策略(Always/OnFailure/Never)PodManager、ContainerRuntime
容器健康監控執行 Liveness/Readiness/Startup 探針,自動觸發容器重啟(失敗時)ProbeManager、StatusManager
資源管理監控 CPU/內存/磁盤使用,執行驅逐策略(當節點資源不足時)EvictionManager、CAdvisor
存儲卷管理掛載 PersistentVolume,處理 Secret/ConfigMap 注入VolumeManager
網絡配置通過 CNI 插件為 Pod 分配 IP,維護網絡命名空間NetworkPlugin
節點狀態報告每 10 秒向 API Server 上報節點資源使用率及健康狀態API Server
鏡像管理自動拉取鏡像,執行垃圾回收(超過磁盤閾值時按 LRU 策略清理)ImageGC

1.3.kubelet核心工作流程

API_Server Kubelet Container_Runtime Container 下發 PodSpec 變更事件 調用 CRI 接口創建容器 返回容器狀態 上報 Pod 運行狀態 執行探針檢測 返回健康狀態 loop [健康檢查] API_Server Kubelet Container_Runtime Container

1.4.kubelet 的 pod事件來源

參考:https://kubernetes.feisky.xyz/concepts/components/kubelet#pod-guan-li

  • Kubelet 以 PodSpec 的方式工作。PodSpec 是描述一個 Pod 的 YAML 或 JSON 對象。 kubelet 采用一組通過各種機制提供的 PodSpecs(主要通過 apiserver),并確保這些 PodSpecs 中描述的 Pod 正常健康運行。
  • 向 Kubelet 提供節點上需要運行的 Pod 清單的方法:
    • 文件:啟動參數 --config 指定的配置目錄下的文件 (默認 / etc/kubernetes/manifests/)。該文件每 20 秒重新檢查一次(可配置)。
    • HTTP endpoint (URL):啟動參數 --manifest-url 設置。每 20 秒檢查一次這個端點(可配置)。
    • API Server:通過 API Server 監聽 etcd 目錄,同步 Pod 清單。
    • HTTP server:kubelet 偵聽 HTTP 請求,并響應簡單的 API 以提交新的 Pod 清單。

2.Kubelet 架構設計

在這里插入圖片描述

  • API 接口層
    • kubelet API
    • cAdvisor API
    • 只讀API
    • 健康檢查 API
  • 核心功能層,可分為3個模塊:
    • 核心管理模塊:PLEG、cAdvisor、GPUManager、OOMWatcher、ProbeManager、DiskSpaceManager、EvictionManager
    • 運行時協調模塊:syncLoop、PodWorker
    • 容器生命周期管理模塊:StatusManager、VolumeManager、ImageGC、ContainerGC、ImageManager、CertificateManager
  • CRI 接口層
    • 容器執行引擎接口,作為grpc client 與真正的容器運行時(Dockershim/rkt/containerd)交互

3.kubelet API 接口層

3.1.kubelet API 主通信端口:10250

3.1.1.端口 10250 的核心作用

  • Kubelet 的 10250 端口 是其默認的 HTTPS 主通信端口,承擔以下核心功能:
    • Pod 生命周期管理:接收來自 API Server 的指令,創建、更新或刪除 Pod。
    • 資源監控數據暴露:提供容器和節點的性能指標(通過集成 cAdvisor)。
    • 調試與運維接口:支持訪問容器日志、執行命令(如 kubectl exec)、端口轉發等。
    • 節點狀態上報:向 API Server 匯報節點健康狀態和資源容量。

3.1.2.協議與認證機制

  • 協議:使用 HTTPS(TLS 加密),確保通信安全性。
  • 認證方式
    • X.509 客戶端證書:Kubelet 自動生成證書,由集群 CA 簽發。
    • Bearer Token:基于 ServiceAccount 的 JWT Token(需 RBAC 授權)。
    • 匿名訪問(默認關閉):需顯式啟用 --anonymous-auth=true(不推薦)。

3.1.3.關鍵 API 端點

  • 通過 https://<Node-IP>:10250 可訪問以下核心接口
3.1.3.1.監控與指標
  • /metrics:Prometheus 格式的 Kubelet 自身指標(如 goroutine 數量、請求延遲)。
  • /metrics/cadvisor:容器資源使用指標(CPU、內存、網絡等),由 cAdvisor 提供。
  • /metrics/resource:Kubernetes 資源模型指標(如 kubelet_container_cpu_usage_seconds_total)。
3.1.3.2.Pod 與容器操作**
  • /pods:獲取節點上所有 Pod 的詳細信息(JSON 格式)。
  • /containerLogs/<namespace>/<pod>/<container>:查看容器日志(對應 kubectl logs)。
  • /exec/<namespace>/<pod>/<container>:在容器內執行命令(對應 kubectl exec)。
  • /portForward/<namespace>/<pod>:端口轉發到容器(對應 kubectl port-forward)。
3.1.3.3.調試與健康檢查**
  • /healthz:檢查 Kubelet 是否健康(返回 200 OK 或錯誤碼)。
  • /configz:獲取 Kubelet 的當前配置(需啟用 --enable-debugging-handlers=true)。

3.1.4.安全配置

3.1.4.1.證書與 TLS
  • Kubelet 證書
    • 由集群 CA 自動簽發(若啟用 --rotate-certificates 支持證書輪換)。
    • 存儲在節點上的 /var/lib/kubelet/pki 目錄。
  • 客戶端訪問
    • 使用集群 CA 證書驗證 Kubelet 服務端身份。
    • 客戶端需提供有效證書或 Token 進行身份認證。
3.1.4.2.RBAC 授權
  • 為監控工具或管理員配置最小權限的 RBAC 規則:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: kubelet-reader
rules:
- apiGroups: [""]resources: ["nodes/metrics", "nodes/proxy", "nodes/log", "nodes/spec"]verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: kubelet-reader-binding
subjects:
- kind: ServiceAccountname: prometheusnamespace: monitoring
roleRef:kind: ClusterRolename: kubelet-readerapiGroup: rbac.authorization.k8s.io

3.1.5.訪問方式示例

3.1.5.1.使用 kubectl proxy(繞過 TLS 驗證)
kubectl proxy --port=8080 &
curl http://localhost:8080/api/v1/nodes/<node-name>/proxy/metrics/cadvisor
3.1.5.2.直接訪問(需證書或 Token)
# 使用 ServiceAccount Token
TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
curl -k -H "Authorization: Bearer $TOKEN" https://<Node-IP>:10250/metrics/cadvisor# 使用客戶端證書(如 kubeconfig 中的證書)
curl --cert /path/to/client.crt --key /path/to/client.key --cacert /path/to/ca.crt https://<Node-IP>:10250/metrics

3.1.6.生產環境最佳實踐

  • 禁用匿名訪問:確保 Kubelet 啟動參數包含 --anonymous-auth=false
  • 啟用證書輪換:配置 --rotate-certificates=true 提升密鑰安全性。
  • 限制網絡訪問
    • 通過防火墻規則僅允許 API Server 和監控系統訪問 10250 端口。
    • 使用 Kubernetes NetworkPolicy 限制 Pod 到 Kubelet 的通信。
  • 源碼位置
    • pkg/kubelet/server/server.go(核心服務端實現)
    • pkg/kubelet/server/auth.go(認證鑒權邏輯)

3.2.cAdvisor資源監控數據采集 端口:4194

3.2.1.cAdvisor 的作用

  • cAdvisor 是一個開源的容器資源監控工具,集成在 Kubelet 中,用于實時收集節點和容器的資源使用數據,包括:
    • CPU 使用率
    • 內存使用量
    • 文件系統(磁盤)使用情況
    • 網絡流量統計
    • 容器的啟動時間和運行狀態等。
  • 這些數據通過 REST API 暴露,供 Prometheus、Heapster 或其他監控系統采集。

3.2.2.端口 4194 現已不支持

  • 在 Kubernetes 早期版本(如 1.7 之前),cAdvisor 默認通過端口 4194 對外暴露監控數據。
  • 用戶可以直接訪問 http://<Node-IP>:4194/metrics 獲取容器的 Prometheus 格式指標
  • Kubernetes 1.12 開始,出于安全性和架構簡化的考慮,Kubelet 默認不再單獨監聽 4194 端口,而是將 cAdvisor 的 API 集成到 Kubelet 的主 API 端口(默認 10250)中。具體變化包括:
    • cAdvisor 數據路徑合并:cAdvisor 的監控數據現在通過 Kubelet 的 /metrics/cadvisor 端點暴露,訪問地址為 https://<Node-IP>:10250/metrics/cadvisor
    • 認證與授權:訪問需要經過 Kubelet 的 TLS 認證(如使用 ServiceAccount Token 或客戶端證書),避免未授權訪問風險。
    • 舊端口棄用:4194 端口默認關閉,若需啟用需顯式配置 Kubelet 參數(不推薦)。

3.2.3.通過 Kubelet 主端口(10250)訪問 cAdvisor 數據

# 使用 kubectl 代理繞過 TLS 認證(僅測試環境)
kubectl proxy --port=8080 &
curl http://localhost:8080/api/v1/nodes/<node-name>/proxy/metrics/cadvisor# 直接訪問(需配置證書或 Token)
curl -k -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" https://<Node-IP>:10250/metrics/cadvisor
  • 通過 /metrics/cadvisor 獲取的 Prometheus 格式數據片段:
container_cpu_usage_seconds_total{container="nginx", namespace="default", pod="nginx-abc123"} 12345.67
container_memory_usage_bytes{container="nginx", namespace="default", pod="nginx-abc123"} 56789012
  • 源碼位置
    • pkg/kubelet/cadvisor/cadvisor_linux.go(平臺相關實現)
    • vendor/github.com/google/cadvisor/manager/manager.go(核心邏輯)

3.3.只讀API 端口10255(狀態查詢)

3.3.1.端口 10255 的基本作用

  • Kubelet 的 10255 端口 是一個 只讀(Read-Only)HTTP 端口,主要用于暴露節點和 Pod 的監控數據及健康狀態。它提供無需認證的訪問,常用于以下場景:
    • 資源監控:獲取節點和容器的 CPU、內存、磁盤等指標。
    • 健康檢查:檢查 Kubelet 和節點的工作狀態。
    • 調試與診斷:快速查看節點上運行的 Pod 列表或容器狀態。

3.3.2.端口 10255 的暴露端點

  • 通過 http://<Node-IP>:10255 可訪問以下關鍵端點:
    • /healthz:檢查 Kubelet 的健康狀態,返回 200 OK 表示正常。
    • /pods:返回節點上所有 Pod 的清單(JSON 格式)。
    • /metrics:暴露 Prometheus 格式的監控指標(包括 cAdvisor 數據)。
    • /metrics/cadvisor:直接獲取容器的詳細資源使用指標(與 10250 端口的路徑一致)。
    • /spec:返回節點的硬件和操作系統信息(如 CPU 核心數、內存大小等)。

3.3.3.只讀端口10255已默認棄用

  • 早期版本(如 Kubernetes 1.10 之前):
    • 默認啟用 10255 端口,供監控工具(如 Heapster)或管理員直接訪問,無需認證。
  • 安全改進(Kubernetes 1.10+):
    • 由于無需認證的特性存在安全風險,Kubernetes 逐步棄用該端口:
    • 1.10+ 版本:默認關閉 10255 端口,需顯式啟用。
    • 1.18+ 版本:部分發行版(如 Kubeadm 部署的集群)完全禁用該端口。
    • 1.20+ 版本:Kubelet 參數 --read-only-port 被標記為廢棄,未來可能移除。
  • 直接查看kubelet配置,可以看到確實已標記廢棄
# kubelet -h | grep read-only-port
--read-only-port int32  The read-only port for the Kubelet to serve on with no authentication/authorization (set to 0 to disable) (default 10255) (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.)

3.3.4.如何啟用 10255 端口(不推薦)

  • 若需臨時啟用(僅限測試環境),需配置 Kubelet 的啟動參數:
    # 編輯 Kubelet 配置文件(如 /etc/kubernetes/kubelet.conf)
    KUBELET_ARGS="--read-only-port=10255"# 或者通過 systemd 服務文件添加參數
    ExecStart=/usr/bin/kubelet --read-only-port=10255 ...
    
  • 注意:啟用后需確保節點防火墻限制對該端口的訪問!

3.3.5.訪問示例

  • 查看節點上所有 Pod 信息:
curl http://<Node-IP>:10255/pods
  • 獲取 Prometheus 監控指標:
curl http://<Node-IP>:10255/metrics
  • 檢查 Kubelet 健康狀態:
curl -v http://<Node-IP>:10255/healthz

3.3.6.使用 kubelet API 主通信端口 10250 替代 10255

  • 默認的 Kubelet HTTPS 端口(10250)提供相同功能,但需認證:
# 使用 ServiceAccount Token 訪問(需 RBAC 授權)
TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
curl -k -H "Authorization: Bearer $TOKEN" https://<Node-IP>:10250/metrics
  • 與端口 10250 的對比
特性端口 10255 (只讀)端口 10250 (讀寫)
協議HTTP(明文)HTTPS(加密)
認證需證書或 Token
功能只讀數據(如監控、Pod 列表)讀寫操作(如執行命令、日志訪問)
安全性
默認狀態新版本默認關閉始終啟用

3.4.健康檢查 /healthz 端口10248

3.4.1./healthz 端點簡介

  • /healthz 是 kubelet 的關鍵健康檢查接口,用于指示其運行狀態:
  • 功能與用途
    • 存活探針(Liveness Probe):供 kubelet 自身或外部系統(如 API Server)檢查其是否正常運行。
    • 健康狀態反饋:返回 200 OK 表示健康,其他狀態碼(如 500)表示異常。
    • 依賴項檢查:某些配置下會驗證 kubelet 依賴的組件(如容器運行時)是否可用。
  • /healthz 端點的訪問端口 默認10248
  • 可以通過kubelet 參數 --healthz-port 指定端口

3.4.2./healthz 訪問示例

  • 響應為ok,則表示節點健康
    # 查看本地端口監聽情況
    # ss -tuln | grep 10248
    tcp    LISTEN     0      4096   127.0.0.1:10248                 *:*# curl http://localhost:10248/healthz
    ok
    
  • 安全性設計
    • 本地訪問限制:默認僅監聽 127.0.0.1,不暴露給外部網絡。
    • 無認證機制:由于僅限本機訪問,無需額外認證。

3.4.3.10248 與主端口 10250 的區別

特性端口 10248 (--healthz-port)端口 10250(主 API 端口)
協議HTTP(明文)HTTPS(加密)
訪問范圍僅本機(localhost外部網絡(默認監聽所有接口)
功能僅健康檢查(/healthz全功能 API(Pod 管理、監控等)
認證強制證書/Token 認證

3.4.4.--healthz-port 參數狀態與版本變化

  • 棄用狀態
    • --healthz-port 參數已被標記為 廢棄(DEPRECATED),Kubernetes 推薦通過 kubelet 配置文件(由 --config 指定)設置相關參數。
  • 棄用原因
    • Kubernetes 逐步淘汰命令行參數,轉向統一的配置文件管理,以提高可維護性。
  • 版本影響
    • 1.10+ 版本:開始推薦使用配置文件。
    • 1.23+ 版本:部分發行版可能默認關閉該端口。

4.kubelet 核心功能層

  • 請見:Kubernetes控制平面組件:Kubelet詳解(二):核心功能層
    • 本文主要講解了 kubelet 架構中的核心功能層,包括核心管理模塊的 PLEG、cAdvisor、GPUManager、OOMWatcher、ProbeManager、DiskSpaceManager、EvictionManager;運行時協調模塊的 syncLoop、PodWorker,以及容器生命周期管理模塊的 StatusManager、VolumeManager、ImageGC、ContainerGC、ImageManager、CertificateManager,對每個組件都做了詳細講解

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

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

相關文章

VIC-2D 7.0 為平面樣件機械試驗提供全視野位移及應變數據軟件

The VIC-2D系統是一個完全集成的解決方案&#xff0c;它基于優化的相關算法為平面試樣的力學測試提供非接觸、全場的二維位移和應變數據&#xff0c;可測量關注區域內的每個像素子集的面內位移&#xff0c;并通過多種張量選項計算全場應變。The VIC-2D 系統可測量超過 2000%變形…

多線程訪問Servlet如何謹慎處理共享資源

1. 避免共享狀態&#xff08;最佳實踐&#xff09; 核心思想&#xff1a;Servlet 本身應設計為無狀態&#xff08;Stateless&#xff09;&#xff0c;不依賴實例變量存儲請求相關數據。 實現方式&#xff1a; 將變量聲明在方法內部&#xff08;局部變量&#xff09;&#xff0…

從Windows到Mac的過渡:學習筆記與心得

作為一名長期使用Windows操作系統的用戶&#xff0c;當我決定轉換到Mac時&#xff0c;心中充滿了期待與好奇。Mac以其獨特的操作系統和設計風格著稱&#xff0c;雖然有許多相似之處&#xff0c;但仍有不少差異需要適應。為了幫助其他有類似轉換需求的朋友&#xff0c;我總結了一…

TestNG接口自動化

第一章、 Rest assured接口測試框架 一、概述 接口自動化的框架&#xff0c;主要是用來做接口自動化測試&#xff0c;返回的報文都是JSON 語法比較簡單&#xff0c;只需要掌握常用的方法 用例運行的速度非常快 斷言的機制 Json 封裝相關方法&#xff0c;jsonpath&#xff0c;x…

【速寫】KV-cache與解碼的再探討(以束搜索實現為例)

文章目錄 1 Beam Search 解碼算法實現2 實現帶KV Cache的Beam Search解碼3 關于在帶kv-cache的情況下的use_cache參數 1 Beam Search 解碼算法實現 下面是一個使用PyTorch實現的beam search解碼算法&#xff1a; 幾個小細節&#xff1a; 束搜索可以加入length_penalty&#…

ABP-Book Store Application中文講解 - 前期準備 - Part 3:Acme.BookStore項目模塊詳解之二

1. 匯總 ABP-Book Store Application中文講解-匯總-CSDN博客 2. 前一章 ABP-Book Store Application中文講解 - 前期準備 - Part 3:Acme.BookStore項目模塊詳解 項目之間的引用關系。 目錄 1. .Domain.Shared 2. .Domain 3. .Application.Contracts 4. .Application 5…

【Leetcode刷題隨筆】349. 兩個數組的交集

1. 題目描述 給定兩個數組nums1和nums2&#xff0c;返回它們的交集。輸出結果中的每個元素一定是唯一的。我們可以不考慮輸出結果的順序。 示例1: 輸入:nums1 [1,2,2,1], nums2 [2,2] 輸出&#xff1a;[2] 題目條件&#xff1a; 1 < nums1.length, nums2.length < 10…

Unity打包安卓失敗 Build failure 解決方法

【Unity】打包安卓失敗 Build failure 的解決方法_com.android.build.gradle.internal.res.linkapplicat-CSDN博客 unity在打包時設置手機屏幕橫屏豎屏的方法_unity打包默認橫屏-CSDN博客

Window、CentOs、Ubuntu 安裝 docker

Window 版本 網址&#xff1a;https://www.docker.com/ 下載 下載完成后&#xff0c;雙擊安裝就可以了 Centos 版本 卸載 Docker &#xff08;可選&#xff09; yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-log…

Matlab自學筆記五十四:符號數學工具箱和符號運算、符號求解、繪圖

1.什么是符號數學工具箱&#xff1f; 符號數學工具箱是Matlab針對符號對象的運算功能&#xff0c;它引入了一種特殊的數據類型 - 符號對象&#xff1b; 該數據類型包括符號數字&#xff0c;符號變量&#xff0c;符號表達式和符號函數&#xff0c;還包含符號矩陣&#xff0c;以…

OpenCV進階操作:圖像的透視變換

文章目錄 前言一、什么是透視變換&#xff1f;二、透視變換的過程三、OpenCV透視變換核心函數四、文檔掃描校正&#xff08;代碼&#xff09;1、預處理2、定義輪廓點的排序函數3、定義透視變換函數4、讀取原圖并縮放5、輪廓檢測6、繪制最大輪廓7、對最大輪廓進行透視變換8、旋轉…

【python】基礎知識點100問

以下是Python基礎語法知識的30條要點整理,涵蓋數據類型、函數、控制結構等核心內容,結合最新資料歸納總結: 基礎30問 一、函數特性 函數多返回值 支持用逗號分隔返回多個值,自動打包為元組,接收時可解包到多個變量 def func(): return 1, "a" x, y = func()匿…

采用AI神經網絡降噪算法的通信語音降噪(ENC)模組性能測試和應用

采用AI降噪的語言通話環境抑制模組性能效果測試 隨著AI時代來臨.通話設備的環境噪音抑制也進入AI降噪算法時代. AI神經網絡降噪技術是一款革命性的語音處理技術&#xff0c;他突破了傳統單麥克風和雙麥克風降噪的局限性,利用采集的各種日常環境中的噪音樣本進行訓練學習.讓降噪…

openwrt目錄結構(部分)

1&#xff0c;openwrt 原始目錄需要注意的目錄 tools: 該目錄下存放著一些&#xff0c;編譯工程的自動化工具包和一些在編譯過程用到的命令包&#xff0c; 查看目錄下的Makefile&#xff0c;知道其會在編譯過程中將依賴包下載 例如&#xff1a; autoconf / lzma / mkimage/ …

RDB和AOF的區別

Redis提供兩種主要的持久化機制&#xff1a;RDB&#xff08;Redis Database&#xff09;和AOF&#xff08;Append Only File&#xff09;&#xff0c;它們在數據持久化方式、性能影響及恢復策略上各有特點。以下是兩者的對比分析及使用建議&#xff1a; RDB&#xff08;快照持久…

基于大模型的甲狀腺結節診療全流程預測與方案研究報告

目錄 一、引言 1.1 研究背景與目的 1.2 研究意義 1.3 國內外研究現狀 二、大模型預測原理與方法 2.1 相關大模型概述 2.2 數據收集與預處理 2.3 模型訓練與驗證 三、術前預測與評估 3.1 結節性質預測 3.1.1 良惡性判斷 3.1.2 與傳統診斷方法對比 3.2 手術風險預測…

逆向破解:x64dbg

文章目錄 一、CPU窗口1、反匯編窗口2、寄存器窗口3、棧地址窗口4、十六進制數據窗口5、堆棧參數解析窗口 二、常用快捷鍵三、字符串檢索功能四、調試功能1、上一步 一、CPU窗口 1、反匯編窗口 2、寄存器窗口 寄存器窗口用于顯示和解釋當前線程環境下CPU寄存器的各種狀態值和內…

免布線視頻樁如何重塑停車管理模式

傳統停車管理常因布線復雜、維護成本高而難以推廣&#xff0c;而“免布線視頻樁”通過無線設計、低功耗與高精度檢測&#xff0c;為城市停車提供高效解決方案。作為智慧城市建設的創新工具&#xff0c;免布線視頻樁以即裝即用、長效續航等特性&#xff0c;正在重塑停車管理模式…

【CTFer成長之路】舉足輕重的信息搜集

舉足輕重的信息搜集 信息搜集 常見的搜集 題目描述: 一共3部分flag docker-compose.yml version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-information-backk:latestports:- 80:80啟動方式 docker-compose up -d 題目Flag n1book{info_…

springboot3+vue3融合項目實戰-大事件文章管理系統-更新用戶密碼

大致分為這三步 首先在usercontroller中增加updatePwd方法 PatchMapping ("/updatePwd")public Result updatePwd(RequestBody Map<String,String> params){//1.校驗參數String oldPwd params.get("old_pwd");String newPwd params.get("n…