NFS分布式存储与nfs-subdir-external-provisioner

服务端操作

#服务端安装
yum install -y nfs-utils rpcbind#启动服务 并设置开启启动
systemctl start rpcbind && systemctl enable rpcbind
systemctl start nfs-server && systemctl enable nfs-server#创建共享目录
mkdir -p /root/data/nfs
#设置权限
chmod 666 /root/data/nfs
#修改 NFS 配置文件
vim /etc/exports
/root/data/nfs *(rw,sync,insecure,no_subtree_check,no_root_squash)
#载入配置
exportfs -rv
#查看 NFS 服务项 rpc 服务器注册的端口列表
rpcinfo -p localhost
#服务端看下是否正确加载了设置的 /etc/exports 配置
showmount -e localhost
#关闭防火墙
systemctl stop firewalld.service

客户端操作

#客户端安装
yum install -y nfs-utilsmkdir /nfs_share
#设置开机自动挂载
echo "10.0.2.21:/root/data/nfs /nfs_share nfs defaults 0 0" >> /etc/fstab#客户端查看能否正常挂载 10.0.2.21 是nfs服务端ip
showmount -e 10.0.2.21#客户端执行绑定目录注意:一定挂载根目录例如: /share
mount 10.0.2.21:/root/data/nfs /nfs_share#客户端在/nfs_share里写入文件测试

静态PVC测试

#测试pod使用nfs存储
apiVersion: v1
kind: PersistentVolume
metadata:name: nfs-pvnamespace: test-ng
spec:capacity:storage: 1Gi   # 你想要的存储大小accessModes:- ReadWriteMany  # 允许多个节点读写nfs:path: /root/data/nfs   # NFS 共享的路径server: 10.0.2.21  # NFS 服务器地址persistentVolumeReclaimPolicy: Retain---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: nfs-pvcnamespace: test-ng
spec:accessModes:- ReadWriteManyresources:requests:storage: 1Gi---
apiVersion: apps/v1
kind: Deployment
metadata:name: nfsdemo-v1namespace: test-nglabels:app: nfsdemoversion: v1
spec:replicas: 1selector:matchLabels:app: nfsdemoversion: v1template:metadata:labels:app: nfsdemoversion: v1spec:containers:- name: nfsdemoimage: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:stable-alpineports:- containerPort: 80volumeMounts:- name: nfs-storagemountPath: "/usr/share/nginx/html"  # 容器内的挂载路径volumes:- name: nfs-storagepersistentVolumeClaim:claimName: nfs-pvc
---
apiVersion: v1
kind: Service
metadata:name: nfsdemo-servicenamespace: test-ng
spec:type: NodePort  # 设置为 NodePort 类型selector:app: nfsdemo  # 与 Deployment 中的 Pod 匹配的标签ports:- port: 80          # 服务的端口targetPort: 80    # Pod 中容器的端口

安装nfs-subdir-external-provisioner

下载

https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner

安装nfs-subdir-external-provisioner

kubectl create ns nfs-provisionerhelm install nfs-subdir-external-provisioner . \--set storageClass.name=nfs-sc   \--set nfs.server=10.0.2.21   \--set nfs.path=/root/data/nfs  \-n nfs-provisioner

注:需要替换国内镜像

swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/sig-storage/nfs-subdir-external-provisioner

卸载nfs-subdir-external-provisioner

helm uninstall nfs-subdir-external-provisioner \-n nfs-provisioner 

动态PVC测试

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: test-claim
spec:storageClassName: "nfs-sc"accessModes:- ReadWriteManyresources:requests:storage: 1Gi
---
apiVersion: v1
kind: Pod
metadata:name: test-pod
spec:containers:- name: test-podimage: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:stable-alpinevolumeMounts:- name: nfs-pvcmountPath: "/usr/share/nginx/html"volumes:- name: nfs-pvcpersistentVolumeClaim:claimName: test-claim
参考:
https://blog.csdn.net/qq_49288154/article/details/143956580
https://www.cnblogs.com/nb-blog/p/17970547
https://blog.csdn.net/ltgsoldier1/article/details/142534752

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

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

