k8s-存储 11

一、configmapu存储

首先,确保集群正常,节点都处于就绪状态

Configmap用于保存配置数据,以键值对形式存储。configMap资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。

典型的使用场景:

• 填充环境变量的值

• 设置容器内的命令行参数

• 填充卷的配置文件

创建ConfigMap的方式有4种:使用字面值创建;使用文件创建;使用目录创建;编写configmap的yaml文件创建。

字面值创建

通过文件创建

通过目录创建(创建时,目录中的文件名为key,文件内容是value)

通过yaml文件创建

二、secret存储

从文件中创建Secret

编写yaml文件

将Secret挂载到Volume中:

创建映射secret密钥

向指定路径映射secret密钥

将Secret设置为环境变量

存储docker registry的认证信息

将registrykey绑定到sa,这样yaml文件中就可以不用指定,会更加安全

三、Volumes配置管理

容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失, 因为容器会以干净的状态重建。其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两个问题。

Kubernetes 卷具有明确的生命周期,与包裹它的 Pod 相同。因此,卷比 Pod 中 运行的任何容器的存活期都长,在容器重新启动时数据也会得到保留。当然,当 一个 Pod 不再存在时,卷也将不再存在。也许更重要的是,Kubernetes 可以支持许多类型的卷,Pod 也能同时使用任意数量的卷。

卷不能挂载到其他卷,也不能与其他卷有硬链接。 Pod 中的每个容器必须独立地指定每个卷的挂载位置。

emptyDir卷

当 Pod 指定到某个节点上时,首先创建的是一个 emptyDir 卷,并且只要 Pod 在该节点上运行,卷就一直存在。就像它的名称表示的那样,卷最初是空的。尽管 Pod 中的容器挂载 emptyDir 卷的路径可能相同也可能不同,但是这些容器都可 以读写 emptyDir 卷中相同的文件。当 Pod 因为某些原因被从节点上删除时, emptyDir 卷中的数据也会永久删除。

emptydir缺点:

不能及时禁止用户使用内存。虽然过1-2分钟kubelet会将Pod挤出,但是这个时间内,其实 对node还是有风险的;
影响kubernetes调度,因为empty dir并不涉及node的resources,这样会造成Pod“偷偷” 使用了node的内存,但是调度器并不知晓;

用户不能及时感知到内存不可用。


hostpath卷(适合做监控类)

hostPath 卷能将主机节点文件系统上的文件或目录挂载到您的Pod 中。虽然这不是大多数Pod 需要的,但是它为一些应用程序提供了强大的逃生舱。

hostPath的一些用法有:

运行一个需要访问Docker 引擎内部机制的容器,挂载 /var/lib/docker 路径。

在容器中运行 cAdvisor 时,以 hostPath 方式挂载 /sys。

允许 Pod 指定给定的 hostPath 在运行 Pod 之前是否应该存在,是否应该创建以及应该以 什么方式存在。

hostpath卷相较于empitydir卷是直接持久化到pod所在的节点,为应用程序提供了一个强大的逃生舱,不会因为Pod被删除之后数据就丢了;而empitydir卷是pod没了数据也就没了,不是持久到磁盘上。

nfs卷

配置nfs-server

创建nfspod

需要在所有k8s节点上安装nfs-utils安装包

持久卷(和pod是相互独立的)

使用

Pod使用PVC就像使用volume一样。集群检查PVC,查找绑定的PV,并映射PV给Pod。对 于支持多种访问模式的PV,用户可以指定想用的模式。一旦用户拥有了一个PVC,并且 PVC被绑定,那么只要用户还需要,PV就一直属于这个用户。用户调度Pod,通过在Pod的 volume块中包含PVC来访问PV。

释放

当用户使用PV完毕后,他们可以通过API来删除PVC对象。当PVC被删除后,对应的PV就 被认为是已经是“released”了,但还不能再给另外一个PVC使用。前一个PVC的属于还存 在于该PV中,必须根据策略来处理掉。

