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: v1
kind: PersistentVolume
metadata:
  name: pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  glusterfs:
    endpoints: "glusterfs-cluster"
    path: "k8s-volume"
    readOnly: false

 


9.新建glusterfs-pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 5Gi

 


kubectl create -f glusterfs-pv.yaml
kubectl create -f glusterfs-pvc.yaml


10.新建test.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: test1
spec:
  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: v1
kind: Service
metadata:
  labels:
    app: test1
  name: test1
  namespace: default
spec:
  selector:
    app: test1
  ports:
    - port: 80
  type: NodePort

 

posted @ 2020-06-02 23:07  $world  阅读(106)  评论(0)    收藏  举报