当前位置: 首页 > news >正文

K8S学习之基础二十三:k8s的持久化存储之nfs

K8S持久化存储之nfs

​ 在 Kubernetes (k8s) 中使用 NFS(Network File System)作为存储解决方案是一种常见的方式,特别是在需要共享存储的场景中。以下是关于如何在 Kubernetes 中使用 NFS 存储的详细说明:

1. 准备 NFS 服务器

首先,你需要一个 NFS 服务器来提供共享存储。NFS 服务器可以是一个独立的物理机、虚拟机,或者是一个云服务。

在 Linux 上设置 NFS 服务器
  1. 安装 NFS 服务器软件包

    yum install nfs-utils -y
    
  2. 创建共享目录

    mkdir -p /data/volumes
    chmod 777 /data/volumes
    echo 'Hello NFS' > /data/volumes/index.html
    
  3. 配置 NFS 导出
    编辑 /etc/exports 文件,添加以下内容:

    /data/volumes *(rw,sync,no_subtree_check)
    

    这表示将 /data/volumes 目录共享给所有客户端,并赋予读写权限。

  4. 重启 NFS 服务

    systemctl restart nfs
    

2. 在 Kubernetes 中使用 NFS 存储

  1. 创建 Pod
    创建一个 nfs-pod.yaml 文件:

    apiVersion: v1
    kind: Pod
    metadata:
      name: nfs-pod
    spec:
      containers:
      - name: nfs-container
        image: 172.16.80.140/nginx/nginx:1.26
    		imagePullPolicy: ifNotPresent
        volumeMounts:
        - name: nfs-volumes
          mountPath: /usr/share/nginx/html
      volumes:
      - name: nfs-volumes
        nfs:
          path: /data/volumes
          server: 172.16.80.131
    
  2. 应用 Pod

    kubectl apply -f nfs-pod.yaml
    kubectl get pods -owide
    

在这里插入图片描述

3. 验证 NFS 存储

你可以通过以下步骤验证 NFS 存储是否正常工作:

  1. 查看 Pod 日志

    kubectl logs nfs-pod
    
  2. 在 NFS 服务器上验证
    在 NFS 服务器上,验证nfs是否生效 /data/volumes/index.html

    curl 10.244.196.133
    

在这里插入图片描述
通过以上步骤,你可以在 Kubernetes 中成功使用 NFS 作为存储解决方案。NFS 特别适用于需要多个 Pod 共享同一存储的场景,例如运行有状态应用或共享配置文件等。
​ nfs还可以在集群中作为共享存储使用,比如在另外一台节点创建目录,挂载到nfs服务,就可以实现

mkdir /test
mount 172.16.80.131:/data/volumes /test
systemctl restart nfs

在这里插入图片描述

http://www.dtcms.com/a/63255.html

相关文章:

  • 【CXX】6 内置绑定
  • MongoDB 触发器实现教程
  • js和java中方法重载(js本身是不支持方法重载,方便对比学习)
  • 从零开始的python学习(五)P75+P76+P77+P78+P79+P80
  • 2001-2023年上市公司数字化转型年报词频统计(年报词频统计和MDA词频统计两种方式)(吴非、赵宸宇、甄红线300+关键词三种方法)
  • 施磊老师c++笔记(四)
  • sonarqube+SonarScanner+postpresql+jenkins
  • 全网最详解答OSPF基础
  • 光谱相机检测肉类新鲜度的原理
  • 一位年薪35W的测试被开除,回怼的一番话,令人沉思
  • Spring IoC:解耦与控制反转的艺术
  • qt 多进程使用共享内存 ,加速数据读写,进程间通信 共享内存
  • pyCharm快速安装tensorflow、keras环境
  • 【1688】崖山集群YAC安装备忘
  • 计算机三级网络技术备考(5)
  • AI4CODE】3 Trae 锤一个贪吃蛇的小游戏
  • 三分钟掌握音视频处理 | 在 Rust 中优雅地集成 FFmpeg
  • JavaScript(Web APIs)
  • 插入排序算法
  • SpringBoot整合SpringSecurity实现多表登录
  • tcc编译器教程7 为编译gmake编写Makefile文件
  • Docker基础入门
  • 从百度百科,探秘树莓集团的数字产业版图​
  • 使用SSH密钥连接本地git 和 github
  • 知识库全链路交互逻辑
  • go mod文件 项目版本管理
  • 项目管理软件分类有哪些
  • playWright学习总结
  • 基于django+pytorch(Faster R-CNN)的钢材缺陷识别系统
  • 【机械视觉】C#+VisionPro联合编程———【三、C#操作VisionPro中的工具详解(CogToolBlock ),以及实例】