kubernetes持久化存储

一 、Volumes

容器的弊端:

1. Container (容器) 中的磁盘文件是短暂的,当容器崩 溃时,kubelet 会重新启动容器,但最初的文件将丢 失,Container 会以最干净的状态启动。

2. 当一个 Pod 运行多个 Container 时,各个容器可能需 要共享一些文件。

Kubernetes Volume 可以解决这两个问题。

一些需要持久化数据的程序才会用到 Volumes,或者一 些需要共享数据的容器需要 volumes。

如:Redis 分片集群模式,Redis-Cluster:nodes.conf

日志收集的需求:需要在应用程序的容器里面加一个 sidecar,这个容器是一个收集日志的容器,比如 filebeat,它通过 volumes 共享应用程序的日志文件目 录。

Kubernetes Volumes 官方文档:https://kubernetes.i o/docs/concepts/storage/volumes/

1. Docker 和 K8S 的 Volume 区别

1. 生命周期管理:Docker的卷生命周期由其容器决定, 如果容器被删除,卷并不会被自动删除。而 Kubernetes的卷与Pod生命周期绑定,当Pod被删除 时,其卷也会被自动删除。

2. 共享与访问:在Docker中,每个容器都有自己的卷, 无法共享卷。而在Kubernetes中,多个容器可以共享 同一个卷,并且通过在每个容器的volumeMounts字 段中指定相同的卷,可以实现多容器共享数据。

3. 卷类型和功能:Kubernetes支持多种类型的卷,如 EmptyDir、Secret、ConfigMap、 PersistentVolumeClaim等,提供了丰富的选择和功 能。而Docker的卷功能相对基础,主要关注持久存储 数据的解决方案。

4. 数据持久性:Kubernetes的卷在容器重启或销毁后仍 然可以保留数据,因为其生命周期与Pod相同。而 Docker的卷在容器删除后数据可能会丢失。

5. 扩展性和灵活性:Kubernetes的卷架构更加开放和灵 活,支持多种存储后端和插件机制,方便扩展和定 制。而Docker的卷功能相对固定,扩展性和灵活性相 对较低。

2. EmptyDir 容器卷

EmptyDir 卷用于 Pod 中的不同 Container 共享数据, 如果删除 Pod,EmptyDir 卷中的数据也将被删除。

使用方式:

默认情况下,EmptyDir 卷支持节点上的任何介质, 可以是 SSD、磁盘或网络存储,具体如何使用取决于 自身的环境。

还可以将 emptyDir.medium 字段设置为 Memory, 让 Kubernetes 使用 tmpfs(内存支持的文件系 统),不过这样虽然提高性能,但因为是运行在内存 中,所以数据无法持久化,且设置的大小会被计入到 Container 的内存限制中。

使用 emptyDir 卷的示例,直接指定 emptyDir 为 {} 即 可:

3. HostPath 本地卷

HostPath 卷可将将宿主机的文件或目录挂载到 Pod 上,用于 Pod 自定义日志输出或访问 Docker 内部的容 器等。

在挂载时,要注意该 Pod 是在哪个节点上运行的,要在 对应的 node 上创建需要挂载的文件或目录。

使用 hostPath 卷的示例。将主机的 /root/test.txt 挂 载到 Pod 的 /tmp 下:

先为两台节点分别设置标签

在 node01 节点上创建 test.txt

4. NFS 网络卷

node02 使用 nfs 部署网络存储

修改 yaml 文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143308.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全:建筑公司会计软件遭受暴力攻击

黑客正在暴力破解基金会会计服务器上高权限账户的密码,这些账户广泛用于建筑行业,从而侵入企业网络。 这一恶意活动最先被 Huntress 发现,其研究人员于 2024 年 9 月 14 日检测到了此次攻击。 Huntress 已经发现这些攻击对管道、暖通空调、…

解决mac下 Android Studio gradle 下载很慢,如何手动配置

抓住人生中的一分一秒,胜过虚度中的一月一年! 小做个动图开篇引题 前言 平时我们clone git 上项目,项目对应gradle版本本地没有,ide编译会自动下载,但是超级慢可能还下载失败,下面讲解下此问题如 如下图所示&#xff…

TCP: Textual-based Class-aware Prompt tuning for Visual-Language Model

文章汇总 存在的问题 原文:具有图像特定知识的图像条件提示符号在提升类嵌入分布方面的能力较差。 个人理解:单纯把"a photo of {class}"这种提示模版作为输入是不利于text encoder学习的 动机 在可学习的提示和每一类的文本知识之间建立…

软考高级:嵌入式系统调度算法 AI 解读

嵌入式系统中的调度算法用于管理任务的执行顺序,确保系统资源能够有效分配。以下是几种常见的调度算法的通俗讲解。 生活化例子 想象你是一位超市收银员,有很多顾客排队,每位顾客都可以看作一个任务,收银台就是你的处理器。你需…

【Web】从网安的角度浅聊Groovy命令执行

什么是 Groovy? Groovy 是一种基于 Java 平台的动态语言,旨在提高开发效率。它与 Java 语言高度兼容,允许开发者以更简洁的方式编写代码。Groovy 支持面向对象编程、闭包、DSL(领域特定语言)等特性,使得它…

四、Cookie 和 Session

