首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >k8s添加nfs动态绑定存储(dynamic provisioning)nfs-server-provisioner

k8s添加nfs动态绑定存储(dynamic provisioning)nfs-server-provisioner

作者头像
全栈程序员站长
发布于 2021-05-19 08:12:25
发布于 2021-05-19 08:12:25
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

参考:https://kubernetes.io/docs/concepts/storage/storage-classes/#local Local volumes do not currently support dynamic provisioning, however a StorageClass should still be created to delay volume binding until Pod scheduling. This is specified by the WaitForFirstConsumer volume binding mode.

我们在裸机上安装kubernetes(私有开发环境),通常要自行设置默认storage class,常用的本地存储方式provisioner: kubernetes.io/no-provisioner不支持dynamic provisioning。 比如使用helm安装redis-cluster,就有问题,因为它使用的是动态绑定storage class

代码语言:javascript
代码运行次数:0
运行
复制
helm show values bitnami/redis-cluster

我们可以自行创建一个provisioner,如:nfs-server-provisioner。

先创建默认的StorageClass

代码语言:javascript
代码运行次数:0
运行
复制
kubectl create -f storageclass.yml

storageclass.yml如下

代码语言:javascript
代码运行次数:0
运行
复制
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  name: standard
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
reclaimPolicy: Delete

使用helm安装nfs-server-provisioner

代码语言:javascript
代码运行次数:0
运行
复制
helm install storageclass-nfs stable/nfs-server-provisioner -f nfs-config.yaml

nfs-config.yaml文件如下:

代码语言:javascript
代码运行次数:0
运行
复制
persistence:
  ##开启持久存储
  enabled: true
  storageClass: "-"
  ## 存储大小30g
  size: 50Gi

storageClass:
  ##设置成默认storageclassclass
  defaultClass: true

nodeSelector:
  ##安装到哪个node上
  kubernetes.io/hostname: node1

创建pv

文件:nfs-server-pv.yaml

代码语言:javascript
代码运行次数:0
运行
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  name: data-nfs-server-provisioner-0
spec:
  capacity:
    storage: 50Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    ## 绑定在node上的位置
    path: /data/k8s/volumes/data-nfs-server-provisioner-0
  claimRef:
    namespace: default
    ## 自动生成的pvc名字
    name: data-storageclass-nfs-nfs-server-provisioner-0

创建

代码语言:javascript
代码运行次数:0
运行
复制
k create -f nfs-server-pv.yaml

三、每台机器上都要装nfs

代码语言:javascript
代码运行次数:0
运行
复制
yum -y install nfs-utils 
systemctl restart rpcbind && systemctl enable rpcbind 
systemctl restart nfs && systemctl enable nfs

参考: helm安装 https://blog.csdn.net/evane1890/article/details/112673261

常见问题

没有安装nfs

mount: 文件系统类型错误、选项错误、10.96.169.147:/export/pvc-5bf2207d-0563-4757-88db-eaca90619a83 上有坏超级块、 缺少代码页或助手程序,或其他错误 (对某些文件系统(如 nfs、cifs) 您可能需要 一款 /sbin/mount.<类型> 助手程序)

安装参考

