作者
微信:tangy8080
电子邮箱:914661180@qq.com
更新时间:2019-06-12 14:59:50 星期三
欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程中的编写的文章
如您在阅读过程中发现文章错误,可添加我的微信 tangy8080 进行反馈.感谢您的支持。
文章主题
搭建NFS服务器,用于存储ElasticSearch的数据.
前置条件
- 有一个可用的K8s集群
- 已经部署好了Helm
正文
为什么需要NFS
由于pod是可变的,这意味这如果把es的数据放在pod中,一旦Pod出现问题或者销毁等可能会造成数据丢失.所以我们需要选择一个安全的地方来存放数据
另外 本次部署ES时是基于master-data结构的,我们并不知道任务会被那个工作节点执行(由k8s调度),也不能直接映射到pod对应的物理主机上的某个目录
所以这里选择网络文件系统nfs
安装NFS服务
请根据自己的主机性能情况,磁盘容量等因素选择一个主机来作为NFS服务器.
- 安装nfs服务
#使用yum来安装nfs-utils,nfs-utils依赖rpcbind.会被自动安装
yum -y install nfs-utils
#解决ipv6没开启导致的服务无法启动的问题
find /etc/ -name '*rpcbind.socket*'
vim /etc/systemd/system/sockets.target.wants/rpcbind.socket
[Unit]
Description=RPCbind Server Activation Socket
[Socket]
ListenStream=/var/run/rpcbind.sock
# RPC netconfig can't handle ipv6/ipv4 dual sockets
BindIPv6Only=ipv6-only
ListenStream=0.0.0.0:111
ListenDatagram=0.0.0.0:111
#ListenStream=[::]:111
#ListenDatagram=[::]:111
[Install]
WantedBy=sockets.target
- 配置服务开机运行
#设置开机启动rpcbind和nfs服务
systemctl enable rpcbind.service &&systemctl start rpcbind.service
systemctl enable nfs.service &&systemctl start nfs.service
- 配置共享目录
#创建共享目录
mkdir -p /usr/share/k8s
#按需设定目录权限
chmod -R 666 /usr/share/k8s
#更改共享设置
vi /etc/exports
/usr/share/k8s *(insecure,rw,no_root_squash)
测试Nfs服务是否正常
- 选择另外一台主机进行测试
#安装nfs-utils用于测试
yum -y install nfs-utils
#查看Nfs主机上的共享
showmount -e 192.168.161.180
Export list for 192.168.161.180:
/usr/share/k8s *
#尝试挂载
mount -t nfs 192.168.161.180:/usr/share/k8s /usr/share/k8s
#查看是否挂载成功
df -Th