K8S-存储-Volume

问题

容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃
时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在
Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的 Volume 抽象就很好的解决了
这些问题

背景

Kubernetes 中的卷有明确的寿命 —— 与封装它的 Pod 相同。所以,卷的生命比 Pod 中的所有容器都长,当这
个容器重启时数据仍然得以保存。当然,当 Pod 不再存在时,卷也将不复存在。也许更重要的是,Kubernetes
支持多种类型的卷,Pod 可以同时使用任意数量的卷

K8S-存储-Volume
卷的类型:
这里主要介绍两种:emptyDir、hostpath.

; emptyDir

当pod被分配节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod中的容器可以读写和写入emptyDir卷中的相同文件,尽管该卷可以挂载到每个容器中相同或不同的路径上。当处于任何原因从节点中删除Pod时,emptyDir中的数据将被永久删除
注意:容器崩溃不会从节点中移除,因此emptyDir卷中的数据在容器崩溃时时安全的。

emptyDir的用法有:

  • 暂存空间,例如用基于磁盘的合作排序
  • 用作长时间计算崩溃恢复时的检查点
  • Web服务容器提供数据时,保存内容管理容器提取的文件

EmptyDir示例:
启动一个pod,里面有两个容器并且在不同的目录都挂载emptyDir:

[root@apiserver volume]
apiVersion: v1
kind: Pod
metadata:
 name: volume-empty
spec:
 containers:
 - image: nginx
   name: volume-empty
   volumeMounts:
   - mountPath: /cache
     name: cache-volume
 - image: redis
   name: volume-empty1
   volumeMounts:
   - mountPath: /test
     name: cache-volume
 volumes:
  - name: cache-volume
    emptyDir: {}

root@volume-empty:/cache
root@volume-empty:/cache
Sun May  3 09:24:48 UTC 2020

root@volume-empty:/test
root@volume-empty:/test
Sun May  3 09:24:48 UTC 2020
Sun May  3 09:25:06 UTC 2020

HostPath:

hostpath卷将主机节点的文件、系统中的文件或目录中挂载到集群中.

hostpath的用途:

  • 运行需要访问的Docker内部的容器;使用/var/lib/docker的hostpath
  • 在容器中运行cAdisor;使用/dev/cgroups的hostpath
    K8S-存储-Volume
    使用这种卷类型是请注意,因为:
  • 由于每个节点上的文件都不同,具有相同配置(例如从 podTemplate 创建的)的 pod 在不同节点上的行为
    可能会有所不同
  • 当 Kubernetes 按照计划添加资源感知调度时,将无法考虑 hostPath 使用的资源
  • 在底层主机上创建的文件或目录只能由 root 写入。您需要在特权容器中以 root 身份运行进程,或修改主机
    上的文件权限以便写入 hostPath
[root@apiserver volume]
apiVersion: v1
kind: Pod
metadata:
 name: volume-test
spec:
 containers:
 - image: nginx
   name: volume-test
   volumeMounts:
   - mountPath: /test
     name: test-volume
 volumes:
  - name: test-volume
    hostPath:
      path: /data
      type: Directory

我的node1节点有一个文件,pod running后进入容器查看容器/test目录下是否有此文件:

[root@apiserver volume]
root@volume-test:/
root@volume-test:/test
mariadb-galera

有mariadb-galera此文件,表示挂在成功.

