K8s:kubernetes.io~csi 目录介绍

目录标题

    • 查看POD对应的目录
    • [**1. 进入 CSI 相关目录**](#1. 进入 CSI 相关目录)
    • [**2. PVC 相关目录操作**](#2. PVC 相关目录操作)
    • [**3. 挂载点相关操作**](#3. 挂载点相关操作)
    • [**4. CSI PVC 的使用流程**](#4. CSI PVC 的使用流程)
    • [**5. 总结**](#5. 总结)

在 Kubernetes(K8s)中,容器存储接口(CSI) 是一种标准,用于将存储系统暴露给 K8s 中的容器化工作负载。持久卷声明(PVC) 是用户对存储的请求。

以下是结合图片中的目录对其使用的分析:

查看POD对应的目录

bash 复制代码
kubectl get pods --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,UID:.metadata.uid,containerID:.status.containerStatuses[].containerID | head

1. 进入 CSI 相关目录

首先,通过以下命令进入与 CSI 相关的目录:

bash 复制代码
cd /var/lib/kubelet/pods/999af003-35de-45fe-adf9-85b427785af7/volumes/kubernetes.io~csi/

这表明 K8s 在 kubelet 管理的 Pod 相关路径下存储与 CSI 卷相关的信息。

2. PVC 相关目录操作

  • 进入 PVC 目录:通过以下命令进入具体的 PVC 目录:

    bash 复制代码
    cd pvc-d2528431-c2db-4dcf-b6ed-1f1e72ad655c

    每个 PVC 在 CSI 存储卷中有对应的目录,用于存储该 PVC 绑定的存储相关数据。

  • 查看 PVC 目录内容 :使用 ls 命令查看 PVC 目录内容,其中可能包含 mountvol_data.json 等文件或目录。

    • mount 目录可能是实际挂载存储的位置。

    • vol_data.json 可能包含与该卷相关的元数据。

3. 挂载点相关操作

  • 进入挂载点:通过以下命令进入挂载点目录:

    bash 复制代码
    cd mount/

    在这个目录下,可以看到 archivedatalost+found 等子目录,这些是存储系统实际的数据存储结构。

  • 查看数据目录 :进入 data 目录后,可以看到与数据库相关的文件和目录,如 confinnodb_tslog 等(从文件名推测可能是 MySQL 数据库相关)。这表明该 PVC 已经成功挂载,并且应用程序正在使用它存储数据。

4. CSI PVC 的使用流程

  1. PVC 创建:用户定义 PVC 对象,声明所需的存储资源(如容量、访问模式等)。

  2. 存储供给:K8s 通过 CSI 插件与存储提供商交互,根据 PVC 的要求创建或分配对应的存储卷(Persistent Volume,PV)。

  3. 绑定:K8s 将 PVC 与合适的 PV 进行绑定,建立逻辑连接。

  4. 挂载:在 Pod 中通过 CSI 驱动将绑定的 PV 挂载到容器内指定的路径,使得容器可以像访问本地文件系统一样访问存储,如图片中展示的在容器内对挂载点目录进行操作。

5. 总结

通过 CSI 和 PVC 的结合,K8s 提供了一种灵活且可扩展的方式来管理存储,支持多种存储系统,并且使得应用程序与底层存储解耦。

在实际操作中,您可以通过以下步骤来创建和使用 PVC:

  1. 创建 PVC:定义所需的存储资源。

  2. 创建 Pod:在 Pod 的配置中引用 PVC。

  3. 验证挂载:确保 Pod 启动后,存储卷已成功挂载到容器内指定路径。

通过以上步骤,您可以在 K8s 中有效地管理持久化存储,满足应用程序对存储的需求。

相关推荐
木鱼时刻1 天前
容器与 Kubernetes 基本概念与架构
容器·架构·kubernetes
chuanauc2 天前
Kubernets K8s 学习
java·学习·kubernetes
庸子2 天前
基于Jenkins和Kubernetes构建DevOps自动化运维管理平台
运维·kubernetes·jenkins
李白你好2 天前
高级运维!Kubernetes(K8S)常用命令的整理集合
运维·容器·kubernetes
Connie14512 天前
k8s多集群管理中的联邦和舰队如何理解?
云原生·容器·kubernetes
伤不起bb2 天前
Kubernetes 服务发布基础
云原生·容器·kubernetes
别骂我h3 天前
Kubernetes服务发布基础
云原生·容器·kubernetes
weixin_399380693 天前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
斯普信专业组3 天前
K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
nginx·kubernetes·ssl
&如歌的行板&3 天前
如何在postman中动态请求k8s中的pod ip(基于nacos)
云原生·容器·kubernetes