Kubernetes之StorageClassss——nfs-client

[TOC]

0 参考

1 简介

Kubernetes集群管理员通过提供不同的存储类,可以满足用户不同的服务质量级别、备份策略和任意策略要求的存储需求。动态存储卷供应使用StorageClass进行实现,其允许存储卷按需被创建。如果没有动态存储供应,Kubernetes集群的管理员将不得不通过手工的方式类创建新的存储卷。通过动态存储卷,Kubernetes将能够按照用户的需要,自动创建其需要的存储。

比如,我们可能会在kubernetes集群中安装一些带持久化数据功能的服务,例如redis、mysql、mq、es等。因此,当有这类需求时,我们必须给整个集群给定一个特定的存储方案。本章我们是NFS的网络存储方案

image

2 部署

2.1 NFS服务器

1
2
3
4
5
6
7
yum install rpcbind  nfs-utils

mkdir /nfs_data

chmod +w /nfs_data

chmod +x /nfs_data

编辑/etc/exports,内容如下:

1
/nfs_data 192.168.11.0/24(rw,no_root_squash)

启动nfs服务

1
2
service nfs start #启动nfs服务
service rpcbind start #启动rpc服务
1
showmount -e 192.168.11.24 #查看共享盘 ok

2.2 使用helm部署nfs-client

1
2
helm search nfs-client
helm fetch nfs-client

编辑helm的values文件

1
2
3
nfs.server=192.168.11.24
nfs.path=/nfs_data
storageClass.defaultClass=true

安装

1
helm install ....

3 测试

创建一个pvc使用默认的storageclass,查看pv是否自动创建成功

如果没有将nfs-client设为默认的storageclass,可使用以下命令进行操作

1
2
# 这里的 `<your-class-name>` 是您选择的 StorageClass 的名字。
kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
--------------------本文结束,感谢您的阅读--------------------