k8s 中存储之 NFS 卷
目录
1 NFS 卷的介绍
2 NFS 卷的实践操作
2.1 部署一台 NFS 共享主机
2.2 在所有k8s节点中安装nfs-utils
2.3 部署nfs卷
2.3.1 生成 pod 清单文件
2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数
2.3.3 声明签单文件并查看是否创建成功
2.3.4 在 NFS 服务器 创建默认发布文件并访问测试
1 NFS 卷的介绍
HostPath可以解决数据持久化的问题,但是一旦Node节点故障了,Pod如果转移到了别的节点,又会出现问题了,此时需要准备单独的网络存储系统,比较常用的用NFS、CIFS。
NFS是一个网络文件存储系统,可以搭建一台NFS服务器,然后将Pod中的存储直接连接到NFS系统上,这样的话,无论Pod在节点上怎么转移,只要Node跟NFS的对接没问题,数据就可以成功访问。

2 NFS 卷的实践操作
2.1 部署一台 NFS 共享主机
# 部署 NFS 主机
[root@harbor ~]# yum install nfs-utils -y
[root@harbor ~]# systemctl enable --now nfs-server.service[root@harbor ~]# vim /etc/exports
/nfsdata *(rw,sync,no_root_squash)[root@harbor ~]# mkdir /nfsdata# 重新加载配置文件
[root@harbor ~]# exportfs -rv
exporting *:/nfsdata# 查看是否通讯
[root@harbor ~]# showmount -e
Export list for harbor:
/nfsdata *
2.2 在所有k8s节点中安装nfs-utils
[root@k8s-master & node1 & node2 ~]# yum install nfs-utils -y# 测试是否可用
[root@k8s-master volumes]# showmount -e harbor
Export list for harbor:
/nfsdata *
2.3 部署nfs卷
2.3.1 生成 pod 清单文件
[root@k8s-master volumes]# kubectl run nfs \
--image nginx:latest --port 80 \
--dry-run=client -o yaml > nfs-volume.yml
2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数
[root@k8s-master volumes]# vim nfs-volume.yml
apiVersion: v1
kind: Pod
metadata:labels:run: nfsname: nfs
spec:volumes:# 定义一个名为 cache-vol 的 NFS 卷# NFS 卷允许 Pod 访问远程 NFS 服务器上的文件系统- name: cache-volnfs:server: 192.168.239.50 # NFS 服务器的 IP 地址path: /nfsdata # 在 NFS 服务器上的路径containers:- image: nginx:latestname: nginxvolumeMounts:# 将 cache-vol 卷挂载到容器内的 /usr/share/nginx/html 路径# 这样容器可以访问远程 NFS 服务器上的 /nfsdata 目录- mountPath: /usr/share/nginx/htmlname: cache-volports:- containerPort: 80
2.3.3 声明签单文件并查看是否创建成功
# 声明清单文件
[root@k8s-master volumes]# kubectl apply -f nfs-volume.yml# 查看是否创建成功
[root@k8s-master volumes]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nfs 1/1 Running 0 34s 10.244.1.36 k8s-node1 <none> <none>
nginx-v1-dbd4bc45b-49hhw 1/1 Running 0 3d19h 10.244.2.54 k8s-node2 <none> <none>
nginx-v2-bd85b8bc4-nqpv2 1/1 Running 0 3d19h 10.244.1.35 k8s-node1 <none> <none>
testpod 0/1 Completed 0 3d6h 10.244.2.58 k8s-node2 <none> <none># 如果访问会显示 fobbiden ,因为在 NFS服务器 的 /nfsdata 目录下并没有文件
[root@k8s-master volumes]# curl 10.244.1.36
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.27.1</center>
</body>
</html>
2.3.4 在 NFS 服务器 创建默认发布文件并访问测试
# NFS 服务器增加数据文件
[root@harbor ~]# cd /nfsdata/
[root@harbor nfsdata]# echo this is NFS server 192.168.239.50 harbor > index.html# 在集群内可以访问到
[root@k8s-master volumes]# curl 10.244.1.36
this is NFS server 192.168.239.50 harbor
相关文章:
k8s 中存储之 NFS 卷
目录 1 NFS 卷的介绍 2 NFS 卷的实践操作 2.1 部署一台 NFS 共享主机 2.2 在所有k8s节点中安装nfs-utils 2.3 部署nfs卷 2.3.1 生成 pod 清单文件 2.3.2 修改 pod 清单文件增加 实现 NFS卷 挂载的 参数 2.3.3 声明签单文件并查看是否创建成功 2.3.4 在 NFS 服务器 创建默认发布…...
Redis中BitMap实现签到与统计连续签到功能
服务层代码 //签到Overridepublic Result sign() {//1.获取当前登录的用户Long userId UserHolder.getUser().getId();//获取日期LocalDateTime now LocalDateTime.now();//拼接keyString keySuffix now.format(DateTimeFormatter.ofPattern(":yyyyMM"));String …...
【Spring】“请求“ 之传递 JSON 数据
文章目录 JSON 概念JSON 语法JSON 的语法JSON 的两种结构 JSON 字符串和 Java 对象互转JSON 优点传递 JSON 对象 JSON 概念 JSON:JavaScript Object Notation【JavaScript 对象表示法】 JSON 就是一种数据格式,有自己的格式和语法,使用文本…...
文心一言 VS 讯飞星火 VS chatgpt (359)-- 算法导论24.3 1题
一、在图 24-2上运行Dijkstra算法,第一次使用结点 s s s作为源结点,第二次使用结点 z z z作为源结点。以类似于图 24-6 的风格,给出每次while循环后的 d d d值和 π π π值,以及集合 S S S中的所有结点。如果要写代码,…...
Redis-预热雪崩击穿穿透
预热雪崩穿透击穿 缓存预热 缓存雪崩 有这两种原因 redis key 永不过期or过期时间错开redis 缓存集群实现高可用 主从哨兵Redis Cluster开启redis持久化aof,rdb,尽快恢复集群 多缓存结合预防雪崩:本地缓存 ehcache redis 缓存服务降级&…...
jvisualvm学习
系列文章目录 JavaSE基础知识、数据类型学习万年历项目代码逻辑训练习题代码逻辑训练习题方法、数组学习图书管理系统项目面向对象编程:封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习集合学习IO流、多线程学习仓库管理系统JavaSE项目员工…...
Gazebo环境下开源UAV与USV联合仿真平台
推荐一个ROS2下基于Gazebo环境的开源UAV与USV联合仿真平台。平台是由两个开源项目共同搭建的。首先是UAV仿真平台,是基于PX4官方仿真平台(https://docs.px4.io/main/en/sim_gazebo_gz);其次是USV仿真平台,是基于VRX仿真…...
Linux进程调度和进程切换
并行(Parallel) 含义:并行是指多个任务在同一时刻同时执行。 硬件要求:需要多个处理器(如多核CPU)或者多台计算设备来实现,这些执行单元能够真正地同时处理不同的任务。例如,一个具…...
机器学习基本上就是特征工程——《特征工程训练营》
作为机器学习流程的一部分,特征工程是对数据进行转化以提高机器学习性能的艺术。 当前有关机器学习的讨论主要以模型为中心。更应该关注以数据为中心的机器学习方法。 本书旨在介绍流行的特征工程技术,讨论何时以及如何运用这些技术的框架。我发现&…...
Android Framework AMS(01)AMS启动及相关初始化1-4
该系列文章总纲链接:专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明: 说明:本章节主要涉及systemserver启动AMS及初始化AMS相关操作。同时由于该部分内容分析过多,因此拆成2个章节,本章节是第一章节&…...
基于基于微信小程序的社区订餐系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
[单master节点k8s部署]29.Istio流量管理(五)
测试istio熔断管理。 采用httpbin镜像和fortio镜像,其中httpbin作为服务端,fortio是请求端。这两个的配置yaml文件都在istio的samples/httpbin目录下,fortio的配置文件在samples-client目录下。 [rootmaster httpbin]# ls gateway-api ht…...
Something for 24OI
zyj老师希望我给24OI的同学们写一点东西,虽然感觉我也没有什么先进经验,还是尽力写一些主观的感受吧。 如何平衡文化课和竞赛的关系?不要以牺牲文化课的代价学习竞赛。首先,绝大多数的竞赛同学,或早或晚都会在退役后回…...
【React】事件机制
事件机制 react 基于浏览器的事件机制自身实现了一套事件机制,称为合成事件。比如:onclick -> onClick 获取原生事件:e.nativeEvent onClick 并不会将事件代理函数绑定到真实的 DOM节点上,而是将所有的事件绑定到结构的最外层…...
华为OD的职级与薪资
华为 OD 这几年随着招聘行情的日渐严峻,不少 985 高校出来的学生都开始放宽对"外包"的看法,其中华为 OD 以"待遇断层领先"的姿态成为不少求职者(不得已)的外包首选。 既然如此,我们就好好梳理一下…...
【HTML5】html5开篇基础(4)
1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…...
HTTP【网络】
文章目录 HTTPURL(Uniform Resource Lacator) HTTP协议格式HTTP的方法HTTP的状态码HTTP常见的Header HTTP 超文本传输协议,是一个简单的请求-响应协议,HTTP通常运行在TCP之上 URL(Uniform Resource Lacator) 一资源定位符,也就是通常所说的…...
MQ延迟消息:原理、实现与应用
在现代分布式系统中,消息队列(Message Queue,简称MQ)已经成为实现异步通信、解耦服务和削峰填谷的重要工具。延迟消息(Delayed Message)作为MQ的一种高级特性,允许消息在指定的延迟时间后投递到…...
计算机网络—大端序和小端序
大端序和小端序 大端序(Big-endian)和小端序(Little-endian)是指在多字节数据类型(如整数或浮点数)的存储和表示方式上的不同。以下是关于大端序和小端序的详细解释: 一、定义 大端序…...
《OpenCV 计算机视觉》—— Harris角点检测、SIFT特征检测
文章目录 一、Harris 角点检测1.基本思想2.检测步骤3.OpenCV实现 二、SIFT特征检测1. SIFT特征检测的基本原理2. SIFT特征检测的特点3. OpenCV 实现 一、Harris 角点检测 OpenCV中的Harris角点检测是一种基于图像灰度值变化的角点提取算法,它通过计算每个像素点的响…...
本地大模型赋能Thunderbird:离线AI邮件助手部署与实战指南
1. 项目概述:当本地大模型遇上邮件客户端 如果你和我一样,每天被海量的邮件淹没,同时又对AI助手处理邮件的隐私问题心存疑虑,那么“micz/ThunderAI”这个项目可能会让你眼前一亮。简单来说,它是一款为经典邮件客户端Th…...
Google Earth Engine(GEE)——run with profiler查看我们所运行程序的描述、计算指标、内存、峰值内存和数量
分析器显示有关特定算法和计算的其他部分消耗的资源(CPU 时间、内存)的信息。这有助于诊断脚本运行缓慢或由于内存限制而失败的原因。要使用探查器,请单击“运行”按钮下拉菜单中的“使用探查器运行”选项。作为快捷方式,按住 Alt(或 Mac 上的 Option)并单击运行,或按 C…...
DeaDBeeF音频处理核心:DSP、重采样与均衡器技术详解
DeaDBeeF音频处理核心:DSP、重采样与均衡器技术详解 【免费下载链接】deadbeef DeaDBeeF Player 项目地址: https://gitcode.com/gh_mirrors/de/deadbeef DeaDBeeF Player是一款功能强大的开源音乐播放器,其卓越的音频处理能力离不开三大核心技术…...
iPXE脚本编程实战:自动化部署、故障诊断和定制化菜单终极指南
iPXE脚本编程实战:自动化部署、故障诊断和定制化菜单终极指南 【免费下载链接】ipxe iPXE network bootloader 项目地址: https://gitcode.com/gh_mirrors/ip/ipxe iPXE作为领先的开源网络启动引导程序,提供了强大的脚本编程功能,让网…...
嵌入式系统学习路径:从硬件基础到系统架构的认知跃迁
1. 从“螺丝钉”到“系统设计师”:嵌入式学习的认知跃迁大家好,我是老张,一个在嵌入式行业里摸爬滚打了十几年的老兵。今天我们不聊具体的代码,也不讲某个芯片的寄存器配置,我想和大家聊聊一个更根本的问题:…...
出库篇:仓库里的货往哪去?——WMS出库方式全解析,物流新人必读
仓库里的货往哪去?——WMS出库方式全解析,物流新人必读 摘要:货品有进必有出。上一期我们聊了WMS中货品的四大来源(采购、生产、退货、调拨入库),这一期我们来看看货品是怎么“出”去的——销售出库、采购退…...
基于SpringBoot的汽车美容养护管理系统的设计与开发
一、选题依据和意义 (一)选题依据 随着国内汽车保有量持续攀升,汽车后市场规模不断扩大,汽车美容养护行业迎来快速发展期,但行业整体仍存在管理效率低下、服务流程不规范等问题[1]。传统管理模式依赖人工记录客户信息…...
STM32 GPIO八种配置模式详解:从推挽输出到模拟输入实战指南
1. 项目概述:从“点灯”到“通信”,GPIO配置是嵌入式开发的基石如果你玩过STM32,哪怕只是点个灯,也一定和GPIO打过交道。但很多人对GPIO的理解,可能就停留在“输出高电平灯亮,输出低电平灯灭”的层面。实际…...
法学博士论文降重+溯源双突破:NotebookLM文献脉络追踪功能(实测引用准确率98.6%,超人工校验)
更多请点击: https://intelliparadigm.com 第一章:NotebookLM法学研究辅助的范式变革 传统法学研究长期依赖人工检索、逐条比对判例与法条、手工整理文献脉络,知识关联深度受限于研究者个体经验与时间成本。NotebookLM 的引入,标…...
大语言模型实战:从Transformer到QLoRA微调与RAG应用
1. 项目概述:为什么我们需要一门关于大语言模型的课程?如果你在过去一年里关注过技术圈,那么“大语言模型”这个词一定已经听得耳朵起茧了。从ChatGPT的横空出世,到各类开源模型的百花齐放,再到企业级应用的遍地开花&a…...
