kubernetes 使用NFS搭建动态存储卷(PV/SorageClass/PVC)


声明:本文转载自https://my.oschina.net/u/2371517/blog/3035231,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

在日常学习测试kubernetes时,经常需要PersistentVolume把一些数据(例如:数据库、日志等)存储起来,不随着容器的删除而丢失;关于PV、PVC、StorageClass的关系参考PV/PVC/StorageClass存储卷的实现有很多种,此处选择比较容易实现的NFS作为存储;参考了网上好多资料,但都是不太完整,按照资料上的说明操作都有问题,所以在参考了众多资料之后决定记录一下过程,以供各位参考。

环境: centos-7(3.10.0-957.5.1.el7.x86_64)(node1, node2) kubernetes v1.13.0 helm v2.12.0

安装环境

安装kubernetes、helm

参考资料,在node1、node2上安装kubernetes和helm;

安装NFS

  • 在node1上安装NFS Server

$ sudo yum -y install nfs-utils rpcbind

  • 在服务端node1上配置共享目录
$ sudo mkdir /var/nfs
$ sudo su    //切换到root用户 
$ echo "/var/nfs 192.168.0.0/24(rw,async,no_root_squash,no_all_squash,sync)" >> /etc/exports    //配置共享目录
$ exit    //退回原来用户
$ exportfs -r    //让上面的配置生效
  • 在服务端启动NFS服务
//必须先启动rpcbind服务,再启动nfs服务,这样才能让nfs服务在rpcbind服务上注册成功
$ sudo systemctl start rpcbind
$ sudo systemctl start nfs-server

检查服务是否启动成功

$ showmount -e localhost
Export list for localhost:
/var/nfs 192.168.0.0/24

设置开机启动

$ sudo systemctl enable rpcbind

$ sudo systemctl enable nfs-server

在客户端node2安装nfs-utils

**注意:所有kubernetes机器都需要安装nfs-utils,我就是没有在客户端安装nfs-utils,才卡在怎么测试PV、StorageClass、PVC都不通;

$ sudo yum install nfs-utils

可以参考资料,在客服端上测试NFS共享存储;

NFS作为动态存储卷

参考资料,在node1上使用helm安装NFS-Client Provisioner

$ helm install stable/nfs-client-provisioner --set nfs.server=x.x.x.x --set nfs.path=/exported/path --name nfs-client-provisioner

它会安装一个StorageClass

$ kubectl get sc
NAME                   PROVISIONER                            AGE
nfs-client   cluster.local/nfs-client-provisioner   32h

设置默认StorageClass

使用PVC的时候需要创建并指定PV;如果没有创建PV,就会使用默认的StorageClass来创建相应的PV;否则PVC一直都是Pending的状态;

把上面创建StorageClass设置为默认的

$ kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

$ kubectl get sc
NAME                   PROVISIONER                            AGE
nfs-client (default)   cluster.local/nfs-client-provisioner   32h

现在你可以尽情使用PVC了,而不用在去手动创建PV和StorageClass了;


参考资料(谢谢各位作者):

https://blog.csdn.net/jettery/article/details/72722324 https://www.kubernetes.org.cn/4956.html https://www.kubernetes.org.cn/4022.html https://blog.51cto.com/passed/2160149 https://blog.51cto.com/fengwan/2176889 https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client https://k8smeetup.github.io/docs/tasks/administer-cluster/change-default-storage-class/

本文发表于2019年04月11日 12:00
(c)注:本文转载自https://my.oschina.net/u/2371517/blog/3035231,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2939 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1