当前位置: 首页 > news >正文

【云原生|Kubernetes】05-Pod的存储卷(Volume)

【云原生Kubernetes】05-Pod的存储卷(Volume)

文章目录

  • 【云原生Kubernetes】05-Pod的存储卷(Volume)
    • 简介
    • Volume类型解析
      • emptyDir
      • HostPath
      • gcePersistentDisk
      • NFS
      • iscsi
      • glusterfs
      • ceph
      • 其他volume

简介

  • Volume 是Pod 中能够被多个容器访问的共享目录。 Kubernetes 中的Volume 概念、用 途和目的与 Docke 中的 Vo lume 比较类似,但二者不能等价, 首先 Kubernetes 中的Volume 被定义在 Pod上 ,被一个 Pod 里的多个容器挂载到具体的文件目录 ;其次, Kubernete 中的 Volume与 Pod 的生命周期相同,但与容器的生命周期不相关, 当容器终止或者重启,volume 中的数据也不会丢失;最后, Kubemetes 支持多种类型的 Volume ,例如 GlusterFS Ceph 等分布式文件系.

Volume类型解析

kubernetes提供了非常丰富的Volume类型供容器使用,例如emptyDir(临时目录);宿主机目录(hostpath),共享存储(NFS,glusterfs等),下面将对常见的类型进行说明:

emptyDir

  • emptyDir是在Pod分配到node时创建的,从它的名称就可以看出,它的初始内容为空,并且必须指定宿主机上对应的目录文件,因为这是Kubernetes自动分配的一个目录,当Pod从Node上移除时,emptyDir中的数据也将被永久删除。emptyDir的一些用途如下:

    • 临时空间,例如用于某些应用程序运行时所需的临时目录,且无需永久保留;

    • 长时间任务执行过程中使用的临时目录;

    • 一个容器需要从另一个容器中获取数据的目录(多容器共享目录)

  • 在默认情况下,emptyDir使用的是节点存储介质,例如磁盘或者网络存储,还可以使用emptyDir.medium属性,把这个属性设置为“Memory”,就可以使用更快的基于内存的后端存储了。需要注意的是,这种情况下的emptyDir使用的内存会被计入容器的内存消耗,将受到资源限制和配额的管理。

示例

  1. 在pod中创建两个容器:tomcat和busybox,在pod级别设置名为‘app-logs’的volume,用于tomcat容器向其中写日志文件,busybox容器从中读取日志文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iJwiIjjH-1684847247245)(D:\学习\学习笔记\图片\110.png)]

apiVersion: v1
kind: Pod
metadata:name: volume-podspec:containers:- name: tomcat-containerimage:  tomcatports:- containerPort: 8080volumeMounts:- name: app-logsmountPath:  /usr/loacl/tomcat/logs- name: busybox-containerimage:  busyboxcommand: ["sh", "-c", "tail -f /logs/catalins*.log"]volumeMounts:- name: app-logsmountPath: /logsvolumes:- name: app-logsemptyDir: {}
  • 查看pod的详细信息
 kubectl describe pods volume-pod

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d0cLlGp0-1684847247246)(D:\学习\学习笔记\图片\111.png)]

HostPath

  • hostpath为在Pod上挂载宿主机的文件或目录,通常可以用于以下几个方面:
    • 在容器应用程序生成的日志文件需要永久保存时,可以使用宿主机的高速文件系统对其存储;
    • 需要访问宿主机上的Docker引擎内部数据结构的容器应用时,可以通过定义hostPath为宿主机/var/lib/docker目录,使容器内部的应用可以直接访问docker的文件系统。
  • 在使用这种类型的Volume时,需要注意以下几点:
    • 在不同的Node上具有相同配置的Pod,可能会因为宿主机上的 目录和文件不同而导致对Volume上目录和文件的访问结果不一致。
      • 目录和文件路径不同:不同节点上的宿主机可能具有不同的目录和文件路径,这意味着在不同节点上运行的 Pod 访问 HostPath 卷上的目录和文件时,可能会得到不同的结果。例如,在一个节点上,HostPath 卷可能映射到 /mnt/data 目录,而在另一个节点上,它可能映射到 /data 目录。
      • 目录和文件权限不同:不同节点上的宿主机可能具有不同的文件权限,这意味着在不同节点上运行的 Pod 访问 HostPath 卷上的目录和文件时可能需要不同的权限。
    • 如果使用了资源配额管理,则Kubernetes无法将hostPath在宿主 机上使用的资源纳入管理。