Original: https://blog.csdn.net/benziwu/article/details/128428066
Author: benziwu
Title: K8S-存储-Volume

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/794485/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python 升级之路( Lv12 ) Pygame游戏开发基础

    Python系列文章目录 第一章 Python 入门第二章 Python基本概念第三章 序列第四章 控制语句第五章 函数第六章 面向对象基础第七章 面向对象深入第八章 异常机制第九…

    Python 2023年9月22日
    050
  • 07-02 测试报告-allure

    简介 allure 轻量级、灵活的、支持多语言的测试报告工具 多平台的、奢华的报告框架 可以为开发、测试提供详尽的测试报告、测试步骤、日志 为管理层提供高规格的统计报告 使用 Ja…

    Python 2023年9月12日
    081
  • .net如何优雅的使用EFCore

    EFCore是微软官方的一款ORM框架,主要是用于实体和数据库对象之间的操作。功能非常强大,在老版本的时候叫做EF,后来.net core问世,EFCore也随之问世。本文我们将用…

    Python 2023年10月14日
    042
  • Python3 编程面试题

    Python global 语句的作用 lambda 匿名函数好处 Python 错误处理 Python 内置错误类型 简述 any() 和 all() 方法 Python 中什么…

    Python 2023年10月30日
    027
  • Github基于令牌身份验证配置及使用

    1、前言 2、配置 3、使用 1、前言 从2021年8月31日起,Github不再支持通过密码进行身份验证,将要求使用基于令牌(token)的身份验证。 2、配置 第一步:进入GI…

    Python 2023年6月11日
    084
  • python面试答案整理 网络编程和并发(34 题)

    2. 什么是 C/S 和 B/S 架构? C/S 客户端/服务&amp…

    Python 2023年6月10日
    060
  • # BUGKU Simple_SSTI_1-2

    BUGKU Simple_SSTI_1 提示需要传一个flag参数,Flask 是一个微型的 Python 开发的 Web 框架,由上可知flag在secret_key下,conf…

    Python 2023年8月12日
    037
  • Java Swing 制作一个Pong小游戏

    之前呢我们用Python的Pygame做过这个Pong游戏 Python 项目实战 教你用Pygame写一个Pong游戏_Leleprogrammer的博客-CSDN博客_pong…

    Python 2023年9月19日
    047
  • Python实现为图像添加下雪特效

    这篇文章主要为大家介绍了通过Python为图像添加下雪特效,文中的示例代码讲解详细,对学习Python有一定的帮助,感兴趣的小伙伴可以了解一下。编程学习资料免费白嫖点击领取。 导语…

    Python 2023年9月18日
    061
  • scrapy

    1、直接在python中下载 1、先下载它的部分插件,lxml,parsel,w3lib,Twisted,pyOpenSSL 1.1、出错的话输入 pip install –up…

    Python 2023年10月5日
    036
  • ❤️【Android精进之路-01】定计划,重行动来学Android吧❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。Android精进之路第一篇,确定安卓学习计划。干货满满,建议收藏,需要用到时常看看。小伙伴们如有问题及需要,欢迎踊跃留言哦~ …

    Python 2023年6月3日
    0108
  • 科学数据库(Pandas)——第五节 数据的分组和聚合

    目录 groupby分组 聚合运算 索引和复合索引 练习: groupby分组 例如:grouped=df.groupby (by=”columns_name&#822…

    Python 2023年8月9日
    076
  • python人口统计_python数据分析实例-人口统计折线图

    一、前言 最近一直在学python数据科学的相关课程,主要看了《数据科学入门》这本动物书,但这本书是真的只入个门,把数据科学相关的各方面知识介绍了一下,真的只是介绍了一下,想要系统…

    Python 2023年8月17日
    052
  • BOSS招聘网站数据分析岗位分析详情

    BOSS招聘网站数据分析岗位分析详情 数据来源于BOSS招聘网站,仅供学习 中文显示及负号显示 plt.rcParams[‘font.sans-serif’…

    Python 2023年8月18日
    065
  • 评论情感分析—-多种机器学习模型测试总结

    文章目录 * – 前言 – + Step1: 读取评论文件 + Step2: 去除重复评论信息 + Step3: 使用jieba库进行分词操作 + Step…

    Python 2023年10月7日
    040
  • Ai studio 使用教程:

    Ai studio地址:飞桨AI Studio – 人工智能学习实训社区 (baidu.com) 使用 Ai studio 的算力需要相应的算力卡,进行登陆注册后可领取…

    Python 2023年9月28日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球