Volume

Volume 代表 Pod 中已命名的磁碟區,Pod 中的任何容器都可以存取該磁碟區。

import "k8s.io/api/core/v1"

Volume

Volume 代表 Pod 中已命名的磁碟區,Pod 中的任何容器都可以存取該磁碟區。


公開的持久性磁碟區

投射

  • configMap (ConfigMapVolumeSource)

    configMap 代表應填入此磁碟區的 configMap

    *將 ConfigMap 改編為磁碟區。

    目標 ConfigMap 的 Data 欄位內容將在磁碟區中呈現為檔案,並使用 Data 欄位中的金鑰作為檔案名稱,除非 items 元素填入了金鑰到路徑的特定對應。ConfigMap 磁碟區支援擁有權管理和 SELinux 重新標籤。*

    • configMap.name (字串)

      參考對象的名稱。此欄位實際上是必填欄位,但由於向後相容性,允許為空。此類型在此處具有空值的執行個體幾乎肯定是錯誤的。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/overview/working-with-objects/names/#names

    • configMap.optional (布林值)

      optional 指定是否必須定義 ConfigMap 或其金鑰

    • configMap.defaultMode (int32)

      defaultMode 是選用的:依預設用於設定建立檔案權限的模式位元。必須是介於 0000 和 0777 之間的八進位值,或介於 0 和 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 需要模式位元的十進位值。預設值為 0644。路徑內的目錄不受此設定的影響。這可能會與影響檔案模式的其他選項 (例如 fsGroup) 衝突,結果可能是設定了其他模式位元。

    • configMap.items ([]KeyToPath)

      Atomic:將在合併期間取代

      items 如果未指定,則參考 ConfigMap 的 Data 欄位中的每個金鑰值組都將投射到磁碟區中,作為檔案,其名稱為金鑰,內容為值。如果指定,則列出的金鑰將投射到指定的路徑中,而未列出的金鑰將不會存在。如果指定的金鑰不存在於 ConfigMap 中,則除非標記為選用,否則磁碟區設定將會錯誤。路徑必須是相對路徑,且不得包含 '..' 路徑或以 '..' 開頭。

  • secret (SecretVolumeSource)

    secret 代表應填入此磁碟區的密鑰。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#secret

    *將密鑰改編為磁碟區。

    目標 Secret 的 Data 欄位內容將在磁碟區中呈現為檔案,並使用 Data 欄位中的金鑰作為檔案名稱。密鑰磁碟區支援擁有權管理和 SELinux 重新標籤。*

    • secret.secretName (字串)

      secretName 是要使用的 Pod 命名空間中密鑰的名稱。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#secret

    • secret.optional (布林值)

      optional 欄位指定是否必須定義密鑰或其金鑰

    • secret.defaultMode (int32)

      defaultMode 是選用的:依預設用於設定建立檔案權限的模式位元。必須是介於 0000 和 0777 之間的八進位值,或介於 0 和 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 需要模式位元的十進位值。預設值為 0644。路徑內的目錄不受此設定的影響。這可能會與影響檔案模式的其他選項 (例如 fsGroup) 衝突,結果可能是設定了其他模式位元。

    • secret.items ([]KeyToPath)

      Atomic:將在合併期間取代

      items 如果未指定,則參考 Secret 的 Data 欄位中的每個金鑰值組都將投射到磁碟區中,作為檔案,其名稱為金鑰,內容為值。如果指定,則列出的金鑰將投射到指定的路徑中,而未列出的金鑰將不會存在。如果指定的金鑰不存在於 Secret 中,則除非標記為選用,否則磁碟區設定將會錯誤。路徑必須是相對路徑,且不得包含 '..' 路徑或以 '..' 開頭。

  • downwardAPI (DownwardAPIVolumeSource)

    downwardAPI 代表應填入此磁碟區的 Pod 相關向下 API

    DownwardAPIVolumeSource 代表包含向下 API 資訊的磁碟區。向下 API 磁碟區支援擁有權管理和 SELinux 重新標籤。

    • downwardAPI.defaultMode (int32)

      選用的:依預設用於建立檔案的模式位元。必須是選用的:依預設用於設定建立檔案權限的模式位元。必須是介於 0000 和 0777 之間的八進位值,或介於 0 和 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 需要模式位元的十進位值。預設值為 0644。路徑內的目錄不受此設定的影響。這可能會與影響檔案模式的其他選項 (例如 fsGroup) 衝突,結果可能是設定了其他模式位元。

    • downwardAPI.items ([]DownwardAPIVolumeFile)

      Atomic:將在合併期間取代

      項目是向下 API 磁碟區檔案的清單

  • projected (ProjectedVolumeSource) (預計)

    用於所有單一資源密碼、ConfigMap 和向下 API 的預計項目

    代表預計磁碟區來源

    • projected.defaultMode (int32) (預計.預設模式)

      defaultMode 是預設用於設定建立檔案權限的模式位元。必須是介於 0000 到 0777 之間的八進位值,或是介於 0 到 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 則需要模式位元的十進位值。路徑中的目錄不受此設定影響。這可能會與影響檔案模式的其他選項衝突,例如 fsGroup,並且結果可能是設定其他模式位元。

    • projected.sources ([]VolumeProjection) (預計.來源)

      Atomic:將在合併期間取代

      sources 是磁碟區預測的清單。此清單中的每個條目處理一個來源。

      可能與其他支援的磁碟區類型一起預測的預測。這些欄位中必須恰好設定一個。

      • projected.sources.clusterTrustBundle (ClusterTrustBundleProjection) (預計.來源.叢集信任套件組合)

        ClusterTrustBundle 允許 Pod 存取 ClusterTrustBundle 物件的 .spec.trustBundle 欄位,以取得自動更新的檔案。

        Alpha 版,由 ClusterTrustBundleProjection 功能閘道控管。

        ClusterTrustBundle 物件可以依名稱選取,或依簽署者名稱與標籤選取器的組合選取。

        Kubelet 會對寫入 Pod 檔案系統的 PEM 內容執行積極的正規化。深奧的 PEM 功能(例如區塊間註解和區塊標頭)會被移除。憑證會被重複資料刪除。檔案中憑證的順序是任意的,而 Kubelet 可能會隨時間變更順序。

        ClusterTrustBundleProjection 描述如何選取一組 ClusterTrustBundle 物件,並將其內容預測到 Pod 檔案系統中。

        • projected.sources.clusterTrustBundle.path (string), required (預計.來源.叢集信任套件組合.路徑) (字串), 必填

          從磁碟區根目錄寫入套件組合的相對路徑。

        • projected.sources.clusterTrustBundle.labelSelector (LabelSelector) (預計.來源.叢集信任套件組合.標籤選取器) (標籤選取器)

          選取所有符合此標籤選取器的 ClusterTrustBundle。僅在設定 signerName 時生效。與 name 互斥。若未設定,則解譯為「不符合任何項目」。若已設定但為空,則解譯為「符合所有項目」。

        • projected.sources.clusterTrustBundle.name (string) (預計.來源.叢集信任套件組合.名稱) (字串)

          依物件名稱選取單一 ClusterTrustBundle。與 signerName 和 labelSelector 互斥。

        • projected.sources.clusterTrustBundle.optional (boolean) (預計.來源.叢集信任套件組合.選用) (布林值)

          若為 true,則在參考的 ClusterTrustBundle 未就緒時,不會封鎖 Pod 啟動。若使用 name,則允許指定的 ClusterTrustBundle 不存在。若使用 signerName,則允許 signerName 和 labelSelector 的組合符合零個 ClusterTrustBundle。

        • projected.sources.clusterTrustBundle.signerName (string) (預計.來源.叢集信任套件組合.簽署者名稱) (字串)

          選取所有符合此簽署者名稱的 ClusterTrustBundle。與 name 互斥。所有選取的 ClusterTrustBundle 的內容將會統一並重複資料刪除。

      • projected.sources.configMap (ConfigMapProjection) (預計.來源.ConfigMap)

        關於要預測的 ConfigMap 資料的 configMap 資訊

        *將 ConfigMap 調整為預計磁碟區。

        目標 ConfigMap 的 Data 欄位的內容將會在預計磁碟區中呈現為檔案,並使用 Data 欄位中的金鑰作為檔案名稱,除非 items 元素填入金鑰到路徑的特定對應。請注意,這與沒有預設模式的 configmap 磁碟區來源相同。*

        • projected.sources.configMap.name (string) (預計.來源.ConfigMap.名稱) (字串)

          參考對象的名稱。此欄位實際上是必填欄位,但由於向後相容性,允許為空。此類型在此處具有空值的執行個體幾乎肯定是錯誤的。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/overview/working-with-objects/names/#names

        • projected.sources.configMap.optional (boolean) (預計.來源.ConfigMap.選用) (布林值)

          optional 指定是否必須定義 ConfigMap 或其金鑰

        • projected.sources.configMap.items ([]KeyToPath) (預計.來源.ConfigMap.項目) ([]KeyToPath)

          Atomic:將在合併期間取代

          items 如果未指定,則參考 ConfigMap 的 Data 欄位中的每個金鑰值組都將投射到磁碟區中,作為檔案,其名稱為金鑰,內容為值。如果指定,則列出的金鑰將投射到指定的路徑中,而未列出的金鑰將不會存在。如果指定的金鑰不存在於 ConfigMap 中,則除非標記為選用,否則磁碟區設定將會錯誤。路徑必須是相對路徑,且不得包含 '..' 路徑或以 '..' 開頭。

      • projected.sources.downwardAPI (DownwardAPIProjection) (預計.來源.向下API)

        關於要預測的 downwardAPI 資料的 downwardAPI 資訊

        代表要預測到預計磁碟區中的向下 API 資訊。請注意,這與沒有預設模式的 downwardAPI 磁碟區來源相同。

      • projected.sources.secret (SecretProjection) (預計.來源.密碼)

        關於要預測的密碼資料的密碼資訊

        *將密碼調整為預計磁碟區。

        目標 Secret 的 Data 欄位的內容將會在預計磁碟區中呈現為檔案,並使用 Data 欄位中的金鑰作為檔案名稱。請注意,這與沒有預設模式的密碼磁碟區來源相同。*

        • projected.sources.secret.name (string) (預計.來源.密碼.名稱) (字串)

          參考對象的名稱。此欄位實際上是必填欄位,但由於向後相容性,允許為空。此類型在此處具有空值的執行個體幾乎肯定是錯誤的。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/overview/working-with-objects/names/#names

        • projected.sources.secret.optional (boolean) (預計.來源.密碼.選用) (布林值)

          選用欄位指定是否必須定義 Secret 或其金鑰

        • projected.sources.secret.items ([]KeyToPath) (預計.來源.密碼.項目) ([]KeyToPath)

          Atomic:將在合併期間取代

          items 若未指定,則參考 Secret 的 Data 欄位中的每個金鑰值組都會預測到磁碟區中,作為檔案,其名稱為金鑰,內容為值。若已指定,則列出的金鑰會預測到指定的路徑中,而未列出的金鑰則不會存在。若指定的金鑰不存在於 Secret 中,則磁碟區設定將會錯誤,除非它被標記為選用。路徑必須是相對路徑,且不得包含 '..' 路徑或以 '..' 開頭。

      • projected.sources.serviceAccountToken (ServiceAccountTokenProjection) (預計.來源.服務帳戶權杖)

        serviceAccountToken 是關於要預測的 serviceAccountToken 資料的資訊

        ServiceAccountTokenProjection 代表預計的服務帳戶權杖磁碟區。此預測可用於將服務帳戶權杖插入 Pod 執行階段檔案系統中,以用於 API (Kubernetes API 伺服器或其他)。

        • projected.sources.serviceAccountToken.path (string), required (預計.來源.服務帳戶權杖.路徑) (字串), 必填

          path 是相對於檔案掛載點的路徑,用於將權杖預測到其中。

        • projected.sources.serviceAccountToken.audience (string) (預計.來源.服務帳戶權杖.對象) (字串)

          audience 是權杖的預期對象。權杖的接收者必須使用權杖對象中指定的識別碼來識別自己,否則應拒絕權杖。對象預設為 apiserver 的識別碼。

        • projected.sources.serviceAccountToken.expirationSeconds (int64) (預計.來源.服務帳戶權杖.到期秒數) (int64)

          expirationSeconds 是要求的服務帳戶權杖有效期限。當權杖接近到期時,kubelet 磁碟區外掛程式會主動輪換服務帳戶權杖。若權杖的有效期已超過 80% 或已超過 24 小時,kubelet 會開始嘗試輪換權杖。預設為 1 小時,且必須至少為 10 分鐘。

