gluster存储
1.准备2台服务器,/etc/hosts的内容如下
10.47.92.186 master-186
10.46.76.31 node-31
2.安装glusterfs
yum install centos-release-gluster -y
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma glusterfs-geo-replication glusterfs-devel
3.启动
systemctl enable glusterd
systemctl start glusterd
gluster peer probe node-31
4.添加gluster volume
gluster volume create k8s-volume replica 2 master-186:/app/data/ node-31:/app/data/
gluster volume start k8s-volume
gluster volume info
5.删除gluster volume
gluster volume stop k8s-volume
gluster volume delete k8s-volume
6.创建glusterfs-endpoints.json
{ "kind": "Endpoints", "apiVersion": "v1", "metadata": { "name": "glusterfs-cluster" }, "subsets": [ { "addresses": [ { "ip": "10.47.92.186" } ], "ports": [ { "port": 1 } ] }, { "addresses": [ { "ip": "10.46.76.31" } ], "ports": [ { "port": 1 } ] } ]} |
7.创建glusterfs-service.json
{ "kind": "Service", "apiVersion": "v1", "metadata": { "name": "glusterfs-cluster" }, "spec": { "ports": [ {"port": 1} ] }} |
kubectl create -f glusterfs-endpoints.json
kubectl create -f glusterfs-service.json
8.新建glusterfs-pv.yaml
apiVersion: v1kind: PersistentVolumemetadata: name: pvspec: capacity: storage: 10Gi accessModes: - ReadWriteMany glusterfs: endpoints: "glusterfs-cluster" path: "k8s-volume" readOnly: false |
9.新建glusterfs-pvc.yaml
apiVersion: v1kind: PersistentVolumeClaimmetadata: name: pvcspec: accessModes: - ReadWriteMany resources: requests: storage: 5Gi |
kubectl create -f glusterfs-pv.yaml
kubectl create -f glusterfs-pvc.yaml
10.新建test.yaml
apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: test1spec: replicas: 1 template: metadata: labels: app: test1 spec: containers: - name: test1 image: nginx volumeMounts: - name: gs mountPath: /usr/share/nginx/html volumes: - name: gs persistentVolumeClaim: claimName: pvc nodeSelector: kubernetes.io/hostname: node-194---apiVersion: v1kind: Servicemetadata: labels: app: test1 name: test1 namespace: defaultspec: selector: app: test1 ports: - port: 80 type: NodePort |
浙公网安备 33010602011771号