示例

  1. 在pod中创建一个容器:tomcat,在pod级别设置名为‘app-logs1’的volume,将本地/var/log目录挂载到pod的/data/log1下
apiVersion: v1
kind: Pod
metadata:name: volume-pod1spec:containers:- name: tomcat-container1image:  tomcatports:- containerPort: 8080volumeMounts:- name: app-logs1mountPath:  /data/log1volumes:- name: app-logs1hostPath:path: /var/logtype: Directory

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jy3WDtfL-1684847247247)(D:\学习\学习笔记\图片\112.png)]

gcePersistentDisk

  • gcePersistentDisk是Google Cloud Platform(GCP)提供的一种持久性磁盘存储。它是一种网络附加的块存储解决方案,为在Google Compute Engine上运行的虚拟机实例提供耐用且高性能的存储。

    gcePersistentDisk具有多种优点,包括:

    • 耐久性:存储在gcePersistentDisk上的数据在多个物理磁盘和计算机上进行复制,确保高耐用性和可用性。
    • 性能:gcePersistentDisk提供高性能存储,具有实现高读写速度的能力。
    • 可扩展性:gcePersistentDisk可以轻松调整大小,以满足不断变化的存储需求,无需停机。
    • 兼容性:gcePersistentDisk可以与在Google Compute Engine上运行的各种虚拟机实例一起使用,使其成为一种灵活的存储解决方案。
  • 使用gcePersistentDisk时有以下一些限制条件:

    • Node(运行kubelet的节点)需要是GCE虚拟机。
    • 这些虚拟机需要与PD存在于相同的GCE项目和Zone中。

示例

  1. Pod中有一个名为“my-container”的容器,它使用了一个名为“my-volume”的卷,将gcePersistentDisk挂载到了容器的“/mnt/data”目录下。同时,在Pod的“volumes”字段中定义了一个名为“my-volume”的卷,并指定了使用名为“my-disk”的gcePersistentDisk,并将文件系统类型设置为“ext4”
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumegcePersistentDisk:pdName: my-diskfsType: ext4

NFS

  • NFS(Network File System)是一种分布式文件系统协议,用于在网络上共享文件和目录。它允许多个计算机共享相同的文件系统,从而使多个计算机可以访问相同的文件和数据。

示例

  1. Pod 中有一个名为“tomcat-container3”的容器,它使用了一个名为“ nfs-volume”的卷,将 NFS 挂载到了容器的“/nfs”目录下。同时,在 Pod 的“volumes”字段中定义了一个名为“nfs-volume”的卷,并指定了使用 NFS,指定 NFS 服务器的地址为“192.168.194.134”,共享路径为"/data"”

Kubernetes 节点上需要安装nfs-util客户端

apiVersion: v1
kind: Pod
metadata:name: nfs-podspec:containers:- name: tomcat-container3image: tomcatimagePullPolicy: IfNotPresentports:- name: tomcat-portcontainerPort:  8080volumeMounts:- name: nfs-volumemountPath: /nfsvolumes:- name: nfs-volumenfs:server: 192.168.194.134path: /data

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NJfLxhis-1684847247248)(D:\学习\学习笔记\图片\113.png)]

iscsi

  • iSCSI(Internet Small Computer System Interface)是一种基于TCP/IP的存储协议,用于在计算机网络上共享块存储设备。它允许远程计算机(即iSCSI客户端)通过网络连接访问存储设备(即iSCSI存储设备),就像它们是直接连接在本地计算机上的一样。
  • 在Kubernetes中,可以将iSCSI存储设备挂载到Pod中,以为Pod提供持久性的块存储。

示例

  1. me”的卷,将 iSCSI 存储设备挂载到了容器的“/mnt/data”目录下。同时,在 Pod 的“volumes”字段中定义了一个名为“my-volume”的卷,并指定了使用 iSCSI,指定 iSCSI 目标地址为“192.168.1.100:3260”,iSCSI 名称为“iqn.2022-05.com.example:storage.target01”,逻辑单元号为“0”,文件系统类型为“ext4”,只读模式为“false”。