文章目录 1. Cookie 饼干1.1 什么是 Cookie?1.2 如何创建 Cookie1.3 服务器如何获取 Cookie1.4 Cookie 值的修改1.5 浏览器查看 Cookie1.6 Cookie 生命控制(指浏览器中Cookie的存在时间)1.7 Cookie 有效路径 Path 的设置 2. Session 会话2.1 什么是 Ses…

实例讲解电动汽车钥匙ON挡上下电控制策略及Simulink建模方法

在电动汽车VCU开发中,上下电控制是其中一个核心控制内容,也是其他控制功能的基础,而钥匙ON挡上下电又是整车上下电的基础。本文介绍电动汽车钥匙ON挡上下电的控制策略及Simulink建模方法。 目录 一、整车高压原理 二、钥匙ON挡上下电控制策…

养殖场中的分布式光伏发电

海南农垦集团其前身是与海南省农垦总局实行政企合一的海南省农垦总公司,属直属三大垦区之一。该集团在海南有多个养殖场,本次工程涉及到红华养猪场、红华肉牛繁育场、白沙县邦溪镇和牛产业扶贫养殖场等多个项目,通过在厂房屋顶铺设分布式光伏…

干货-并发编程提高——重谈 RUNNABLE-上篇(十四)

具体来看下 State.RUNNABLE 状态,即所谓的可运行状态。(以下简称 runnable) 再次强调,这里谈论的是 Java 虚拟机层面所暴露给我们的状态,与操作系统底层的线程状态是两个不同层面的事。 具体而言,这里说的 Java 线程状态均来自于 Thread 类下的 State 这一内部枚举类中…

kafka消息发送几种方式

同步发送 or 异步发送 消息发送根据是否需要处理发送的结果分为同步发送、异步发送。 同步发送:等待发送结果返回,这种方式是可靠的,因为异常能及时处理,但同步发送需要阻塞等待一条消息发送完才处理下一条,吞吐量差。…

计算机网络基础 - 应用层(3)

计算机网络基础 应用层P2P 应用P2P 体系结构的扩展性BitTorrent 协议torrenl 洪流BitTorrent 运行的过程 P2P文件共享应用非结构化 P2PDHT 结构化 P2P(了解) 视频流和内容分发网视频流化服务HTTP 流和 DASH内容分发网 CDN面临挑战CDN 概述CDN 操作过程集…

nonlocal本质讲解(前篇)——从滤波到Nonlocal均值滤波

线性滤波 → \rightarrow →高斯滤波 → \rightarrow →高斯滤波 → \rightarrow →双边滤波 → \rightarrow →Nonlocal均值滤波 平均 高斯 双边 Nonlocal 目录 线性滤波高斯滤波双边滤波Nonlocal均值滤波 滤波最初是频域的概念,由于频域乘积对应空域卷积&am…

Maven和Springboot初识

(一)Maven Maven是一个项目管理工具,通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具 (可以通过pom.xml文件的配置来获取jar包,而不用手动添加) Maven可以提高我们的开发效率减少…

深度学习自编码器 - 使用自编码器学习流形篇

序言 在数据科学的浩瀚宇宙中,深度学习如同一颗璀璨的星辰,引领着我们对复杂数据内在规律的探索。其中,自编码器作为深度学习家族中的一位独特成员,以其非凡的能力——通过无监督学习捕捉数据的有效表示,而备受瞩目。…

从数据仓库到数据飞轮:数据技术演进的探索与思考

引言 在当今的数字化浪潮中,数据被视为一种极具价值的资源,类似于传统工业时代的石油,它为企业挖掘出深邃的洞察力,并成为决策过程中不可或缺的基石。随着技术的不断演进,数据管理的策略与架构也经历了显著的变革&…

Linux C高级 day1

1、 2、ubuntu中桥网络桥接模式配置流程: 首相需保证虚拟机提供了《桥接模式》 从菜单栏打开“虚拟机”选项卡下的“设置” ,如图设置虚拟机网络连接模式 此处无需勾选“复制物理网络连接状态” 而后 从菜单栏选择“编辑”下的“虚拟网络编辑器” &a…

leetcode75-9 压缩字符串 双指针原地算

题目太复杂了 没做出来 计算过程大概是双指针处理数组, 其中两个知识点一个是length 字符数组直接加 不用加括号 还有就是数字转字符需要转换 数字转换成字符 不能直接转换! 需借助数字转字符串, 首先将数字转为字符串,…

徒增成本,还是有备无患?说说4G模组SIM双卡切换

初学开发的小伙伴提出疑问: 手机双卡可以理解,人情世故各种缘由…… 物联网设备有必要双卡吗,会不会太浪费? 实际应用中,双卡可不是徒增成本的摆设,而是有备无患的必需。 在使用4G模组双卡功能的场景下&a…

掌握MySQL性能监控 · performance_schema 使用快速入门

performance_schema 使用快速入门 在数据库性能调优的过程中,performance_schema 是一个非常有用的工具,它可以帮助我们深入分析 MySQL 内部的性能表现。通过合理使用 performance_schema,我们可以发现数据库中的性能瓶颈并做出优化。本文将…

STM32快速复习(十二)FLASH闪存的读写

文章目录 一、FLASH是什么?FLASH的结构?二、使用步骤1.标准库函数2.示例函数 总结 一、FLASH是什么?FLASH的结构? 1、FLASH简介 (1)STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&…