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

news/2025/3/13 22:08:00/

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-containerimage: 172.16.80.140/nginx/nginx:1.26imagePullPolicy: ifNotPresentvolumeMounts:- name: nfs-volumesmountPath: /usr/share/nginx/htmlvolumes:- name: nfs-volumesnfs:path: /data/volumesserver: 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.ppmy.cn/news/1578900.html

相关文章

CrossCore Embedded Studio 中修改 LDF 文件

CrossCore Embedded Studio 中修改 LDF 文件 引言 当遇到链接器错误(如本文档"常见错误"部分所述)时,解决方案通常需要掌握修改 LDF 文件来控制链接过程的技巧。虽然本文档内容并非详尽无遗,但将详细说明修改 LDF 文件…

Redis Desktop Manager(Redis可视化工具)安装及使用详细教程

一、安装包下载 直接从官网下载,官网下载链接地址:Downloads - Redis 二、安装步骤 2.1说明 Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具,也也被称作Redis可视化工具。 支持命令控制台操作,以及常用&…

ESP8266TCP客户端(单连接TCP Client)

单连接TCP Client 电脑作为服务器,8266作为客户端 1.配置WiFi模式 ATCWMODE3 //softAPstation mode 相应:ok 2.连接路由器 ATCWJAP“SSID”,“password” //SSID就是wifi的名字, password WIFI密码 响应&#xff…

【python】如何判断是json数组还是字典

傻傻的搞不清楚 要判断这是否是一个JSON数组,可以检查它的结构。JSON数组是用方括号 [] 包围的,并且包含一系列用逗号分隔的值。每个值可以是字符串、数字、对象、数组、布尔值或 null。 在你的代码中,actions 是一个JSON数组,因…

异或和之和 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组

异或和之和 题目来源 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组 原题链接 蓝桥杯 异或和之和 https://www.lanqiao.cn/problems/3507/learning/ 问题描述 问题分析 要点1:异或运算 概念 异或(Exclusive OR,简称 XOR)是一种数学运算符,常用于逻辑运算与计算机…

Webpack 深度解析:构建现代前端工程的基石

一、Webpack 的核心价值与演进 1.1 前端工程化的必然选择 根据 2024 年 JavaScript 现状调查报告,Webpack 以 76% 的使用率稳居构建工具榜首。其核心价值体现在: 模块化支持:处理 15 种模块规范(ESM/CJS/AMD 等)资源…

人工智能混合编程实践:Python ONNX进行图像超分重建

人工智能混合编程实践:Python ONNX进行图像超分重建 前言相关介绍Python简介ONNX简介图像超分辨率重建简介应用场景前提条件实验环境项目结构使用Python ONNX进行图像超分重建sr_py_infer.py参考文献前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击…

Python:函数(一)

python函数相关的知识点 1. 函数定义与调用 定义:使用 def 关键字,后接函数名和参数列表。 def greet(name):"""打印问候语(文档字符串)"""print(f"Hello, {name}!") 调用&#xff1a…