Kubernetes 靜態PV使用

Kubernetes  靜態PV使用

Kubernetes支持持久卷的存儲插件:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/html

  • 缺點:手動建立pv比較繁瑣、不適合大工程
  • 優勢:小規模使用方便靈活

一、建立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
相關文章
相關標籤/搜索