需要在 Kubernetes 节点上安装 iSCSI 客户端软件

apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumeiscsi:targetPortal: 192.168.1.100:3260iqn: iqn.2022-05.com.example:storage.target01lun: 0fsType: ext4readOnly: false

glusterfs

  • GlusterFS是一种开源的分布式文件系统,用于在计算机网络上共享文件和目录。它是一种基于用户空间的文件系统,可以在多个服务器之间创建一个可扩展的、高可用性的存储池,从而提供高性能、可靠的存储解决方案。

  • GlusterFS可以通过将多个存储节点组合成一个存储池来扩展存储容量。每个存储节点都运行一个GlusterFS客户端,用于将本地存储设备映射到存储池中。这样,多个存储节点就可以共享相同的文件系统,并提供高可用性和容错性。

s示例

  1. Pod 中有一个名为“my-container”的容器,它使用了一个名为“my-volume”的卷,将 GlusterFS 文件系统挂载到了容器的“/mnt/data”目录下。同时,在 Pod 的“volumes”字段中定义了一个名为“my-volume”的卷,并指定了使用 GlusterFS,指定 GlusterFS 集群的地址为“glusterfs-cluster”,共享路径为“my-volume”,只读模式为“false”。
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumeglusterfs:endpoints: glusterfs-clusterpath: my-volumereadOnly: false

ceph

  • RBD(RADOS Block Device)是一种基于Ceph存储集群的块存储协议,用于在计算机网络上共享块存储设备。它允许远程计算机(即RBD客户端)通过网络连接访问存储设备(即RBD存储设备),就像它们是直接连接在本地计算机上的一样。

  • RBD协议的工作原理是将块设备映射到Ceph存储集群中的对象存储池,从而提供分布式、高可用性、高性能的块存储服务。RBD存储设备可以动态调整大小,并且可以在多个客户端之间共享。

示例

  1. Pod 中有一个名为“my-container”的容器,它使用了一个名为“my-volume”的卷,将 RBD 存储设备挂载到了容器的“/mnt/data”目录下。同时,在 Pod 的“volumes”字段中定义了一个名为“my-volume”的卷,并指定了使用 RBD,指定 Ceph 存储集群的监视器地址为“192.168.1.100:6789, 192.168.1.101:6789, 192.168.1.102:6789”,对象存储池为“rbd-pool”,镜像名称为“my-image”,用户名为“admin”,密钥文件为“/etc/ceph/keyring”,文件系统类型为“xfs”,只读模式为“false”。
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumerbd:monitors: [192.168.1.100:6789, 192.168.1.101:6789, 192.168.1.102:6789]pool: rbd-poolimage: my-imageuser: adminkeyring: /etc/ceph/keyringfsType: xfsreadOnly: false

其他volume

  • **flocker:**使用Flocker管理存储卷;
  • gitRepo: 通过挂载一个空目录,并从Git库clone一个git repository以供Pod使用;
  • **secret:**一个Secret Volume用于为Pod提供加密的信息,你可以 将定义在Kubernetes中的Secret直接挂载为文件让Pod访问。Secret Volume是通过TMFS(内存文件系统)实现的,这种类型的Volume总是 不会被持久化的。

在上述中挂载外部存储,如ceph,gluster,nfs,iscsi等,的时候虽然pod可以直接进行挂载,但是kubernetes更加推荐我们先需要创建一个 PersistentVolume,并将其绑定到 PersistentVolumeClaim 上。然后,在 Pod 中使用该 PersistentVolumeClaim 来挂载。后面我们将会单独并且着重的介绍pv和pvc的功能和作用。
你可以 将定义在Kubernetes中的Secret直接挂载为文件让Pod访问。Secret Volume是通过TMFS(内存文件系统)实现的,这种类型的Volume总是 不会被持久化的。

相关文章:

【云原生|Kubernetes】05-Pod的存储卷(Volume)

【云原生Kubernetes】05-Pod的存储卷(Volume) 文章目录 【云原生Kubernetes】05-Pod的存储卷(Volume)简介Volume类型解析emptyDirHostPathgcePersistentDiskNFSiscsiglusterfsceph其他volume 简介 Volume 是Pod 中能够被多个容器访问的共享目录。 Kubern…...

