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

Kubernetes教程(九)了解卷volume的emptyDir和hostPath

了解卷volume的emptyDir和hostPath

  • 一、前言
  • 二、卷
    • 1. emptyDir
    • 2. hostPath

一、前言

Pod的特点是临时性,随着Pod的重建,容器中的产生的数据会被销毁,这将导致应用程序无法读取之前的数据。K8s提供的卷(volume)和持久卷(persistent volume)就是要解决Pod中数据持久性的问题。

二、卷

卷是一种用于在Pod中存储和共享数据的抽象,它提供一种把存储设备挂载到Pod中的机制,以便Pod可以存储和访问。

卷类型分类卷类型说明
临时存储emptyDir用于Pod中容器之间的数据共享
本地存储hostPath将节点文件系统上的文件或目录挂载到Pod
存储对象ConfigMap、SecretK8s内置的存储对象,存储程序配置和敏感数据
自建存储系统NFS、Ceph、ISCSI将自建存储系统挂载到Pod
存储对象持久卷声明与persistentVolume持久卷配合使用

1. emptyDir

  • emptyDir用于在Pod中实现容器之间的数据共享。
  • emptyDirPod的生命周期一致,当Pod被删除时,这个目录也会被删除。
  • emptyDir特点:临时临时临时,重要的事说三遍。💥💥💥

在这里插入图片描述
emptyDir卷的配置

apiVersion: v1
kind: Pod
metadata:name: emptydir-example
spec:containers:# 应用容器- image: app1name: appvolumeMounts:               # 卷挂载- name: data                # 挂载的卷名称mountPath: /opt           # 卷挂载到容器中的路径# 边车容器- image: app2name: sidecarvolumeMounts:               - name: data                 mountPath: /opt       volumes:                      # 定义卷- name: data                  # 卷名称emptyDir:                   # 卷类型sizeLimit: 1Gi             # 卷的大小限制为1G              

2. hostPath

hostPath卷用于将主机上的任意目录或文件挂载到Pod中,使得Pod中容器可以访问主机上的数据。

apiVersion: v1
kind: Pod
metadata:name: app
spec:containers:- image: app:1.1name: test-containervolumeMounts:- mountPath: /log    挂载到容器中的地址name: test-volume  volumes: - name: test-volumehostPath:path: /var/log     宿主机目录type: Directory    可选,"Directory"表示该目录必须存在

在这里插入图片描述

  • hostPath卷允许挂载主机上的任意目录,如果配置不正确,会导致数据泄露或破坏
  • hostPath卷不支持容量限制,并且可使用的容量受主机文件系统限制,意味着可能写满主机磁盘
  • 如果Pod重建后,没有调度到原来的节点上,将无法访问之前的数据

综上这么多缺点,在生产环境很少使用emptyDirhostPath,在不使用云存储的情况下,一般会自建存储系统,比如选择NFS。本篇博客只是引出存储卷的概念,也方便操作实践,在下一篇博客中再介绍下自建存储系统的方式。💪💪💪


http://www.mrgr.cn/news/94328.html

相关文章:

  • 将串口接收到的十六进制数据转为十进制
  • ⭐算法OJ⭐汉明距离【位操作】(C++ 实现)Hamming Distance
  • 【vue + JS】OCR图片识别、文字识别
  • 《基于大数据的营养果蔬推荐系统的设计与实现》开题报告
  • 在 Windows 上快速部署 OpenManus:从安装到运行
  • 计算机网络——DHCP实验
  • python -面试题--算法
  • RGV调度算法(三)--遗传算法
  • LeetCode 解题思路 15(Hot 100)
  • 独立开发记录:使用Trae和Cloudflare快速搭建了自己的个人博客
  • ES6回顾:闭包->(优点:实现工厂函数、记忆化和异步实现)、(应用场景:Promise的then与catch的回调、async/await、柯里化函数)
  • 【C#学习笔记04】C语言格式化输出
  • 深度剖析 Doris 数据倾斜,优化方案一网打尽
  • 【二分查找 寻找首端】P3718 [AHOI2017初中组] alter|普及+
  • uniapp实现 uview1 u-button的水波纹效果
  • 使用memmove优化插入排序
  • 新闻网页信息抽取
  • JVM 垃圾回收器的选择
  • 广播机制(Broadcasting)
  • 项目组织管理类型-职能式组织和矩阵式组织的区别