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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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…