回收

PV的回收策略告诉集群,在PV被释放之后集群应该如何处理该PV。当前,PV可以被 Retained(保留)、Recycled(再利用)或者Deleted(删除)。保留允许手动地再次声明 资源。对于支持删除操作的PV卷,删除操作会从Kubernetes中移除PV对象,还有对应的外 部存储(如AWS EBS,GCE PD,Azure Disk,或者Cinder volume)。动态供给的卷总是 会被删除。

配置nfs输出目录

创建pvc

创建pod

回收资源,需要按顺序回收:pod > pvc > pv

回收pvc后,pv会被回收再利用

由于pv的回收需要拉取镜像,因此需要提前在node节点导入镜像:

docker pull registry.k8s.io/debian-base:v2.0.0

用于替代默认仓库,但需要科学上网

strogeclass动态存储分配

更多属性查看地址:存储类 | Kubernetes

官方配置文档:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner

创建sa并授权

在复制文件有#的情况下要进入到paste模式下

部署应用

创建存储类

创建pvc

创建pod

回收

可以设置默认存储类(default),这样在创建pvc的时候就不用专门去指定storageClassName

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js实现倒计时

今天和大家分享一个小功能,在我们进行需要获取手机验证码或其他方式的验证码进行登录时会有一个功能,就是当你点击发送验证码时会有一个倒计时,倒计时没有结束时按钮是禁用的状态,防止重复发送短信,下面我们来看一下这…

Electron快速上手

Electron 目录 简介 打包简单的html/css/javascript项目 打包Vue2项目 打包Vue3项目 简介 Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows…

【数据结构】——期末复习题题库(7)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

C2-4.3.1 多个决策树——随机森林

C2-4.3.1 多个决策树——随机森林 参考链接 1、为什么要使用多个决策树——随机森林? 决策树的缺点: A small change in the data can cause a large change in the structure of the decision tree causing instability 即:对数据集 中…

持续领跑云安全赛道!安全狗多项安全能力获认可

近日,以“数字安全 未来可期”为主题的“2024安全市场年度大会”在北京成功举行。 作为国内云原生安全领导厂商,安全狗也受邀出席此次活动。 厦门服云信息科技有限公司(品牌名:安全狗)创办于2013年,是国内领…

每日论文推送(有中文摘或源码地址或项目地址)

***VX搜索“晓理紫”并关注就可以每日获取最新论文***标题: “It’s not like Jarvis, but it’s pretty close!” – Examining ChatGPT’s Usage among Undergraduate Students in Computer Science作者: Ishika Joshi, Ritvik Budhiraja, Harshal D Akolekar摘要: Large lan…

Redis主从复制哨兵及集群

目录 一.主从复制 主从复制的工作原理如下: 主从复制的作用: 搭建Redis 主从复制 每台服务器配置: ​编辑进行编译安装: 定义systemd服务管理脚本: 开启服务,报错看下内容: 修改 Redis…

【JavaScript】es6开发常用技巧

1.如何隐藏所有指定的元素 const hide (el) > Array.from(el).forEach(e > (e.style.display none)); // 事例: 隐藏页面上所有<p>元素 hide(document.querySelectorALL(p))2.如何检查元素是否具有指定的类&#xff1f; 页面DOM里面的每个节点上都有一个 $\colo…

Python 日志模块 logging 的最佳实践,内容干练简洁

文章目录 1. 引言2. 定义日志类3. 引用日志4. 参考 1. 引言 每次写 python 代码&#xff0c;想找一个日志模块 logging 的最佳实践&#xff0c;都要找一大圈&#xff0c;确不一定可以找到合适的最佳实践。 痛定思痛&#xff0c;我决定下笔记录目前觉得合适的 python 日志的用…

代码混淆:保护您的应用程序

