1:下载gluster服务
mkdir -p /Mon/data1
mkdir -p /Mon/data2
yum install centos-release-gluster
yum install install glusterfs-server -y
systemctl start glusterd
systemctl enable glusterd
2:使用gluster服务
gluster pool list
gluster volume create Shuxia replica 2 k8s-master:/Mon/data1
k8s-master:/Mon/data2 k8s-node:/Mon/data1 k8s-node:/Mon/data2 force
gluster volume start Shuxia
gluster peer probe k8s-node
gluster volume info Shuxia
mount -t glusterfs 192.168.78.132:/Shuxia /mnt
3:Kubernets nginx使用gluster挂载服务
1:创建 gluster-ep.yaml文件
apiVersion: v1
kind: Endpoints
metadata:
name: glusterfs
namespace: default
subsets:
- addresses:
- ip: 192.168.78.132
- ip: 192.168.78.133
ports:
- port: 49152
protocol: TCP
2:创建 gluster-pvc.yaml文件
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: gluster
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Gi
3:创建 gluster-pv.yaml文件
apiVersion: v1
kind: PersistentVolume
metadata:
name: gluster
labels:
type: glusterfs
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: "glusterfs"
path: "Shuxia"
readOnly: false
4:创建 httpd-pod.yaml文件
apiVersion: v1
kind: Pod
metadata:
name: httpd
spec:
containers:
- name: httpd
image: httpd
ports:
- containerPort: 80
hostPort: 80
volumeMounts:
- name: nfs-vol3
mountPath: /usr/local/apache2/htdocs
volumes:
- name: nfs-vol3
persistentVolumeClaim:
claimName: gluster
结果验证
1:查看/mnt下的文件
[root@k8s-master ~]
/mnt/
├── 10.txt
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── 5.txt
├── 6.txt
├── 7.txt
├── 8.txt
├── 9.txt
├── index.html
└── S.sh
2:查看apache服务的默认文件是否有这些文件
root@httpd:/usr/local/apache2/htdocs
/usr/local/apache2/htdocs
root@httpd:/usr/local/apache2/htdocs
1.txt 10.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt S.sh index.html
root@httpd:/usr/local/apache2/htdocs
Gluster
root@httpd:/usr/local/apache2/htdocs
3:外部访问apache服务
[root@k8s-master ~]
Gluster
测试结束
(qq:九七二四三九三二九(972439329)微信:(liang7890234),有哪里不对欢迎指正,大家一起学习交流)
End