Kubernetes集群安装、配置glusterfs文件系统
2018-03-28 18:57
746 查看
环境介绍:
3台Centos 7.4系统节点,已经部署好Kubernetes,同时复用这3台机器作为gluster存储节点:host | IP | K8s role |
g1-nasp | 12.12.10.11 | master + node |
g3-nasp | 12.12.10.13 | node |
g4-nasp | 12.12.10.14 | node |
安装、配置glusterfs:
在物理主机上采用yum安装的方式,步骤如下:1 在每台物理机上分别安装gluster源及相关组件:$ sudo yum install -y centos-release-gluster
$ sudo yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma2 在每台物理机上分别启动gluster服务,并设置开机启动:$ sudo systemctl start glusterd.service
$ sudo systemctl enable glusterd.service3 在任意一台物理机上(如g1-nasp)配置,将3个节点加入到集群中:$ sudo gluster peer probe g1-nasp
peer probe: success. Probe on localhost not needed
$ sudo gluster peer probe g3-nasp
peer probe: success.
$ sudo gluster peer probe g4-nasp
peer probe: success.可以看到3个节点结果都显示peer probe:success。
4 在任意一个节点(如g4-nasp)查看集群状态:$ sudo gluster peer status
在g4-nasp上可以观察到两个peer。
5 在3个节点分别创建数据存储目录,以home目录下的glusterfs/data为例:$ mkdir -p ~/glusterfs/data6 创建glusterfs磁盘,以创建striped模式的磁盘为例,其他模式请参考:CentOS 7 安装 GlusterFSsudo gluster volume create k8s-volume stripe 3 g1-nasp:/home/shuai/glusterfs/data g3-nasp:/home/shuai/glusterfs/data g4-nasp:/home/shuai/glusterfs/data force此时,文件将会切分为3块,分别存储到各个节点。示意图如下(图片来源:http://www.cnblogs.com/jicki/p/5801712.html)
如上图,一个名为k8s-volume的volume就创建成功了!
7 启动k8s-volume$ sudo gluster volume start k8s-volume8 查看volume状态:$ sudo gluster volume info
9 glusterfs性能调优请参考:Glusterfs调优
至此,glusterfs文件系统就安装、配置完成了。如果在物理主机访问,需要在客户端安装glusterfs和glusters-fuse,并且挂载到物理主机的文件系统。$ sudo yum install -y glusterfs glusterfs-fuse
$ sudo mkdir -p /opt/gfsmnt
$ sudo mount -t glusterfs g1-nasp:k8s-volume /opt/gfsmnt/df查看挂载状态:$ sudo df -h
Kubernetes配置使用glusterfs:
官方文档对配置过程进行了介绍:https://github.com/kubernetes/examples/blob/master/staging/volumes/glusterfs/README.md以下过程可以在kubernetes集群中任意一个可以执行kubectl的节点操作!
1 配置endpoints:$ curl -O https://raw.githubusercontent.com/kubernetes/kubernetes/master/examples/volumes/glusterfs/glusterfs-endpoints.json注意修改其中的ip为集群的实际ip,port任意,不冲突即可。$ kubectl create -f glusterfs-endpoints.json查看endpoints:$ kubectl get ep
2 配置PersistentVolume:
有关pv和pvc可以参考:Kubernetes的的 Persistent Volumes
创建glusterfs-pv.yaml文件,指定storage容量和读写属性,如:apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: "glusterfs-cluster"
path: "k8s-volume"
readOnly: false然后执行:$ kubectl create -f glusterfs-pv.yaml可以查看pv:$ kubectl get pv
3 配置PersistentVolumeClaim:
创建glusterfs-pvc.yaml文件,指定请求资源大小,如:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc001
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 8Gi然后执行:$ kubectl create -f glusterfs-pvc.yaml4 在deployment中挂载pvc:
以创建nginx,把pvc挂载到容器内的/usr/share/nginx/html文件夹为例:
nginx_deployment.yaml文件如下apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-dm
spec:
replicas: 1
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: storage001
mountPath: "/usr/share/nginx/html"
volumes:
- name: storage001
persistentVolumeClaim:
claimName: pvc001然后执行:$ kubectl create -f nginx_deployment.yaml接下来,可以查看是否挂载成功。
首先查看deployment$ kubectl get pods |grep nginx-dm
查看挂载:$ kubectl exec -it nginx-dm-1224537537-r26sp -- df -h |grep k8s-volume
创建文件:$ kubectl exec -it nginx-dm-1224537537-r26sp -- touch /usr/share/nginx/html/123.txt查看文件属性:$ kubectl exec -it nginx-dm-1224537537-r26sp -- ls -lt /usr/share/nginx/html/123.txt
-rw-r--r-- 1 root root 0 Mar 28 10:49 /usr/share/nginx/html/123.txt此时在3台物理主机上都可以看到123.txt文件。
参考:
1. http://www.cnblogs.com/jicki/p/5801712.html2. https://jimmysong.io/kubernetes-handbook/practice/using-glusterfs-for-persistent-storage.html
相关文章推荐
- 集群文件系统GlusterFS安装配置
- GlusterFS分布式集群文件系统安装、配置及性能测试
- Linux高性能集群搭建(2)---NFS共享文件系统安装配置
- glusterfs文件系统安装配置
- 安装配置Lustre集群文件系统
- 集群文件系统GlusterFS详细安装文档
- GlusterFS分布式集群文件系统安装、配置及性能测试
- 集群文件系统 moosefs 安装配置 容灾恢复
- 在glusterFS集群文件系统上手工配置公钥
- 无盘集群的安装配置——内核切根文件系统篇
- GlusterFS分布式集群文件系统安装、配置及性能测试
- 阿里云搭建基于MatlabMPI的集群(六):NFS文件共享系统安装与配置
- GlusterFS集群文件系统研究
- GlusterFS集群文件系统研究
- GlusterFS集群文件系统研究
- Linux高性能集群常用服务简介与配置(二)——NFS(网络文件系统)
- 配置Centos5上使用ACFS集群文件系统
- windows系统:oracle 10g的下载、安装、配置 (提供绝版安装文件下载)
- GlusterFS 集群文件系统
- GlusterFS集群文件系统研究