Python实现数据结构

文章目录 一、Python实现数据结构1.1 python实现单向链表1.2 python实现单向循环链表1.3 python实现双向链表 一、Python实现数据结构 1.1 python实现单向链表 singleLinkedList.py class SingleNode:"""the node of single link list"""def …...

esp32CAM环境安装教程---串口驱动安装

前言 (1)本人安装好arduino 的ESP32环境之后, 发现一直下载不进去程序。一直说Cannot configure port, something went wrong. Original message: PermissionError。 (2)查阅了很多资料,用了各种办法&#…...

Java中List和Array转换

文章目录 List -> Array1. 调用toArray()方法直接返回一个Object[]数组&#xff1a;2. 给toArray(T[])传入一个类型相同的Array&#xff0c;List内部自动把元素复制到传入的Array中&#xff1a;3. 通过List接口定义的T[] toArray(IntFunction<T[]> generator)方法&…...

如何能确定数据库中root用户的密码是什么

如果您无法确定数据库中 root 用户的密码&#xff0c;有几种方法可以尝试找回或重置密码&#xff1a; 1. 使用已知密码&#xff1a;如果您有之前设置的 root 用户密码&#xff0c;可以使用该密码进行登录。 2. 查找密码文件&#xff1a;在某些情况下&#xff0c;MariaDB 可能…...

由浅入深Netty协议设计与解析

目录 1 为什么需要协议&#xff1f;2 redis 协议举例3 http 协议举例4 自定义协议要素4.1 编解码器4.2 什么时候可以加 Sharable 1 为什么需要协议&#xff1f; TCP/IP 中消息传输基于流的方式&#xff0c;没有边界。 协议的目的就是划定消息的边界&#xff0c;制定通信双方要…...

iptables防火墙(1)

iptables防火墙 一、iptables概述二、netfilter/iptables 关系三、四表五链1.四表2.五链 四、规则链之间的匹配顺序五、规则链内的匹配顺序六、iptables安装与配置七、常用的控制类型八、常用的管理选项九、规则命令1.添加新规则2.查看规则列表3.设置默认策略4.删除规则5.清空规…...

第九章 Productions最佳实践 - Productions开发的最佳实践

文章目录 第九章 Productions最佳实践 - Productions开发的最佳实践Productions开发的最佳实践项目目标项目交付文档 第九章 Productions最佳实践 - Productions开发的最佳实践 Productions开发的最佳实践 本章是一个总体概述&#xff0c;旨在帮助团队成员为从事生产项目做好…...

RocketMQ 怎么实现的消息负载均衡以及怎么能够保证消息被顺序消费

一、RocketMQ 怎么实现的消息负载均衡 RocketMQ是一种开源的分布式消息中间件&#xff0c;它使用了一种称为消息负载均衡的机制来实现消息的分发和消费的负载均衡。RocketMQ的消息负载均衡主要是通过以下两个方面实现的&#xff1a; 消息队列分组&#xff08;Message Queue G…...

【随笔记】全志 T507 PF4 引脚无法被正常设置为中断模式的问题分析

相关信息 硬件平台&#xff1a;全志T507 系统版本&#xff1a;Android 10 / Linux 4.9.170 问题描述&#xff1a;PF4 无法通过标准接口设置为中断模式&#xff0c;而 PF1、PF2、PF3、PF5 正常可用。 分析过程 一开始以为是引脚被其它驱动占用引起&#xff0c;或者该引脚不具…...

人手一个 Midjourney,StableStudio 重磅开源!

人手一个 Midjourney&#xff0c;StableStudio 重磅开源&#xff01; Stability AI 公司在上个月 19 号推出了 Alpha 版本 StableLM 大语言模型&#xff0c;包含了 30 亿和 70 亿参数&#xff0c;并且支持商用。如今他们再次推出了 AI 图像生成平台 StableStudio&#xff0c;这…...

iptables防火墙(2)

iptables防火墙&#xff08;2&#xff09; 一、SNATSNAT应用环境SNAT原理SNAT转换前条件扩展 二、DNATDNAT应用环境DNAT原理DNAT转换前提条件扩展 三、防火墙规则的备份和还原导出&#xff08;备份&#xff09;所有表的规则导入&#xff08;还原&#xff09;规则 一、SNAT SNA…...