目录 引言 什么是代码混淆&#xff1f; 代码混淆常见手段 代码混淆的作用 代码混淆可能带来的问题 常用的混淆工具 如何使用ipaguard进行混淆 总结 引言 在当今数字化时代&#xff0c;移动应用程序已经成为人们生活和工作中不可或缺的一部分。但是&#xff0c;随着应用…

Go语言实现数据结构栈和队列

Go语言实现数据结构栈和队列 1、栈 package mainimport "fmt"func main(){// 创建栈stack : make([]int, 0)// push压入栈stack append(stack, 10)// pop弹出v : stack[len(stack)-1]// 10fmt.Println(v)stack stack[:len(stack)-1]// 检查栈空// truefmt.Printl…

PPT插件-大珩助手-清除同类

清除同类-颜色 对于选定的形状&#xff0c;删除相同颜色 清除同类-文本 删除当前幻灯片中的文本对象 清除同类-非文本 删除当前幻灯片中的非文本对象 清空当页 删除当前幻灯片中的所有对象 选中的形状动画 删除选中的对象上的形状动画 当前页形状动画 对于当前页中的…

2023.9.1最长上升子序列

56368795 最长上升子序列&#xff1a;5679(严格小于号连接&#xff0c;LIS 最长不降子序列&#xff1a;56679&#xff08;&#xff1c;连接,LNDS 最长下降子序列&#xff1a;875(LDS 最长不升子序列&#xff1a;665(LNIS 上升子序列最小划分数&#xff1a;划分成多个上升子…

MIB 变更周期

MIB 始终以 80 ms 的周期在 BCH 上传输并在 80 ms 内重复&#xff0c;并且它包括从小区获取 SIB1 所需的参数&#xff1b;如果 SSB 的周期大于 80 ms&#xff0c;则 MIB 的发送周期与 SSB 的周期相同。 在UE初始搜索时&#xff0c;SSB在半帧内的周期是20ms&#xff1b;所以对于…

Kotlin Collection KTX:让你的集合操作如丝般顺滑

当今移动应用开发&#xff0c;常常需要使用各种集合类型来存储和操作数据。Kotlin 提供了 Collection KTX 扩展库&#xff0c;为我们操作集合提供了非常方便的 API。在本篇文章中&#xff0c;我们将介绍 Collection KTX 中包含的所有扩展函数&#xff0c;让你的集合操作变得更加…

2024系统分析师---论软件的可靠性设计

摘要&#xff1a; 本人于2018年1月参与了中石化XX油田XX采油厂“用电管理系统”的项目建设&#xff0c;该系统建设目标是实现分单位、分线路、分系统评价、优化、考核&#xff0c;全面提升采油厂用电管理水平。在该项目组中我担任系统架构师一职&#xff0c;主要负责系统整体架…

Linux第23步_安装windows下的stm32cubeprogram软件

stm32cubeprogram软件是通过USB3.0接口烧写系统软件。 1、双击“05、开发工具\02、ST官方开发工具\en.stm32cubeprog_v2-5-0\SetupSTM32CubeProgrammer-2.5.0.exe”。 2、点击“Next” 3、点击“Next” 4、勾选“I agree”&#xff0c;点击“Next” 5、点击“Next” 6、点…

阴盘奇门八字排盘马星位置计算方法php代码

如下位置&#xff0c;马星的四个位置。 计算方法&#xff1a; 1。先根据出生年月日&#xff0c;计算得八字四柱。比如 2024年01月09日&#xff0c;四柱为 其中时柱地支为“申” 2。然后根据以下对应的数组&#xff0c;来找到id号&#xff0c;即马星位置。 根据下表来找到&am…

iPhone语音备忘录怎么导出?这3种方法任你选择!

作为iPhone用户&#xff0c;我们应该会经常使用语音备忘录来记录一些重要的信息。有时候&#xff0c;我们可能需要将这些语音备忘录导出&#xff0c;以方便分享或备份。iphone语音备忘录怎么导出&#xff1f;今天&#xff0c;小编将为大家介绍3种导出iPhone语音备忘录的方法&am…