k8s安装glusterfs
1. 安装与配置glusterfs
节点如下
192.168.0.90 master
192.168.0.91 node01
192.168.0.92 node02
1.1 每个节点安装glusterfs全家桶
yum install -y centos-release-gluster
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
# 启动服务,并添加到开机启动
systemctl start glusterd.service
systemctl enable glusterd.service
1.2 主节点加入其他节点
gluster peer probe node01
gluster peer probe node02
1.3 每个节点创建gfs文件夹
mkdir /root/gfs
1.4 主节点使用默认模式创建卷并启动
gluster volume create k8s_data master:/root/gfs node01:/root/gfs node02:/root/gfs force
gluster volume start k8s_data
可以试验一下是否起作用.
主节点挂载,并创建test_txt文件
mkdir -p /root/test
mount -t glusterfs master:k8s_data /root/test
touch /root/test/test_txt
从节点挂载,并查看
mkdir -p /root/test
mount -t glusterfs master:k8s_data /root/test
ls /root/test
验证完毕后主从取消挂载
umount /root/test
2. 配置k8s使用flusterfs
2.1 创建glusterfs-cluster.yaml
必须使用ip而非hostname
apiVersion: v1
kind: Endpoints
metadata:
name: glusterfs-cluster
subsets:
- addresses:
- ip: 192.168.0.90
ports:
- port: 49152
- addresses:
- ip: 192.168.0.91
ports:
- port: 49152
- addresses:
- ip: 192.168.0.92
ports:
- port: 49152
---
apiVersion: v1
kind: Service
metadata:
name: glusterfs-cluster
spec:
ports:
- port: 49152
加载配置
kubectl apply -f glusterfs-cluster.yaml
2.2 创建glusterfs-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: glusterfs-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: glusterfs-cluster
path: k8s_data
readOnly: false
加载配置
kubectl apply -f glusterfs-pv.yaml
2.3 创建glusterfs-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: glusterfs-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
加载配置
kubectl apply -f glusterfs-pvc.yaml