**阿里云上提供了NAS存储服务,是以NFS的方式实现的,可以直接挂载到Pod中,如果需要自己搭建NFS,请看本章。**
注:在集群外部单独用机器做存储,不要放在集群内部,也可用分布式存储ceph glusterFS等。
**安装服务**
~~~
systemctl stop firewalld && systemctl disable firewalld
systemctl stop iptables && systemctl disable iptables
yum install -y nfs-utils rpcbind
mkdir -p /NFS/data
chmod 777 /NFS/data
vim /etc/exports
/NFS/data 192.168.50.0/24(rw,sync)
~~~
配置文件格式:NFS共享目录 NFS客户端地址(参数1,参数2,参数3……)
需要给宿主机网段的权限,不需要给pod网段的权限。
k8s是先将nfs挂到宿主机,再引用到pod内。
**启动服务**
~~~
systemctl enable rpcbind && systemctl start rpcbind
systemctl enable nfs && systemctl start nfs
exportfs #启动后检查配置情况
~~~
**K8S节点安装nfs-utils**
`yum install -y nfs-utils`
注:必须在每台k8s节点安装nfs-utils, 否则pod会无法启动;
另外:Linux NFS 客户端对于同时发起的NFS请求数量进行了控制,若该参数配置较小,会降低 IO 性能。默认系统为2,最大值为256。您可以使用root用户执行以下命令来提高该参数的值,取得较好的性能。
~~~
echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
echo "options sunrpc tcp_max_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
sysctl -w sunrpc.tcp_slot_table_entries=128
~~~
运行以下命令,查看同时发起的NFS请求数量。
~~~
cat /proc/sys/sunrpc/tcp_slot_table_entries
~~~
**挂载示例yaml**
~~~
volumeMounts:
- mountPath: /usr/share/nginx/html
name: web02
volumes:
- name: web02
nfs:
server: 192.168.50.50
path: /NFS/data/web02
~~~
- 部署介绍
- 一,系统初始化操作
- 二,创建TLS证书
- 三,创建kubeconfig文件
- 四,安装etcd集群
- 五,部署master节点
- 六,部署node节点
- 附,新增node节点
- 七,网络插件calico
- 八,安装DNS组件
- 九,安装dashboard
- 十,服务发布nginx-ingress
- 十一,prometheus监控部署
- 十二,prometheus自定义监控和报警
- 十三,Harbor私有仓库
- 十四,NFS数据持久化
- 其他
- linux相关文档
- centos7.4搭建openvpn
- docker-compose搭建ldap
- docker-compose搭建openvpn
- docker-compose搭建superset
- docker-compose搭建jenkins
