Kubernetes支持持久卷的存儲插件:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/html
一、建立pvc yaml文件
vim pvc.yamlnginx
apiVersion: v1 kind: Pod metadata: name: nginx6 spec: containers: - name: nginx6 image: nginx # 掛在點 volumeMounts: - name: wwwroot mountPath: /usr/share/nginx/html ports: - containerPort: 80 # 掛載來源 volumes: - name: wwwroot # 定義PVC persistentVolumeClaim: # 定義PVC名稱 claimName: my-pvc --- apiVersion: v1 # 使用PVC類型 kind: PersistentVolumeClaim metadata: # 與容器應用PVC相同 name: my-pvc spec: # 定義讀寫權限 accessModes: - ReadWriteMany # 請求資源 resources: requests: # 存儲空間 5G storage: 5Gi
二、建立pv yaml文件
vim pv.yamlvim
apiVersion: v1 # PV類型 kind: PersistentVolume metadata: # PV名稱與PVC相同 name: my-pv spec: # 定義容量 capacity: storage: 5Gi # 讀寫權限 accessModes: - ReadWriteMany # nfs分配網絡存儲 nfs: path: /data/nfs server: 192.168.1.115
三、執行建立pv容器api
kubectl apply -f pv.yaml
四、查看建立pv
kubectl get pvbash
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE # RWX:讀寫模式、Available:爲可用狀態 my-pv 5Gi RWX Retain Available 23s
五、建立pvc容器網絡
kubectl apply -f pvc.yaml
六、查看pvc建立容器
kubectl get podapp
NAME READY STATUS RESTARTS AGE
nginx6 1/1 Running 0 20s
七、查看pv與pvc狀態
kubectl get pv,pvc測試
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE # Bound:已經使用以成綁定裝填 persistentvolume/my-pv 5Gi RWX Retain Bound default/my-pvc 3m44s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE # 以綁定到pv persistentvolumeclaim/my-pvc Bound my-pv 5Gi RWX 78s
八、nfs共享目錄下建立一個index.htmlspa
echo "<h1>xxxxxxxxx</h1>" > /data/nfs/index.html
九、進入容器測試
kubectl exec -it nginx6 bash插件
ls /usr/share/nginx/html
index.html