k8s安装elasticsearch并使用持久存储 K8s上运行Redis集群指南.md

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100347.html原文链接:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
k8s的pv与pvc
PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS 等,都是通过插件机制完成与共享存储的对接。
SY小站
2020/06/15
1.3K0
【K8S专栏】Kubernetes数据持久化管理
Kubernetes为了能更好的支持有状态应用的数据存储问题,除了基本的HostPath和EmptyDir提供的数据持久化方案之外,还提供了PV,PVC和StorageClass资源对象来对存储进行管理。
没有故事的陈师傅
2022/09/15
1.3K0
实战:用“廉价”的NFS作为K8S后端存储
大家都知道,NFS是一种基于网络的文件系统协议,允许在不同的机器之间共享文件系统资源。在K8S中,可以使用NFS作为后端存储,以提供持久化存储和共享存储卷。但是否适合在生产环境使用NFS作为后端存储,这取决于具体的应用程序和使用场景。如果应用程序对性能和可靠性要求比较高,可能需要选择其他更适合的存储方案,比如ceph。如果只是在测试或者开发环境中,我觉得使用NFS可以更方便地实现共享存储卷,提高测试或者开发的效率。
不背锅运维
2023/04/10
1.4K0
实战:用“廉价”的NFS作为K8S后端存储
kubernetes-5:使用helm与yaml两种方式进行mysql容器化
实际生产环境中,为了稳定和高可用(晚上睡觉踏实),我们并不会把mysql装在k8s集群中,一般是用阿里云的RDS或者自己在高性能机器上搭建mysql。
千里行走
2019/07/03
2.7K0
kubernetes-5:使用helm与yaml两种方式进行mysql容器化
Kubernetes(k8s)-StorageClass案例
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2025/01/20
1530
Kubernetes(k8s)-StorageClass案例
Rancher2 & K8S部署踩坑记录
如果服务器上下载不了kubectl可去github release页面下载最新版kubectl,再上传至服务器
Ewdager
2020/07/14
3.9K0
Rancher2 & K8S部署踩坑记录
Kubernetes Dynamic Volume Provisioning - NFS Provisioner
场景:在 非 Master 节点 添加了 1T 的磁盘,挂载到 /mnt 路径,然后实现在此存储上动态创建 PVC。
轻量级云原生架构实验室
2018/08/02
6850
Kubernetes Dynamic Volume Provisioning - NFS Provisioner
K8S的StorageClass实战(NFS)
在K8S环境,当pod需要存储空间时,StorageClass比PV更灵活和方便,官方文档地址:https://kubernetes.io/docs/concepts/storage/persistent-volumes/
程序员欣宸
2020/05/26
2.9K0
TKE使用nfs文件系统
本文主要实践TKE集群使用nfs文件系统,包括使用cfs-csi(新创建实例,共享新实例),静态nfs挂载,已有实例共享挂载
williamji
2024/07/31
2300
NFS分布式存储与nfs-subdir-external-provisioner
BUG弄潮儿
2025/03/24
3150
NFS分布式存储与nfs-subdir-external-provisioner
我要在k8s部署nfs动态存储
用 kubectl describe pvc -n jumpserver jumpserver-pvc 来查看详细信息发现以下提示
dgds
2023/06/09
1.5K0
kubernetes(k8s) 存储动态挂载
其中 nfs-kernel-server 为服务端, nfs-common 为客户端。
小陈运维
2021/11/17
3.4K1
(2 / 3)CentOS搭建K8s微服务20条
registry和image是修改镜像仓库和镜像名为阿里云的仓库(该仓库为个人用户仓库)。官方镜像国内网络基本拉取不下来,默认配置使用Deployment控制器,副本数为1。你可以修改为DaemonSet,每个节点部署一个pod,此处使用nodeSelector将ingress控制器固定在master上
老张的哲学
2023/01/09
2.4K0
Kubernetes 部署 Wordpress+MySQL
这部分我们结合之前的 k8s 知识点给大家展示如何使用 kubernetes 部署 wordpress+MySQL, 并利用 NFS 去保存我们容器的源代码以及 DB 数据.
jwangkun
2021/12/23
1.1K0
Kubernetes 部署 Wordpress+MySQL
k8s系列(4)-MongoDB数据持久化
kubernetes 集群不会为你处理数据的存储,我们可以为数据库挂载一个磁盘来确保数据的安全。
爽朗地狮子
2022/10/20
1.3K0
Kunbernetes-基于NFS的存储
NFS是Network File System的简写,即网络文件系统,NFS是FreeBSD支持的文件系统中的一种。NFS基于RPC(Remote Procedure Call)远程过程调用实现,其允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序就可以像访问本地文件一样访问远端系统上的文件。NFS是一个非常稳定的,可移植的网络文件系统。具备可扩展和高性能等特性,达到了企业级应用质量标准。由于网络速度的增加和延迟的降低,NFS系统一直是通过网络提供文件系统服务的有竞争力的选择 。
菲宇
2019/06/12
1.2K0
Kunbernetes-基于NFS的存储
用 Helm 在 k8s 上快速搭建 MySQL 主从集群 ,并提供对外访问
小伙伴们好呀,我是 小羊,上文分享了 《用 k8s+Ingress+Traefik 搭建一个外网可以访问的 Web 服务》
Java4ye
2024/02/05
2.9K0
用 Helm 在 k8s 上快速搭建 MySQL 主从集群 ,并提供对外访问
30 分钟玩转 Kubernetes 持久化存储之 NFS 实战入门
玩转 Kubernetes 必然少不了持久化存储,不考虑各种公有云上的 Kubernetes 集群和商业化集中存储,自建的 Kubernetes 集群中,后端持久化存储常见的解决方案有 Ceph、GlusterFS、NFS,以及这两年新兴起的 Longhorn(也可能还有我不了解的其他的更好的)。
运维有术
2023/11/30
4.1K0
30 分钟玩转 Kubernetes 持久化存储之 NFS 实战入门
详解Kubernetes存储体系
在没有介绍Kubernetes Volume之前,先来回顾下Docker Volume,Docker Volume常用使用方式有两种,
用户5166556
2020/10/23
1K0
详解Kubernetes存储体系
Kubernetes-基于StorageClass的动态存储供应
Kubernetes集群管理员通过提供不同的存储类,可以满足用户不同的服务质量级别、备份策略和任意策略要求的存储需求。动态存储卷供应使用StorageClass进行实现,其允许存储卷按需被创建。如果没有动态存储供应,Kubernetes集群的管理员将不得不通过手工的方式类创建新的存储卷。通过动态存储卷,Kubernetes将能够按照用户的需要,自动创建其需要的存储。
菲宇
2019/06/12
2.3K0
Kubernetes-基于StorageClass的动态存储供应
相关推荐
k8s的pv与pvc
更多 >
目录
  • 先创建默认的StorageClass
  • 使用helm安装nfs-server-provisioner
  • 创建pv
  • 三、每台机器上都要装nfs
  • 常见问题
  • 安装参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档