1. pv pvc
現在測試 glusterfs nfs 可讀可寫, 多個pod綁定到同一個pvc上,可讀可寫。
2. storageclass 分成兩種
(1) 建立pvc, 相當於多個pod綁定在一個pvc上。


pvc的yaml
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: managed-nfs-storage-pvc annotations: volume.beta.kubernetes.io/storage-class: managed-nfs-storage spec: accessModes: - ReadWriteOnce #必須寫ReadWriteOnce,否則報錯。 resources: requests: storage: 5Gi
deployment文件
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nfs-pvc-test spec: replicas: 3 template: metadata: labels: app: nfs-pvc-test spec: containers: - name: nginx image: docker.cinyi.com:443/nginx:alpine ports: - containerPort: 80 volumeMounts: - name: www mountPath: /usr/share/nginx/html volumes: - name: www persistentVolumeClaim: claimName: managed-nfs-storage-pvc --- apiVersion: v1 kind: Service metadata: name: nfs-pvc-test labels: app: nfs-pvc-test spec: type: NodePort ports: - port: 80 selector: app: nfs-pvc-test

(2) 直接引用 storageclass
相當於每個pod都單獨創建pvc,pv


新建statefulset
apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: web spec: serviceName: "nginx1" replicas: 4 volumeClaimTemplates: - metadata: name: test annotations: volume.beta.kubernetes.io/storage-class: "managed-nfs-storage" #此處引用classname spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 2Gi template: metadata: labels: app: nginx1 spec: containers: - name: nginx1 image: docker.cinyi.com:443/senyint/nginx:v.10 volumeMounts: - mountPath: "/mnt" name: test
當使用ceph 塊存儲時, 使用storageclass pvc 時, deployment 副本數寫成多個,會報錯。
