在 Pod 中使用映像檔 Volume

功能狀態: Kubernetes v1.31 [alpha] (預設為啟用:false)

本頁說明如何使用映像檔 Volume 設定 Pod。這可讓您將 OCI 登錄檔中的內容掛載到容器內。

準備開始

您需要有一個 Kubernetes 叢集,而且必須將 kubectl 命令列工具設定為與您的叢集通訊。建議在至少有兩個節點且未充當控制平面主機的叢集上執行本教學課程。如果您還沒有叢集,可以使用 minikube 建立一個,或者您可以使用以下 Kubernetes 實驗環境

您的 Kubernetes 伺服器必須是 v1.31 或更新版本。若要檢查版本,請輸入 kubectl version

  • 容器執行期需要支援映像檔 Volume 功能
  • 您需要在主機中執行指令
  • 您需要能夠執行進入 Pod
  • 您需要啟用 ImageVolume 功能閘道

執行使用映像檔 Volume 的 Pod

Pod 的映像檔 Volume 透過將 .specvolumes.[*].image 欄位設定為有效的參考,並在容器的 volumeMounts 中使用它來啟用。例如

apiVersion: v1
kind: Pod
metadata:
  name: image-volume
spec:
  containers:
  - name: shell
    command: ["sleep", "infinity"]
    image: debian
    volumeMounts:
    - name: volume
      mountPath: /volume
  volumes:
  - name: volume
    image:
      reference: quay.io/crio/artifact:v1
      pullPolicy: IfNotPresent
  1. 在您的叢集上建立 Pod

    kubectl apply -f https://k8s.io/examples/pods/image-volumes.yaml
    
  2. 附加到容器

    kubectl attach -it image-volume bash
    
  3. 檢查 Volume 中檔案的內容

    cat /volume/dir/file
    

    輸出結果會類似於:

    1
    

    您也可以檢查不同路徑下的另一個檔案

    cat /volume/file
    

    輸出結果會類似於:

    2
    

延伸閱讀

上次修改時間為 2024 年 8 月 22 日下午 6:04 PST:修訂 image-volumes 中的步驟描述 (65ce82dd0b)