Windows和Kali上使用proxychains代理流量

Windows和Kali上使用proxychains代理流量 PS. 本文演示都是在kali进行的&#xff0c;如有出入还请联系我哦1. Linux(Debian)1.1. 检查一下是否有proxychains1.2 修改config文件 2. Linux(Debian)安装proxychians43. Windows3.1 下载3.2 配置 4. Windows下的配置5. 测试 PS. 写这…...

KEYSIGHT MSOS204A 2GHZ 4通道DSOS204A高清晰度示波器

KEYSIGHT是德DSOS204A/MSOS204A高清晰度示波器 附加功能&#xff1a; 2 GHz 带宽&#xff08;可升级&#xff09; 4 个模拟通道和 16 个数字通道 最大存储深度&#xff1a;800 Mpts&#xff08;2 通道&#xff09;&#xff0c;400 Mpts&#xff08;4 通道&#xff09; 最大…...

最新Java适配商城系统

城前端功能展示 商城移动端 后端基于SpringBoot 研发&#xff0c;前端使用 Vue、uniapp开发 前后端分离&#xff0c;支持分布式部署&#xff0c;支持Docker&#xff0c;各个API独立&#xff0c;并且有独立的消费者 api不需要单独部署&#xff0c;只需启动一个jar包就可以正…...

【KVM虚拟化】· virsh管理命令

目录 &#x1f341;libvirt架构概述 &#x1f341;使用virsh管理虚拟机 &#x1f342;常用命令总结 &#x1f341;kvm基本功能管理 &#x1f342;帮助命令 &#x1f342;KVM的配置文件存放目录 &#x1f342;查看虚拟机状态 &#x1f342;虚拟机关机与开机 &#x1f342;强制虚…...

JS Es6中判断b数组对象是否有跟a数组对象相同的数值(例如:id),有的话就过滤掉

如下[数组]对象a和b let a[{id:1,value:this},{id:2,value:is}] let b[{id:1,value:hello},{id:3,value:world}]filter() 方法创建一个新的数组&#xff0c;新数组中的元素是通过检查指定数组中符合条件的所有元素。 some() 方法用于检测数组中的元素是否满足指定条件&#x…...

python获取某电商平台口红数据并制作词云

目录标题 前言开发环境:模块使用数据来源分析代码展示获取数据制作词云 尾语 &#x1f49d; 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 开发环境: Python 3.8 Pycharm 模块使用 requests jieba 结巴分词 wordcloud 词云 第三方模块安装&#xff1a; win R 输…...

阿里成立AIDC,用“增长”解题国际化

随着阿里巴巴集团2023财年年报的披露&#xff0c;AIDC也随即浮出了水面。 AIDC是阿里国际数字商业集团的英文简称&#xff0c;AIDC即Alibaba International Digital Commerce。阿里是在5月18日公布的截至2023年3月31日的2023财年Q4及全年财报&#xff0c;财报数据之外&#xff…...

全面理解:在计算机科学中同步、异步、并行、并发,他们之间到底有什么区别,如果正确更好的区分它们?

同步&#xff0c;异步&#xff0c;并行&#xff0c;并发的基础概念 在计算机中同步的基础概念 在计算机科学中&#xff0c;同步&#xff08;Synchronization&#xff09;是指在多个过程或线程中&#xff0c;它们的执行在时间上是有序的。换句话说&#xff0c;要执行一个特定的…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

react更新页面数据,操作页面,双向数据绑定

// 路由不是组件的直接跳转use client&#xff0c;useEffect&#xff0c;useRouter&#xff0c;需3个结合&#xff0c; use client表示客户端 use client; import { Button,Card, Space,Tag,Table,message,Input } from antd; import { useEffect,useState } from react; impor…...

DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model

一、研究背景与创新点 (一)现有方法的局限性 当前智驾系统面临两大核心挑战:一是长尾问题,即系统在遇到新场景时可能失效,例如突发交通状况或非常规道路环境;二是可解释性问题,传统方法无法解释智驾系统的决策过程,用户难以理解车辆行为的依据。传统语言模型(如 BERT…...