相关文章

学习安装配置vue

1.先将nodejs下载2.在我们的安装目录下,创建名为node_cache和node_global的两个文件夹 3.打开cmd窗口,执行如下命令,将npm的全局模块目录和缓存目录配置到刚才创建的那两个目录。 npm config set prefix “D:\soft2024.7.6\nodejs\node_global” npm config set cache “D:\…

K8s Ingress, 你这个老6

Ingress 这个老6,结合nodeport和ClusterIp两种服务类型,你在引流这一块玩的花啊。 入口一夫当关,对内如鱼得水。本文是有态度马甲的第185篇原创。 本文记录了k8s中核心对象Ingress的产生背景和实现机制。 我们都知道k8s Service是一种将Pods通过网络暴露出来的抽象,每个服务…

C# .NET core 中处理图像,SkiaSharp,ImageSharp,NetVips,Magick.net多维度对比

2025年有哪些图像处理库,我们可以在项目中使用哪些库?本文列出了最流行的现有库。 .NET Core图片处理库SkiaSharp(https://github.com/mono/SkiaSharp) Magick.net(https://github.com/dlemstra/Magick.NET) ImageSharp(https://github.com/SixLabors/ImageSharp) NetV…

20243317 实验二《Python程序设计》实验报告

课程:《Python程序设计》 班级: 2433 姓名: 邓雅文 学号:20243317 实验教师:王志强老师 实验日期:2025年3月26日 必修/选修: 公选课 一、实验内容 1、掌握python中函数定义与调用相关知识点 大致框架与C语言相同,同样有实参,形参,可能有返回值,形式如下: def 函数名…

MEBCY-v2

MERCY-v2 信息收集 查找目标主机ip ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:84:b2:cc, IPv4: 192.168.158.143 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.158.1 00:50:56:c…

人群密度分析预警摄像机

人群密度分析预警摄像机是可以实时地统计出一个指定区域内的总人数。当所监视区域的人员数量达到设定的阀值时摄像机输出报警信号。可设置人数阈值和时间阈值。用于设置触发进入区域内的人数值,达到该设定的阈值则摄像机输出报警信号。人数阈值可以手动设置,系统默认值为5人,…

CloudFlare DNS实现根域名跳转WWW域名,301跳转

0. 目的 托管在CloudFlare上的域名,已配置好www.bktai.com,想在用户访问根域名https://bktai.com时,重定向到 https://www.bktai.com. 为什么是重定向而不是同时可以访问?搜索引擎会搜到重复的内容,且维护两套路径都能正常工作,会造成混乱。 1. 配置根域名 点击自己要设置…

day:32 jmeter及性能测试——介绍

一、性能测试介绍 1、什么叫做性能测试? (1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试 (2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试 2、性能测试的时间? 在功能测试完成后才能进行性能测试…

第六周第五天

所用时间:405分钟 代码量(行):689 博客量(篇):20 了解到的知识点: 1.VLAN的创建与划分 今天进行了计算机网络的实验一,在昨天下载的packet tracer上进行,实现了VLAN的创建与划分,进行跨交换机的相同vlan之间的计算机和不同vlan之间的计算机的通信实验2.树状结构查询…

独立按键控制LED数码管

前言 通过1个独立按键,控制LED数码管显示字符。 结合之前我的两篇文章独立按键控制LED流水灯方向 https://www.cnblogs.com/luckydoog/p/18796974数码管静态显示 https://www.cnblogs.com/luckydoog/p/18797690效果原理 提前在程序里存储共阴极数码管的编码表,能表示的字符范…

day:32 jmeter操作数据库——参数化

一、数据库通过用户参数设置变量 1、建一个查询的jdbs请求2、前置处理器中添加用户参数3、修改线程数4、查看结果二、txt文档实现参数化 1.编辑sql语句中导入变量${变量名}新建一个txt文档:data 命名导入txt文档运行以上内容是将sql语句写入到txt文档中引用 2. 将数据写入txt文…