iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
DevOps

今天不學遺傳學,跟著Kubernetes種豌豆系列 第 27

Day27. CKA考題練習:設定Pod使用PersistentVolume

  • 分享至 

  • xImage
  •  

題目:建立pod(名稱: ithome-pod-pv),設定使用PersistentVolume(PV)作為儲存,取3Gi,Pod image使用nginx:1.27.1,mountPath: /data;PV(名稱: ithome-pv-volume),容量為10Gi,只能由單一個node做讀寫存取,但不限制pod存取數量


建立具有順序,被依賴的物件先建立:

1. PV:儲存池

  • PV無法使用敘述式指令建立,因此從官網文件取得模板後修改
  • 建立PV: kubectl apply -f ithome-pv-volume.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: ithome-pv-volume
  labels:
    type: local
spec:
  capacity: # 資源量
    storage: 10Gi
  accessModes: #存取模式
    - ReadWriteOnce
  hostPath: # 錨定
    path: "/data"

2. PVC:宣告要從儲存池取多少資源,pod將透過PVC取資源

  • 建立PVC:kubectl apply -f ithome-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ithome-pv-claim
spec: # 規格和PV一致才能配對成功
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
  • 檢查PV、PVC綁定狀態
    • 成功:顯示bound
    • https://ithelp.ithome.com.tw/upload/images/20240831/20168178liiKTsjSM6.png
    • 失敗:誤設定storageclass,導致條件不同配對失敗,狀態顯示為pending
    • https://ithelp.ithome.com.tw/upload/images/20240831/20168178EZZjSJyQ9v.png

3. Pod:最後才建立pod,設定volume

  • 建立pod:kubectl apply -f ithome-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: ithome-pod-pv
  name: ithome-pod-pv
spec:
  volumes: # Volume設定使用PVC
    - name: ithome-storage
      persistentVolumeClaim:
        claimName: ithome-pv-claim
  containers:
  - image: nginx
    name: ithome-pod-pv
    resources: {}
    volumeMounts: # 錨定目錄
      - mountPath: "/data"
        name: ithome-storage
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}
  • 檢查
    https://ithelp.ithome.com.tw/upload/images/20240831/20168178RCadEX2Yru.png

上一篇
Day26. 設定Security context
下一篇
Day28. CKA考題練習:創建多容器的pod
系列文
今天不學遺傳學,跟著Kubernetes種豌豆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言