本機/暫存目錄

持久性磁碟區

  • awsElasticBlockStore (AWSElasticBlockStoreVolumeSource) (awsElasticBlockStore)

    awsElasticBlockStore 代表連接到 kubelet 主機,然後公開給 Pod 的 AWS 磁碟資源。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#awselasticblockstore

    *代表 AWS 中的持久磁碟資源。

    AWS EBS 磁碟必須在掛載到容器之前存在。磁碟也必須與 kubelet 位於相同的 AWS 區域中。AWS EBS 磁碟只能掛載為讀/寫一次。AWS EBS 磁碟區支援擁有權管理和 SELinux 重新標記。*

    • awsElasticBlockStore.volumeID (string), required (awsElasticBlockStore.volumeID) (字串), 必填

      volumeID 是 AWS (Amazon EBS 磁碟區) 中持久磁碟資源的唯一 ID。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#awselasticblockstore

    • awsElasticBlockStore.fsType (string) (awsElasticBlockStore.fsType) (字串)

      fsType 是您要掛載的磁碟區的檔案系統類型。提示:請確保主機作業系統支援檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。若未指定,則隱含推斷為「ext4」。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#awselasticblockstore

    • awsElasticBlockStore.partition (int32) (awsElasticBlockStore.分割區) (int32)

      partition 是您要掛載的磁碟區中的分割區。若省略,則預設為依磁碟區名稱掛載。範例:對於磁碟區 /dev/sda1,您將分割區指定為「1」。同樣地,/dev/sda 的磁碟區分割區為「0」(或者您可以將屬性留空)。

    • awsElasticBlockStore.readOnly (boolean) (awsElasticBlockStore.唯讀) (布林值)

      readOnly 值 true 將強制 VolumeMounts 中的 readOnly 設定。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#awselasticblockstore

  • azureDisk (AzureDiskVolumeSource) (azureDisk)

    azureDisk 代表主機上的 Azure 資料磁碟掛載,並繫結掛載到 Pod。

    AzureDisk 代表主機上的 Azure 資料磁碟掛載,並繫結掛載到 Pod。

    • azureDisk.diskName (string), required (azureDisk.diskName) (字串), 必填

      diskName 是 Blob 儲存體中資料磁碟的名稱

    • azureDisk.diskURI (string), required (azureDisk.diskURI) (字串), 必填

      diskURI 是 Blob 儲存體中資料磁碟的 URI

    • azureDisk.cachingMode (string) (azureDisk.快取模式) (字串)

      cachingMode 是主機快取模式:None、Read Only、Read Write。

    • azureDisk.fsType (string) (azureDisk.fsType) (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。若未指定,則隱含推斷為「ext4」。

    • azureDisk.kind (string) (azureDisk.種類) (字串)

      kind 預期值為 Shared:每個儲存體帳戶多個 Blob 磁碟 Dedicated:每個儲存體帳戶單一 Blob 磁碟 Managed:Azure 受管理資料磁碟 (僅在受管理可用性集中)。預設為 shared

    • azureDisk.readOnly (boolean) (azureDisk.唯讀) (布林值)

      readOnly 預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

  • azureFile (AzureFileVolumeSource) (azureFile)

    azureFile 代表主機上的 Azure 檔案服務掛載,並繫結掛載到 Pod。

    AzureFile 代表主機上的 Azure 檔案服務掛載,並繫結掛載到 Pod。

    • azureFile.secretName (string), required (azureFile.secretName) (字串), 必填

      secretName 是包含 Azure 儲存體帳戶名稱和金鑰的密碼名稱

    • azureFile.shareName (string), required (azureFile.shareName) (字串), 必填

      shareName 是 Azure 共用名稱

    • azureFile.readOnly (boolean) (azureFile.唯讀) (布林值)

      readOnly 預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

  • cephfs (CephFSVolumeSource) (cephfs)

    cephFS 代表主機上的 Ceph FS 掛載,與 Pod 的生命週期共用

    代表持續 Pod 生命週期的 Ceph 檔案系統掛載。Cephfs 磁碟區不支援擁有權管理或 SELinux 重新標記。

  • cinder (CinderVolumeSource) (cinder)

    cinder 代表連接並掛載在 kubelet 主機上的 cinder 磁碟區。更多資訊:https://examples.k8s.io/mysql-cinder-pd/README.md

    代表 Openstack 中的 cinder 磁碟區資源。Cinder 磁碟區必須在掛載到容器之前存在。磁碟區也必須與 kubelet 位於相同的區域中。Cinder 磁碟區支援擁有權管理和 SELinux 重新標記。

  • csi (CSIVolumeSource) (csi)

    csi (容器儲存介面) 代表由特定外部 CSI 驅動程式處理的暫時性儲存體 (Beta 功能)。

    代表要掛載的磁碟區的來源位置,由外部 CSI 驅動程式管理

    • csi.driver (string), required (csi.driver) (字串), 必填

      driver 是處理此磁碟區的 CSI 驅動程式名稱。請諮詢您的管理員,以取得叢集中註冊的正確名稱。

    • csi.fsType (string) (csi.fsType) (字串)

      fsType 要掛載。範例:「ext4」、「xfs」、「ntfs」。若未提供,則空值會傳遞至相關聯的 CSI 驅動程式,該驅動程式將判斷要套用的預設檔案系統。

    • csi.nodePublishSecretRef (LocalObjectReference) (csi.nodePublishSecretRef) (LocalObjectReference)

      nodePublishSecretRef 是對密碼物件的參考,其中包含要傳遞至 CSI 驅動程式的敏感資訊,以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 呼叫。此欄位為選用項目,若不需要密碼,則可能為空。若密碼物件包含多個密碼,則會傳遞所有密碼參考。

    • csi.readOnly (boolean) (csi.唯讀) (布林值)

      readOnly 指定磁碟區的唯讀組態。預設為 false (讀/寫)。

    • csi.volumeAttributes (map[string]string) (csi.volumeAttributes) (map[string]string)

      volumeAttributes 儲存傳遞至 CSI 驅動程式的驅動程式特定屬性。請參閱驅動程式的文件以取得支援的值。

  • ephemeral (EphemeralVolumeSource) (暫時性)

    ephemeral 代表由叢集儲存體驅動程式處理的磁碟區。磁碟區的生命週期與定義它的 Pod 繫結 - 它會在 Pod 啟動之前建立,並在移除 Pod 時刪除。

    在下列情況下使用此功能:a) 磁碟區僅在 Pod 執行時需要、b) 需要一般磁碟區的功能,例如從快照還原或容量追蹤、c) 儲存體驅動程式是透過儲存體類別指定,以及 d) 儲存體驅動程式支援透過 PersistentVolumeClaim 進行動態磁碟區佈建 (如需此磁碟區類型與 PersistentVolumeClaim 之間連線的更多資訊,請參閱 EphemeralVolumeSource)。

    對於持續時間超過個別 Pod 生命週期的磁碟區,請使用 PersistentVolumeClaim 或其中一個廠商特定的 API。

    若 CSI 驅動程式旨在以這種方式使用,請將 CSI 用於輕量型本機暫時性磁碟區 - 如需更多資訊,請參閱驅動程式的文件。

    Pod 可以同時使用兩種暫時性磁碟區和持久性磁碟區。

    代表由一般儲存體驅動程式處理的暫時性磁碟區。

    • ephemeral.volumeClaimTemplate (PersistentVolumeClaimTemplate) (暫時性.磁碟區宣告範本) (PersistentVolumeClaimTemplate)

      將用於建立獨立的 PVC 以佈建磁碟區。內嵌此 EphemeralVolumeSource 的 Pod 將會是 PVC 的擁有者,亦即 PVC 將會與 Pod 一起刪除。PVC 的名稱將會是 \<pod name>-\<volume name>,其中 \<volume name> 是來自 PodSpec.Volumes 陣列條目的名稱。若串連名稱對 PVC 無效 (例如,太長),Pod 驗證將會拒絕 Pod。

      名稱為該名稱且非 Pod 擁有的現有 PVC 將不會用於 Pod,以避免錯誤地使用不相關的磁碟區。然後,Pod 的啟動會遭到封鎖,直到移除不相關的 PVC 為止。若預期 Pod 使用此類預先建立的 PVC,則一旦 Pod 存在,就必須使用 Pod 的擁有者參考來更新 PVC。通常這應該不是必要的,但在手動重建損壞的叢集時可能很有用。

      此欄位為唯讀,且 Kubernetes 在建立 PVC 後不會對其進行任何變更。

      必填,不得為 nil。

      PersistentVolumeClaimTemplate 用於產生 PersistentVolumeClaim 物件,作為 EphemeralVolumeSource 的一部分。

      • ephemeral.volumeClaimTemplate.spec (PersistentVolumeClaimSpec), required (暫時性.磁碟區宣告範本.規格) (PersistentVolumeClaimSpec), 必填

        PersistentVolumeClaim 的規格。整個內容會原封不動地複製到由此範本建立的 PVC 中。與 PersistentVolumeClaim 中相同的欄位在此處也有效。

      • ephemeral.volumeClaimTemplate.metadata (ObjectMeta) (暫時性.磁碟區宣告範本.中繼資料) (ObjectMeta)

        可能包含在建立 PVC 時將複製到其中的標籤和註解。不允許其他欄位,且會在驗證期間遭到拒絕。

  • fc (FCVolumeSource) (fc)

    fc 代表連接到 kubelet 主機,然後公開給 Pod 的光纖通道資源。

    代表光纖通道磁碟區。光纖通道磁碟區只能掛載為讀/寫一次。光纖通道磁碟區支援擁有權管理和 SELinux 重新標記。

    • fc.fsType (string) (fc.fsType) (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。若未指定,則隱含推斷為「ext4」。

    • fc.lun (int32) (fc.lun) (int32)

      lun 是選用項目:FC 目標 lun 編號

    • fc.readOnly (boolean) (fc.唯讀) (布林值)

      readOnly 是選用項目:預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

    • fc.targetWWNs ([]string) (fc.targetWWNs) ([]字串)

      Atomic:將在合併期間取代

      targetWWNs 是選用項目:FC 目標全球通用名稱 (WWN)

    • fc.wwids ([]string) (fc.wwids) ([]字串)

      Atomic:將在合併期間取代

      wwids 選用項目:FC 磁碟區全球通用識別碼 (WWID)。必須設定 wwids 或 targetWWNs 與 lun 的組合,但不能同時設定兩者。

  • flexVolume (FlexVolumeSource) (flexVolume)

    flexVolume 代表使用以 exec 為基礎的外掛程式佈建/連接的通用磁碟區資源。

    FlexVolume 代表使用以 exec 為基礎的外掛程式佈建/連接的通用磁碟區資源。

    • flexVolume.driver (string), required (flexVolume.driver) (字串), 必填

      driver 是用於此磁碟區的驅動程式名稱。

    • flexVolume.fsType (string) (flexVolume.fsType) (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。預設檔案系統取決於 FlexVolume 指令碼。

    • flexVolume.options (map[string]string) (flexVolume.選項) (map[string]string)

      options 是選用項目:此欄位包含任何額外的命令選項 (若有)。

    • flexVolume.readOnly (boolean) (flexVolume.唯讀) (布林值)

      readOnly 是選用項目:預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

    • flexVolume.secretRef (LocalObjectReference) (flexVolume.secretRef) (LocalObjectReference)

      secretRef 是選用項目:secretRef 是對密碼物件的參考,其中包含要傳遞至外掛程式指令碼的敏感資訊。若未指定密碼物件,則可能為空。若密碼物件包含多個密碼,則會將所有密碼傳遞至外掛程式指令碼。

  • flocker (FlockerVolumeSource) (flocker)

    flocker 代表連接到 kubelet 主機的 Flocker 磁碟區。這取決於 Flocker 控制服務是否正在執行

    代表由 Flocker 代理程式掛載的 Flocker 磁碟區。datasetName 和 datasetUUID 應該只設定其中一個。Flocker 磁碟區不支援擁有權管理或 SELinux 重新標記。

    • flocker.datasetName (string) (flocker.datasetName) (字串)

      datasetName 是儲存為中繼資料的資料集名稱 -> Flocker 的資料集名稱應視為已淘汰

    • flocker.datasetUUID (string) (flocker.datasetUUID) (字串)

      datasetUUID 是資料集的 UUID。這是 Flocker 資料集的唯一識別碼

  • gcePersistentDisk (GCEPersistentDiskVolumeSource) (gcePersistentDisk)

    gcePersistentDisk 代表連接到 kubelet 主機,然後公開給 Pod 的 GCE 磁碟資源。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#gcepersistentdisk

    *代表 Google Compute Engine 中的持久磁碟資源。

    GCE PD 必須在掛載到容器之前存在。磁碟也必須與 kubelet 位於相同的 GCE 專案和區域中。GCE PD 只能掛載為讀/寫一次或唯讀多次。GCE PD 支援擁有權管理和 SELinux 重新標記。*

  • glusterfs (GlusterfsVolumeSource) (glusterfs)

    glusterfs 代表主機上的 Glusterfs 掛載,與 Pod 的生命週期共用。更多資訊:https://examples.k8s.io/volumes/glusterfs/README.md

    代表持續 Pod 生命週期的 Glusterfs 掛載。Glusterfs 磁碟區不支援擁有權管理或 SELinux 重新標記。

  • iscsi (ISCSIVolumeSource) (iscsi)

    iscsi 代表連接到 kubelet 主機,然後公開給 Pod 的 ISCSI 磁碟資源。更多資訊:https://examples.k8s.io/volumes/iscsi/README.md

    代表 ISCSI 磁碟。ISCSI 磁碟區只能掛載為讀/寫一次。ISCSI 磁碟區支援擁有權管理和 SELinux 重新標記。

    • iscsi.iqn (string), required (iscsi.iqn) (字串), 必填

      iqn 是目標 iSCSI Qualified Name。

    • iscsi.lun (int32), required (iscsi.lun) (int32), 必填

      lun 代表 iSCSI 目標 Lun 編號。

    • iscsi.targetPortal (string), required (iscsi.targetPortal) (字串), 必填

      targetPortal 是 iSCSI 目標入口網站。入口網站是 IP 或 ip_addr:port,若連接埠不是預設值 (通常為 TCP 連接埠 860 和 3260)。

    • iscsi.chapAuthDiscovery (boolean) (iscsi.chapAuthDiscovery) (布林值)

      chapAuthDiscovery 定義是否支援 iSCSI Discovery CHAP 驗證

    • iscsi.chapAuthSession (boolean) (iscsi.chapAuthSession) (布林值)

      chapAuthSession 定義是否支援 iSCSI Session CHAP 驗證

    • iscsi.fsType (string) (iscsi.fsType) (字串)

      fsType 是您要掛載的磁碟區的檔案系統類型。提示:請確保主機作業系統支援檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。若未指定,則隱含推斷為「ext4」。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#iscsi

    • iscsi.initiatorName (string) (iscsi.initiatorName) (字串)

      initiatorName 是自訂 iSCSI Initiator Name。若同時使用 iscsiInterface 指定 initiatorName,則會為連線建立新的 iSCSI 介面 <target portal>:<volume name>。

    • iscsi.iscsiInterface (string) (iscsi.iscsiInterface) (字串)

      iscsiInterface 是使用 iSCSI 傳輸的介面名稱。預設值為 'default' (tcp)。

    • iscsi.portals ([]string) (iscsi.portals) ([]字串)

      Atomic:將在合併期間取代

      portals 是 iSCSI 目標入口網站清單。入口網站是 IP 或 ip_addr:port,若連接埠不是預設值 (通常為 TCP 連接埠 860 和 3260)。

    • iscsi.readOnly (boolean) (iscsi.唯讀) (布林值)

      readOnly 此處將強制 VolumeMounts 中的 ReadOnly 設定。預設值為 false。

    • iscsi.secretRef (LocalObjectReference) (iscsi.secretRef) (LocalObjectReference)

      secretRef 是 iSCSI 目標和啟動器驗證的 CHAP 密碼

  • image (ImageVolumeSource) (映像檔)

    image 代表提取並掛載在 kubelet 主機上的 OCI 物件 (容器映像檔或成品)。磁碟區會在 Pod 啟動時解析,取決於提供的 PullPolicy 值

    • Always:kubelet 永遠嘗試提取參考。若提取失敗,容器建立將會失敗。- Never:kubelet 永遠不會提取參考,且僅使用本機映像檔或成品。若參考不存在,容器建立將會失敗。- IfNotPresent:若磁碟上尚未存在參考,kubelet 會提取。若參考不存在且提取失敗,容器建立將會失敗。

    若 Pod 遭到刪除並重新建立,則磁碟區會重新解析,這表示新的遠端內容將會在 Pod 重新建立時可用。在 Pod 啟動期間解析或提取映像檔失敗將會封鎖容器啟動,並可能增加顯著的延遲。失敗將會使用一般磁碟區退避重試,並會在 Pod 原因和訊息中報告。可由此磁碟區掛載的物件類型由主機上的容器執行階段實作定義,且至少必須包含容器映像檔欄位支援的所有有效類型。OCI 物件會透過合併資訊清單層,以與容器映像檔相同的方式掛載在單一目錄 (spec.containers[*].volumeMounts.mountPath) 中。磁碟區將會以唯讀 (ro) 和不可執行檔案 (noexec) 掛載。容器的子路徑掛載不受支援 (spec.containers[*].volumeMounts.subpath)。欄位 spec.securityContext.fsGroupChangePolicy 對此磁碟區類型沒有影響。

    ImageVolumeSource 代表映像檔磁碟區資源。

    • image.pullPolicy (string) (映像檔.提取原則) (字串)

      提取 OCI 物件的原則。可能的值為:Always:kubelet 永遠嘗試提取參考。若提取失敗,容器建立將會失敗。Never:kubelet 永遠不會提取參考,且僅使用本機映像檔或成品。若參考不存在,容器建立將會失敗。IfNotPresent:若磁碟上尚未存在參考,kubelet 會提取。若參考不存在且提取失敗,容器建立將會失敗。若指定 :latest 標籤,則預設為 Always,否則預設為 IfNotPresent。

    • image.reference (string) (映像檔.參考) (字串)

      必填:要使用的映像檔或成品參考。行為與 pod.spec.containers[*].image 相同。提取密碼將會以與容器映像檔相同的方式組裝,方法是查閱節點認證、SA 映像檔提取密碼和 Pod 規格映像檔提取密碼。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/containers/images 此欄位為選用項目,允許較高層級的組態管理預設或覆寫工作負載控制器 (例如 Deployments 和 StatefulSets) 中的容器映像檔。

  • nfs (NFSVolumeSource) (nfs)

    nfs 代表主機上的 NFS 掛載,與 Pod 的生命週期共用。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/storage/volumes#nfs

    代表持續 Pod 生命週期的 NFS 掛載。NFS 磁碟區不支援擁有權管理或 SELinux 重新標記。

  • photonPersistentDisk (PhotonPersistentDiskVolumeSource)

    photonPersistentDisk 代表連接並掛載在 kubelet 主機上的 PhotonController 持續磁碟

    代表 Photon Controller 持續磁碟資源。

    • photonPersistentDisk.pdID (字串),必填

      pdID 是識別 Photon Controller 持續磁碟的 ID

    • photonPersistentDisk.fsType (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。若未指定,則隱含推斷為「ext4」。

  • portworxVolume (PortworxVolumeSource)

    portworxVolume 代表連接並掛載在 kubelet 主機上的 Portworx 磁碟區

    PortworxVolumeSource 代表 Portworx 磁碟區資源。

    • portworxVolume.volumeID (字串),必填

      volumeID 唯一識別 Portworx 磁碟區

    • portworxVolume.fsType (字串)

      fSType 代表要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。例如:"ext4"、"xfs"。如果未指定,則隱含推斷為 "ext4"。

    • portworxVolume.readOnly (布林值)

      readOnly 預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

  • quobyte (QuobyteVolumeSource)

    quobyte 代表主機上與 Pod 生命周期共用的 Quobyte 掛載

    代表持續 Pod 生命週期的 Quobyte 掛載。Quobyte 磁碟區不支援擁有權管理或 SELinux 重新標記。

    • quobyte.registry (字串),必填

      registry 代表單個或多個 Quobyte Registry 服務,指定為字串,格式為主機:埠對 (多個條目以逗號分隔),作為磁碟區的中央登錄檔

    • quobyte.volume (字串),必填

      volume 是一個字串,通過名稱引用已建立的 Quobyte 磁碟區。

    • quobyte.group (字串)

      將磁碟區訪問映射到的群組。預設為無群組

    • quobyte.readOnly (布林值)

      此處的 readOnly 將強制 Quobyte 磁碟區以唯讀權限掛載。預設值為 false。

    • quobyte.tenant (字串)

      在後端擁有給定 Quobyte 磁碟區的租戶。與動態佈建的 Quobyte 磁碟區一起使用,值由外掛程式設定

    • quobyte.user (字串)

      將磁碟區訪問映射到的使用者。預設為服務帳戶使用者

  • rbd (RBDVolumeSource)

    rbd 代表主機上與 Pod 生命周期共用的 Rados Block Device 掛載。更多資訊:https://examples.k8s.io/volumes/rbd/README.md

    代表持續 Pod 生命週期的 Rados Block Device 掛載。RBD 磁碟區支援擁有權管理和 SELinux 重新標記。

  • scaleIO (ScaleIOVolumeSource)

    scaleIO 代表連接並掛載在 Kubernetes 節點上的 ScaleIO 持續磁碟區。

    ScaleIOVolumeSource 代表 ScaleIO 持續磁碟區

    • scaleIO.gateway (字串),必填

      gateway 是 ScaleIO API Gateway 的主機位址。

    • scaleIO.secretRef (LocalObjectReference),必填

      secretRef 引用 ScaleIO 使用者和其他敏感資訊的密鑰。如果未提供,登入操作將失敗。

    • scaleIO.system (字串),必填

      system 是 ScaleIO 中配置的儲存系統名稱。

    • scaleIO.fsType (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。例如:"ext4"、"xfs"、"ntfs"。預設值為 "xfs"。

    • scaleIO.protectionDomain (字串)

      protectionDomain 是已配置儲存的 ScaleIO 保護域名稱。

    • scaleIO.readOnly (布林值)

      readOnly 預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

    • scaleIO.sslEnabled (布林值)

      sslEnabled 旗標啟用/停用與 Gateway 的 SSL 通訊,預設值為 false

    • scaleIO.storageMode (字串)

      storageMode 指示磁碟區的儲存應為 ThickProvisioned 或 ThinProvisioned。預設值為 ThinProvisioned。

    • scaleIO.storagePool (字串)

      storagePool 是與保護域關聯的 ScaleIO 儲存池。

    • scaleIO.volumeName (字串)

      volumeName 是 ScaleIO 系統中已建立且與此磁碟區來源關聯的磁碟區名稱。

  • storageos (StorageOSVolumeSource)

    storageOS 代表連接並掛載在 Kubernetes 節點上的 StorageOS 磁碟區。

    StorageOSVolumeSource 代表 StorageOS 持續磁碟區資源。

    • storageos.fsType (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。範例:「ext4」、「xfs」、「ntfs」。若未指定,則隱含推斷為「ext4」。

    • storageos.readOnly (布林值)

      readOnly 預設為 false (讀/寫)。此處的 ReadOnly 將強制 VolumeMounts 中的 ReadOnly 設定。

    • storageos.secretRef (LocalObjectReference)

      secretRef 指定用於取得 StorageOS API 憑證的密鑰。如果未指定,將嘗試預設值。

    • storageos.volumeName (字串)

      volumeName 是 StorageOS 磁碟區的人工可讀名稱。磁碟區名稱僅在命名空間內是唯一的。

    • storageos.volumeNamespace (字串)

      volumeNamespace 指定 StorageOS 中磁碟區的範圍。如果未指定命名空間,則將使用 Pod 的命名空間。這允許 Kubernetes 名稱範圍劃分在 StorageOS 內鏡像,以實現更緊密的整合。將 VolumeName 設定為任何名稱以覆寫預設行為。如果您未使用 StorageOS 內的命名空間,則設定為 "default"。StorageOS 中不存在的命名空間將被建立。

  • vsphereVolume (VsphereVirtualDiskVolumeSource)

    vsphereVolume 代表連接並掛載在 kubelet 主機上的 vSphere 磁碟區

    代表 vSphere 磁碟區資源。

    • vsphereVolume.volumePath (字串),必填

      volumePath 是識別 vSphere 磁碟區 vmdk 的路徑

    • vsphereVolume.fsType (字串)

      fsType 是要掛載的檔案系統類型。必須是主機作業系統支援的檔案系統類型。例如:"ext4"、"xfs"、"ntfs"。如果未指定,則隱含推斷為 "ext4"。

    • vsphereVolume.storagePolicyID (字串)

      storagePolicyID 是與 StoragePolicyName 關聯的儲存策略式管理 (SPBM) 設定檔 ID。

    • vsphereVolume.storagePolicyName (字串)

      storagePolicyName 是儲存策略式管理 (SPBM) 設定檔名稱。

已棄用

  • gitRepo (GitRepoVolumeSource)

    gitRepo 代表特定修訂版本的 git 儲存庫。已棄用:GitRepo 已棄用。若要使用 git 儲存庫佈建容器,請將 EmptyDir 掛載到使用 git 克隆儲存庫的 InitContainer 中,然後將 EmptyDir 掛載到 Pod 的容器中。

    *代表使用 git 儲存庫內容填充的磁碟區。Git 儲存庫磁碟區不支援擁有權管理。Git 儲存庫磁碟區支援 SELinux 重新標記。

    已棄用:GitRepo 已棄用。若要使用 git 儲存庫佈建容器,請將 EmptyDir 掛載到使用 git 克隆儲存庫的 InitContainer 中,然後將 EmptyDir 掛載到 Pod 的容器中。*

    • gitRepo.repository (字串),必填

      repository 是 URL

    • gitRepo.directory (字串)

      directory 是目標目錄名稱。不得包含或以 '..' 開頭。如果提供 '.',則磁碟區目錄將為 git 儲存庫。否則,如果指定,則磁碟區將在具有給定名稱的子目錄中包含 git 儲存庫。

    • gitRepo.revision (字串)

      revision 是指定修訂版本的提交雜湊值。

DownwardAPIVolumeFile

DownwardAPIVolumeFile 代表用於建立包含 Pod 欄位的檔案的資訊


  • path (字串),必填

    必填:Path 是要建立的檔案的相對路徑名稱。不得為絕對路徑或包含 '..' 路徑。必須是 utf-8 編碼。相對路徑的第一個項目不得以 '..' 開頭

  • fieldRef (ObjectFieldSelector)

    必填:選取 Pod 的欄位:僅支援 annotations、labels、name、namespace 和 uid。

  • mode (int32)

    選用:用於設定此檔案權限的模式位元,必須是介於 0000 和 0777 之間的八進位值,或介於 0 和 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 要求模式位元的十進位值。如果未指定,將使用磁碟區 defaultMode。這可能與影響檔案模式的其他選項(如 fsGroup)衝突,並且結果可能是設定了其他模式位元。

  • resourceFieldRef (ResourceFieldSelector)

    選取容器的資源:目前僅支援資源限制和請求 (limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

KeyToPath

將字串金鑰映射到磁碟區內的路徑。


  • key (字串),必填

    key 是要投影的金鑰。

  • path (字串),必填

    path 是要將金鑰映射到的檔案的相對路徑。不得為絕對路徑。不得包含路徑元素 '..'。不得以字串 '..' 開頭。

  • mode (int32)

    mode 是選用:用於設定此檔案權限的模式位元。必須是介於 0000 和 0777 之間的八進位值,或介於 0 和 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 要求模式位元的十進位值。如果未指定,將使用磁碟區 defaultMode。這可能與影響檔案模式的其他選項(如 fsGroup)衝突,並且結果可能是設定了其他模式位元。

此頁面為自動產生。

如果您計劃報告此頁面的問題,請在您的問題描述中提及該頁面是自動產生的。修復可能需要在 Kubernetes 專案中的其他位置進行。

上次修改時間為 2024 年 8 月 24 日下午 10:29 PST:更新 v1.31 的自動產生 API 參考 (890b36a496)