k8s存储实验-使用nfs进行跨命名空间的多pod共享存储

server/2024/11/30 9:19:27/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 实验目标
  • 一、环境准备
  • 二、nfs环境的部署及连通性验证
  • 三、yaml文件的整理
    • 1. pv文件
    • 2.pvc文件
    • 3.pod文件
  • 四、创建资源
    • 1.创建PV
    • 2.创建PVC
    • 3.创建pod
  • 五、进行文件创建实验
    • 1.minio-1中创建测试文件
    • 2.minio-2进行验证
    • 3.nfs-client端验证


实验目标

进行存储共享实验,使用nfs的技术方案进行跨namespace的存储共享
在这里插入图片描述


一、环境准备

  • 单点k8s一套:192.168.XX.5
  • nfs云主机一台:192.168.XX.62
  • nfs目录:192.168.XX.62:/shared/

二、nfs环境的部署及连通性验证

nfs部署链接:https://blog.csdn.net/baidu_35848778/article/details/126933785

在k8s节点(192.168.XX.5)验证nfs-server的连通性

showmount -e 192.168.XX.62
# 输出
Export list for 192.168.XX.62:
/shared 192.168.XX.0/24

三、yaml文件的整理

1. pv文件

testpv1.yaml

apiVersion: v1
kind: PersistentVolume
metadata:name: nfs-pv1-namelabels:type: local
spec:storageClassName: nfs-pv1-sccapacity:storage: 10GiaccessModes:- ReadWriteManynfs:server: 192.168.XX.62path: /shared/

testpv2.yaml

apiVersion: v1
kind: PersistentVolume
metadata:name: nfs-pv2-namelabels:type: local
spec:storageClassName: nfs-pv2-sccapacity:storage: 10GiaccessModes:- ReadWriteManynfs:server: 192.168.XX.62path: /shared/

2.pvc文件

pv1-pvc1.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: pv1-pvc1namespace: default
spec:volumeName: nfs-pv1-nameaccessModes:- ReadWriteManyresources:requests:storage: 1GistorageClassName: nfs-pv1-sc

pv2-pvc1.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: pv2-pvc1namespace: slw-mariadb
spec:volumeName: nfs-pv2-nameaccessModes:- ReadWriteManyresources:requests:storage: 1GistorageClassName: nfs-pv2-sc

3.pod文件

pod1.yaml

apiVersion: v1
kind: Pod
metadata:name: minio-1namespace: default
spec:containers:- name: minioimage: minio:RELEASE.2022-12-07T00-56-37Zenv:- name: MINIO_ACCESS_KEYvalue: "admin"- name: MINIO_SECRET_KEYvalue: "admin123456"- name : TZvalue: Asia/Shanghaicommand:- /bin/bash- -cargs: - minio server /data --console-address :9090  --address :9000# add port for podports:- containerPort: 9090name: console-address- containerPort: 9000name: addressvolumeMounts:- name: minio-data-one mountPath: /data  
#nodeSelector:#  kubernetes.io/hostname: kubealpha.localvolumes:- name: minio-data-onepersistentVolumeClaim:claimName: pv1-pvc1

pod2.yaml

apiVersion: v1
kind: Pod
metadata:name: minio-2namespace: slw-mariadb
spec:containers:- name: minioimage: harbor.ictnj.ac.cn:10002/library/minio:RELEASE.2022-12-07T00-56-37Zenv:- name: MINIO_ACCESS_KEYvalue: "admin"- name: MINIO_SECRET_KEYvalue: "admin123456"- name : TZvalue: Asia/Shanghaicommand:- /bin/bash- -cargs: - minio server /data --console-address :9090  --address :9000# add port for podports:- containerPort: 9090name: console-address- containerPort: 9000name: addressvolumeMounts:- name: minio-data-one mountPath: /data  
#nodeSelector:#  kubernetes.io/hostname: kubealpha.localvolumes:- name: minio-data-onepersistentVolumeClaim:claimName: pv2-pvc1

四、创建资源

1.创建PV

root@node1:/home# kubectl  create -f testpv1.yaml 
persistentvolume/nfs-pv1-name created
root@node1:/home# kubectl  create -f testpv2.yaml 
persistentvolume/nfs-pv2-name created
root@node1:/home# kubectl get pv -A
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM                                                             STORAGECLASS          REASON   AGE
nfs-pv1-name                               10Gi       RWX            Retain           Available                                                                     nfs-pv1-sc                     6s
nfs-pv2-name                               10Gi       RWX            Retain           Available                                                                     nfs-pv2-sc                     3s

在这里插入图片描述

2.创建PVC

root@node1:/home# kubectl create -f pv1-pvc1.yaml 
persistentvolumeclaim/pv1-pvc1 created
root@node1:/home# kubectl create -f pv2-pvc1.yaml 
persistentvolumeclaim/pv2-pvc1 created
root@node1:/home# kubectl get pv -A
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM                                                             STORAGECLASS          REASON   AGE
nfs-pv1-name                               10Gi       RWX            Retain           Bound      default/pv1-pvc1                                                  nfs-pv1-sc                     2m12s
nfs-pv2-name                               10Gi       RWX            Retain           Bound      slw-mariadb/pv2-pvc1                                              nfs-pv2-sc                     2m9s

在这里插入图片描述

3.创建pod

root@node1:/home# kubectl create -f pod1.yaml 
pod/minio-1 created
root@node1:/home# kubectl create -f pod2.yaml 
pod/minio-2 created
root@node1:/home# kubectl get pod -A |grep minio
default                        minio-1                                          1/1     Running   0             41s
slw-mariadb                    minio-2                                          1/1     Running   0             38s

在这里插入图片描述


五、进行文件创建实验

在pod1中创建文件,在pod2及nfs-client端检查是否可以看到文件

1.minio-1中创建测试文件

在这里插入图片描述

2.minio-2进行验证

在这里插入图片描述

3.nfs-client端验证

在这里插入图片描述


http://www.ppmy.cn/server/146132.html

相关文章

Elasticsearch在部署时,对Linux的设置有哪些优化方法?

大家好,我是锋哥。今天分享关于【Elasticsearch在部署时,对Linux的设置有哪些优化方法?】面试题。希望对大家有帮助; Elasticsearch在部署时,对Linux的设置有哪些优化方法? 1000道 互联网大厂Java工程师 精…

MFC 分段记录时间log类

在开发大型自动化系统或者多线程应用时,日志记录和时间追踪通常是系统调试和性能优化的关键部分。CAuxiliary 类是一个封装了文件日志记录和高精度计时功能的实用工具类,旨在为开发人员提供一种简便的方式,来实现系统运行的日志记录和时间性能…

podman 源码 5.3.1编译

1. 构建环境 在麒麟V10服务器操作系统上构建:Kylin-Server-V10-GFB-Release-2204-Build03-ARM64.iso。由于只是编译 podman 源码,没必要特地在物理机或服务上安装一个这样的操作系统,故采用在虚拟机里验证。 2. 安装依赖 参考资料&#xf…

【论文笔记】Tool Learning with Foundation Models 论文笔记

Tool Learning with Foundation Models 论文笔记 文章目录 Tool Learning with Foundation Models 论文笔记摘要背景:工作: 引言工具学习的发展本文工作(大纲&目录) 背景2.1 工具使用的认知起源2.2 工具分类:用户界…

数据结构 (18)数的定义与基本术语

前言 数据结构是计算机科学中的一个核心概念,它描述了数据元素之间的关系以及这些元素在计算机中的存储方式。 一、数的定义 在计算机科学中,“数”通常指的是树形数据结构,它是一种非线性的数据结构,由节点(或称为元素…

水泥厂可视化技术推动工业智造新变革

通过图扑可视化技术,水泥厂实现生产流程的实时监控与优化管理,提高生产效率,减少能耗。这一技术革新使得工厂运行更加智能化,为行业现代化发展注入新动力。

51单片机从入门到精通:理论与实践指南常用资源篇(五)

坚持一下,确实还有几天就可以学完了,这段时间的努力和付出都将化为宝贵的成果。正如《人民日报》所说:“每一次努力,都是幸运的伏笔。” 不论是在学习、工作还是生活中,坚持都是通往成功的必经之路。当我们在面对困难和…

2024年陕西科技大学数据结构程序填空题+预测

递归实现插入排序 #include <stdio.h>void insertion_sort(int arr[], int n) {if (n > 1){insertion_sort(arr, n - 1);arr[0] arr[n];int i;for (i n - 1; i > 0; i--){if (arr[i] > arr[0]){arr[i 1] arr[i];}else{break;}}arr[i 1] arr[0];} }int m…