Volume
import "k8s.io/api/core/v1"
Volume
卷表示 Pod 中的命名卷,Pod 中的任何容器都可以访问它。
名称(字符串),必填
卷的名称。必须是 DNS_LABEL 并在 Pod 中唯一。更多信息:https://kubernetes.top/docs/concepts/overview/working-with-objects/names/#names
公开的持久卷
persistentVolumeClaim (PersistentVolumeClaimVolumeSource)
persistentVolumeClaimVolumeSource 表示对同一命名空间中 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.top/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
PersistentVolumeClaimVolumeSource 引用同一命名空间中用户的 PVC。此卷查找绑定的 PV 并为 Pod 挂载该卷。PersistentVolumeClaimVolumeSource 本质上是其他人(系统)拥有的另一种卷类型的包装器。
persistentVolumeClaim.claimName (string), 必填
claimName 是与使用此卷的 Pod 位于同一命名空间中的 PersistentVolumeClaim 的名称。更多信息:https://kubernetes.top/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
persistentVolumeClaim.readOnly (布尔值)
readOnly 将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。
投影
configMap (ConfigMapVolumeSource)
configMap 表示应该填充此卷的 configMap
目标 ConfigMap 的 Data 字段的内容将以文件形式呈现在卷中,使用 Data 字段中的键作为文件名,除非 items 元素填充了键到路径的特定映射。ConfigMap 卷支持所有权管理和 SELinux 重新标记。*
configMap.name (string)
所指对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处为空值的此类型实例几乎可以肯定是错误的。更多信息:https://kubernetes.top/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)
原子性:将在合并期间被替换
items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 ConfigMap 中不存在的键,则卷设置将出错,除非将其标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。
secret (SecretVolumeSource)
secret 表示应该填充此卷的密钥。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#secret
目标 Secret 的 Data 字段的内容将以文件形式呈现在卷中,使用 Data 字段中的键作为文件名。Secret 卷支持所有权管理和 SELinux 重新标记。*
secret.secretName (string)
secretName 是 Pod 命名空间中要使用的密钥的名称。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#secret
secret.optional (布尔值)
optional 字段指定是否必须定义 Secret 或其键
secret.defaultMode (int32)
defaultMode 是可选的:默认情况下用于设置创建文件权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。
secret.items ([]KeyToPath)
原子性:将在合并期间被替换
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)
原子性:将在合并期间被替换
Items 是向下 API 卷文件的列表
projected (ProjectedVolumeSource)
projected 项目,用于一体化资源 secrets、configmaps 和向下 API
projected.defaultMode (int32)
defaultMode 是默认情况下用于设置创建文件权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,结果可能是设置了其他模式位。
projected.sources ([]VolumeProjection)
原子性:将在合并期间被替换
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), 必填
从卷根目录写入捆绑包的相对路径。
projected.sources.clusterTrustBundle.labelSelector (LabelSelector)
选择与此标签选择器匹配的所有 ClusterTrustBundles。仅在设置了 signerName 时才有效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置为空,则解释为“匹配所有内容”。
projected.sources.clusterTrustBundle.name (string)
按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 互斥。
projected.sources.clusterTrustBundle.optional (布尔值)
如果为 true,则在引用的 ClusterTrustBundle(s) 不可用时不要阻止 Pod 启动。如果使用 name,则允许命名的 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零个 ClusterTrustBundles。
projected.sources.clusterTrustBundle.signerName (string)
选择所有与该签名者名称匹配的 ClusterTrustBundles。与名称互斥。所有选定的 ClusterTrustBundles 的内容将被统一和去重。
projected.sources.configMap (ConfigMap 投影)
有关要投影的 configMap 数据的 configMap 信息
目标 ConfigMap 的 Data 字段的内容将以文件的形式呈现在投影卷中,使用 Data 字段中的键作为文件名,除非 items 元素填充了键到路径的特定映射。请注意,这与没有默认模式的 configmap 卷来源相同。*
projected.sources.configMap.name (字符串)
所指对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处为空值的此类型实例几乎可以肯定是错误的。更多信息:https://kubernetes.top/docs/concepts/overview/working-with-objects/names/#names
projected.sources.configMap.optional (布尔值)
optional 指定是否必须定义 ConfigMap 或其键
projected.sources.configMap.items ([]键到路径)
原子性:将在合并期间被替换
items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,列出的键将投影到指定的路径中,未列出的键将不存在。如果指定了 ConfigMap 中不存在的键,则卷设置将出错,除非将其标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。
projected.sources.downwardAPI (DownwardAPI 投影)
有关要投影的 downwardAPI 数据的 downwardAPI 信息
表示用于投影到投影卷的向下 API 信息。请注意,这与没有默认模式的 downwardAPI 卷来源相同。
projected.sources.downwardAPI.items ([]DownwardAPIVolume 文件)
原子性:将在合并期间被替换
Items 是 DownwardAPIVolume 文件的列表
projected.sources.secret (Secret 投影)
有关要投影的 secret 数据的 secret 信息
目标 Secret 的 Data 字段的内容将以文件的形式呈现在投影卷中,使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷来源相同。*
projected.sources.secret.name (字符串)
所指对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处为空值的此类型实例几乎可以肯定是错误的。更多信息:https://kubernetes.top/docs/concepts/overview/working-with-objects/names/#names
projected.sources.secret.optional (布尔值)
可选字段,指定是否必须定义 Secret 或其密钥
projected.sources.secret.items ([]键到路径)
原子性:将在合并期间被替换
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,列出的键将投影到指定的路径中,未列出的键将不存在。如果指定的键在 Secret 中不存在,则卷设置将出错,除非将其标记为可选。路径必须是相对的,并且不能包含 '..' 路径或以 '..' 开头。
projected.sources.serviceAccountToken (ServiceAccountToken 投影)
serviceAccountToken 是有关要投影的 serviceAccountToken 数据的信息
ServiceAccountTokenProjection 表示投影的服务帐户令牌卷。此投影可用于将服务帐户令牌插入 Pod 的运行时文件系统,以便对 API(Kubernetes API 服务器或其他)使用。
projected.sources.serviceAccountToken.path (字符串),必需
path 是将令牌投影到的文件相对于挂载点的路径。
projected.sources.serviceAccountToken.audience (字符串)
audience 是令牌的目标受众。令牌的接收者必须使用令牌受众中指定的标识符来标识自身,否则应拒绝令牌。受众默认为 apiserver 的标识符。
projected.sources.serviceAccountToken.expirationSeconds (int64)
expirationSeconds 是服务帐户令牌的请求有效期。随着令牌接近过期,kubelet 卷插件将主动轮换服务帐户令牌。如果令牌的生存时间超过其 80%,或者令牌超过 24 小时,kubelet 将开始尝试轮换令牌。默认为 1 小时,必须至少为 10 分钟。
本地/临时目录
emptyDir (EmptyDir 卷来源)
emptyDir 表示一个共享 Pod 生存期的临时目录。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#emptydir
表示 Pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。
emptyDir.medium (字符串)
medium 表示应该支持此目录的存储介质类型。默认值为 "",表示使用节点的默认介质。必须是空字符串(默认)或内存。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#emptydir
emptyDir.sizeLimit (数量)
sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 与 Pod 中所有容器的内存限制总和之间的最小值。默认值为 nil,表示限制未定义。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#emptydir
hostPath (HostPath 卷来源)
hostPath 表示主机上预先存在的文件或目录,该文件或目录直接暴露给容器。这通常用于系统代理或其他允许查看主机的特权事物。大多数容器不需要此功能。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#hostpath
表示映射到 Pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
hostPath.path (字符串),必需
主机上目录的路径。如果路径是符号链接,它将跟随链接到真实路径。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#hostpath
hostPath.type (字符串)
HostPath 卷的类型 默认为 "" 更多信息:https://kubernetes.top/docs/concepts/storage/volumes#hostpath
持久卷
awsElasticBlockStore (AWSElasticBlockStore 卷来源)
awsElasticBlockStore 表示连接到 kubelet 主机然后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#awselasticblockstore
在挂载到容器之前,必须存在 AWS EBS 磁盘。磁盘还必须与 kubelet 位于同一 AWS 区域中。AWS EBS 磁盘只能作为读/写挂载一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。*
awsElasticBlockStore.volumeID (字符串),必需
volumeID 是 AWS(Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#awselasticblockstore
awsElasticBlockStore.fsType (字符串)
fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。例如:"ext4"、"xfs"、"ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#awselasticblockstore
awsElasticBlockStore.partition (int32)
partition 是要挂载的卷中的分区。如果省略,则默认情况下按卷名称挂载。例如:对于卷 /dev/sda1,将分区指定为 "1"。类似地,/dev/sda 的卷分区为 "0"(或者可以将属性留空)。
awsElasticBlockStore.readOnly (布尔值)
readOnly 值 true 将强制 VolumeMounts 中的 readOnly 设置。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#awselasticblockstore
azureDisk (AzureDisk 卷来源)
azureDisk 表示主机上的 Azure 数据磁盘挂载并绑定挂载到 Pod。
AzureDisk 表示主机上的 Azure 数据磁盘挂载并绑定挂载到 Pod。
azureDisk.diskName (字符串),必需
diskName 是 blob 存储中数据磁盘的名称
azureDisk.diskURI (字符串),必需
diskURI 是 blob 存储中数据磁盘的 URI
azureDisk.cachingMode (字符串)
cachingMode 是主机缓存模式:无、只读、读写。
azureDisk.fsType (字符串)
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:"ext4"、"xfs"、"ntfs"。如果未指定,则隐式推断为 "ext4"。
azureDisk.kind (字符串)
kind 预期值为 Shared:每个存储帐户多个 blob 磁盘 Dedicated:每个存储帐户单个 blob 磁盘 Managed:azure 托管数据磁盘(仅在托管可用性集中)。默认为共享
azureDisk.readOnly (布尔值)
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。
azureFile (AzureFile 卷来源)
azureFile 表示主机上的 Azure 文件服务挂载并绑定挂载到 Pod。
AzureFile 表示主机上的 Azure 文件服务挂载并绑定挂载到 Pod。
azureFile.secretName (字符串),必需
secretName 是包含 Azure 存储帐户名称和密钥的 secret 的名称
azureFile.shareName (字符串),必需
shareName 是 azure 共享名称
azureFile.readOnly (布尔值)
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。
cephfs (CephFS 卷来源)
cephFS 表示主机上共享 Pod 生存期的 Ceph FS 挂载
表示 Ceph 文件系统挂载,该挂载持续 Pod 的生存期 Cephfs 卷不支持所有权管理或 SELinux 重新标记。
cephfs.monitors ([]字符串),必需
原子性:将在合并期间被替换
monitors 是必需的:Monitors 是 Ceph 监视器的集合 更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
cephfs.path (字符串)
path 是可选的:用作挂载根目录,而不是完整的 Ceph 树,默认为 /
cephfs.readOnly (布尔值)
readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
cephfs.secretFile (字符串)
secretFile 是可选的:SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
cephfs.secretRef (本地对象引用)
secretRef 是可选的:SecretRef 是对用户身份验证 secret 的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
cephfs.user (字符串)
user 是可选的:User 是 rados 用户名,默认为 admin 更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
cinder (Cinder 卷来源)
cinder 表示附加到 kubelet 主机并挂载在其上的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md
表示 Openstack 中的 cinder 卷资源。Cinder 卷必须在挂载到容器之前存在。该卷还必须与 kubelet 位于同一区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
cinder.volumeID (字符串),必需
用于在 cinder 中标识卷的 volumeID。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md
cinder.fsType (字符串)
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md
cinder.readOnly (布尔值)
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md
cinder.secretRef (LocalObjectReference)
secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 Secret 对象。
csi (CSIVolumeSource)
csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(测试功能)。
csi.driver (字符串),必需
driver 是处理此卷的 CSI 驱动程序的名称。请咨询您的管理员以获取在集群中注册的正确名称。
csi.fsType (字符串)
要挂载的 fsType。例如“ext4”、“xfs”、“ntfs”。如果未提供,则空值将传递给关联的 CSI 驱动程序,该驱动程序将确定要应用的默认文件系统。
csi.nodePublishSecretRef (LocalObjectReference)
nodePublishSecretRef 是对 Secret 对象的引用,该对象包含要传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用的敏感信息。此字段是可选的,如果不需要 Secret,则可以为空。如果 Secret 对象包含多个 Secret,则所有 Secret 引用都会传递。
csi.readOnly (布尔值)
readOnly 指定卷的只读配置。默认为 false(读/写)。
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)
将用于创建独立的 PVC 以配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是
\<pod 名称>-\<卷名称>
,其中\<卷名称>
是来自PodSpec.Volumes
数组条目的名称。如果连接的名称对 PVC 无效(例如,太长),Pod 验证将拒绝该 Pod。具有该名称且不属于该 Pod 的现有 PVC 将*不会*用于该 Pod,以避免错误地使用不相关的卷。然后阻止启动 Pod,直到删除不相关的 PVC。如果 Pod 要使用此类预先创建的 PVC,则必须在 Pod 存在后使用对 Pod 的所有者引用更新 PVC。通常情况下,这应该没有必要,但在手动重建损坏的集群时可能会有用。
此字段是只读的,Kubernetes 在创建 PVC 后不会对其进行任何更改。
必需,不能为空。
PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象作为 EphemeralVolumeSource 的一部分。
ephemeral.volumeClaimTemplate.spec (PersistentVolumeClaimSpec),必需
PersistentVolumeClaim 的规范。整个内容原封不动地复制到从此模板创建的 PVC 中。PersistentVolumeClaim 中的相同字段在此处也有效。
ephemeral.volumeClaimTemplate.metadata (ObjectMeta)
可能包含将在创建 PVC 时复制到 PVC 中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。
fc (FCVolumeSource)
fc 表示连接到 kubelet 主机的 Fibre Channel 资源,然后公开给 Pod。
表示光纤通道卷。光纤通道卷只能作为读/写挂载一次。光纤通道卷支持所有权管理和 SELinux 重新标记。
fc.fsType (字符串)
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。
fc.lun (int32)
lun 是可选的:FC 目标 lun 编号
fc.readOnly (布尔值)
readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。
fc.targetWWNs ([]string)
原子性:将在合并期间被替换
targetWWNs 是可选的:FC 目标全球名称 (WWN)
fc.wwids ([]string)
原子性:将在合并期间被替换
wwids 可选:FC 卷全球标识符 (wwid) 必须设置 wwid 或 targetWWN 和 lun 的组合,但不能同时设置两者。
flexVolume (FlexVolumeSource)
flexVolume 表示使用基于 exec 的插件配置/附加的通用卷资源。
FlexVolume 表示使用基于 exec 的插件配置/附加的通用卷资源。
flexVolume.driver (字符串),必需
driver 是用于此卷的驱动程序的名称。
flexVolume.fsType (字符串)
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。默认文件系统取决于 FlexVolume 脚本。
flexVolume.options (map[string]string)
options 是可选的:此字段包含额外的命令选项(如果有)。
flexVolume.readOnly (布尔值)
readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。
flexVolume.secretRef (LocalObjectReference)
secretRef 是可选的:secretRef 是对 Secret 对象的引用,该对象包含要传递给插件脚本的敏感信息。如果未指定 Secret 对象,则此字段可以为空。如果 Secret 对象包含多个 Secret,则所有 Secret 都会传递给插件脚本。
flocker (FlockerVolumeSource)
flocker 表示附加到 kubelet 主机的 Flocker 卷。这取决于 Flocker 控制服务是否正在运行
表示由 Flocker 代理挂载的 Flocker 卷。应该设置 datasetName 和 datasetUUID 中的一个且仅一个。Flocker 卷不支持所有权管理或 SELinux 重新标记。
flocker.datasetName (字符串)
datasetName 是存储为元数据 -> 数据集上名称的数据集名称,对于 Flocker,应将其视为已弃用
flocker.datasetUUID (字符串)
datasetUUID 是数据集的 UUID。这是 Flocker 数据集的唯一标识符
gcePersistentDisk (GCEPersistentDiskVolumeSource)
gcePersistentDisk 表示附加到 kubelet 主机然后公开给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#gcepersistentdisk
*表示 Google Compute Engine 中的永久磁盘资源。
GCE PD 必须在挂载到容器之前存在。该磁盘还必须与 kubelet 位于同一个 GCE 项目和区域中。GCE PD 只能作为读/写挂载一次或作为只读挂载多次。GCE PD 支持所有权管理和 SELinux 重新标记。*
gcePersistentDisk.pdName (字符串),必需
pdName 是 GCE 中 PD 资源的唯一名称。用于在 GCE 中标识磁盘。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#gcepersistentdisk
gcePersistentDisk.fsType (字符串)
fsType 是您要挂载卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#gcepersistentdisk
gcePersistentDisk.partition (int32)
partition 是要挂载卷中的分区。如果省略,则默认情况下按卷名称挂载。示例:对于卷 /dev/sda1,您将分区指定为“1”。同样,/dev/sda 的卷分区为“0”(或者您可以将属性留空)。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#gcepersistentdisk
gcePersistentDisk.readOnly (布尔值)
此处的 readOnly 将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#gcepersistentdisk
glusterfs (GlusterfsVolumeSource)
glusterfs 表示主机上与 Pod 生命周期共享的 Glusterfs 挂载。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md
表示持续 Pod 生命周期的 Glusterfs 挂载。Glusterfs 卷不支持所有权管理或 SELinux 重新标记。
glusterfs.endpoints (字符串),必需
endpoints 是详细说明 Glusterfs 拓扑的端点名称。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
glusterfs.path (字符串),必需
path 是 Glusterfs 卷路径。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
glusterfs.readOnly (布尔值)
此处的 readOnly 将强制 Glusterfs 卷以只读权限挂载。默认为 false。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
**iscsi** (ISCSIVolumeSource)
iscsi 表示连接到 kubelet 主机然后公开给 pod 的 ISCSI 磁盘资源。更多信息: https://examples.k8s.io/volumes/iscsi/README.md
*表示 ISCSI 磁盘。 ISCSI 卷只能作为读/写挂载一次。 ISCSI 卷支持所有权管理和 SELinux 重新标记。*
**iscsi.iqn** (字符串),必需
iqn 是目标 iSCSI 限定名称。
**iscsi.lun** (int32), 必需
lun 表示 iSCSI Target Lun 编号。
**iscsi.targetPortal** (字符串),必需
targetPortal 是 iSCSI Target Portal。Portal 可以是 IP 地址,如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则为 ip_addr:port 格式。
iscsi.chapAuthDiscovery (布尔值)
chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证。
iscsi.chapAuthSession (布尔值)
chapAuthSession 定义是否支持 iSCSI Session CHAP 身份验证。
iscsi.fsType (字符串)
fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。例如:"ext4"、"xfs"、"ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#iscsi
iscsi.initiatorName (字符串)
initiatorName 是自定义 iSCSI Initiator 名称。如果 initiatorName 与 iscsiInterface 同时指定,将为连接创建新的 iSCSI 接口 <target portal>:<volume name>。
iscsi.iscsiInterface (字符串)
iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default' (tcp)。
iscsi.portals ([]string,字符串数组)
原子性:将在合并期间被替换
portals 是 iSCSI Target Portal 列表。Portal 可以是 IP 地址,如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则为 ip_addr:port 格式。
iscsi.readOnly (布尔值)
readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。
iscsi.secretRef (LocalObjectReference)
secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP Secret。
image (ImageVolumeSource)
image 表示一个 OCI 对象(容器镜像或制品),它会在 kubelet 的主机上被拉取并挂载。卷的解析在 Pod 启动时进行,具体取决于提供的 PullPolicy 值。
- Always:kubelet 总是尝试拉取镜像。如果拉取失败,容器创建将失败。 - Never:kubelet 从不拉取镜像,仅使用本地镜像或制品。如果镜像不存在,容器创建将失败。 - IfNotPresent:如果镜像在磁盘上不存在,kubelet 将拉取镜像。如果镜像不存在且拉取失败,容器创建将失败。
如果 Pod 被删除并重新创建,卷将被重新解析,这意味着新的远程内容将在 Pod 重新创建时可用。如果在 Pod 启动期间无法解析或拉取镜像,将阻止容器启动,并可能增加明显的延迟。失败将使用正常的卷回退机制进行重试,并将在 Pod 的 reason 和 message 中报告。可由此卷挂载的对象类型由主机上的容器运行时实现定义,并且至少必须包含容器镜像字段支持的所有有效类型。OCI 对象通过以与容器镜像相同的方式合并清单层,被挂载到单个目录 (spec.containers[*].volumeMounts.mountPath) 中。该卷将以只读 (ro) 和不可执行文件 (noexec) 的方式挂载。不支持容器的子路径挂载 (spec.containers[*].volumeMounts.subpath)。字段 spec.securityContext.fsGroupChangePolicy 对此卷类型无效。
image.pullPolicy (字符串)
拉取 OCI 对象的策略。可能的值为:Always:kubelet 总是尝试拉取镜像。如果拉取失败,容器创建将失败。Never:kubelet 从不拉取镜像,仅使用本地镜像或制品。如果镜像不存在,容器创建将失败。IfNotPresent:如果镜像在磁盘上不存在,kubelet 将拉取镜像。如果镜像不存在且拉取失败,容器创建将失败。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。
image.reference (字符串)
必需:要使用的镜像或制品引用。其行为与 pod.spec.containers[*].image 相同。拉取密钥将以与容器镜像相同的方式组装,方法是查找节点凭据、SA 镜像拉取密钥和 Pod 规范镜像拉取密钥。更多信息:https://kubernetes.top/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理在工作负载控制器(如 Deployments 和 StatefulSets)中默认或覆盖容器镜像。
nfs (NFSVolumeSource)
nfs 表示主机上的 NFS 挂载,它共享 Pod 的生命周期。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#nfs
表示一个 NFS 挂载,该挂载持续 Pod 的生命周期。NFS 卷不支持所有权管理或 SELinux 重标记。
nfs.path (字符串),必需
NFS 服务器导出的路径。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#nfs
nfs.server (字符串),必需
server 是 NFS 服务器的主机名或 IP 地址。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#nfs
nfs.readOnly (布尔值)
readOnly 将强制以只读权限挂载 NFS 导出。默认为 false。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#nfs
**photonPersistentDisk** (PhotonPersistentDiskVolumeSource)
photonPersistentDisk 表示连接到 kubelet 主机并挂载的 PhotonController 持久磁盘。
*PhotonPersistentDiskVolumeSource 表示 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 表示主机上的 Quobyte 挂载,它共享 pod 的生命周期。
*表示 Quobyte 挂载,持续 pod 的生命周期。Quobyte 卷不支持所有权管理或 SELinux 重新标记。*
**quobyte.registry** (字符串), 必需
registry 表示一个或多个 Quobyte 注册表服务,指定为字符串形式的 host:port 对(多个条目用逗号分隔),作为卷的中央注册表。
**quobyte.volume** (字符串), 必需
volume 是一个字符串,按名称引用已创建的 Quobyte 卷。
**quobyte.group** (字符串)
映射卷访问权限的组。默认为无组。
**quobyte.readOnly** (布尔值)
readOnly 将强制以只读权限挂载 Quobyte 卷。默认为 false。
**quobyte.tenant** (字符串)
在后端拥有给定 Quobyte 卷的租户。与动态配置的 Quobyte 卷一起使用,值由插件设置。
**quobyte.user** (字符串)
映射卷访问权限的用户。默认为服务帐户用户。
**rbd** (RBDVolumeSource)
rbd 表示主机上的 Rados 块设备挂载,它共享 pod 的生命周期。更多信息: https://examples.k8s.io/volumes/rbd/README.md
*表示 Rados 块设备挂载,持续 pod 的生命周期。RBD 卷支持所有权管理和 SELinux 重新标记。*
**rbd.image** (字符串), 必需
image 是 Rados 镜像名称。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**rbd.monitors** ([]string,字符串数组), 必需
原子性:将在合并期间被替换
monitors 是 Ceph 监视器集合。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**rbd.fsType** (字符串)
fsType 是要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。例如:"ext4"、"xfs"、"ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息:https://kubernetes.top/docs/concepts/storage/volumes#rbd
**rbd.keyring** (字符串)
keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**rbd.pool** (字符串)
pool 是 Rados 池名称。默认为 rbd。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**rbd.readOnly** (布尔值)
readOnly 将强制在 VolumeMounts 中设置 ReadOnly。默认为 false。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**rbd.secretRef** (LocalObjectReference)
secretRef 是 RBDUser 的身份验证密钥名称。如果提供,将覆盖 keyring。默认为 nil。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**rbd.user** (字符串)
user 是 Rados 用户名。默认为 admin。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
**scaleIO** (ScaleIOVolumeSource)
scaleIO 表示连接到 Kubernetes 节点并挂载的 ScaleIO 持久卷。
*ScaleIOVolumeSource 表示持久 ScaleIO 卷*
**scaleIO.gateway** (字符串), 必需
gateway 是 ScaleIO API 网关的主机地址。
**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 标志启用/禁用与网关的 SSL 通信,默认为 false。
scaleIO.storageMode (字符串)
storageMode 指示卷的存储应为厚配置还是精简配置。默认为 ThinProvisioned(精简配置)。
scaleIO.storagePool (字符串)
storagePool 是与保护域关联的 ScaleIO 存储池。
scaleIO.volumeName (字符串)
volumeName 是 ScaleIO 系统中已创建的与该卷来源关联的卷的名称。
storageos (StorageOSVolumeSource)
storageOS 表示附加并挂载在 Kubernetes 节点上的 StorageOS 卷。
storageos.fsType (字符串)
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。
storageos.readOnly (布尔值)
readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。
storageos.secretRef (LocalObjectReference)
secretRef 指定用于获取 StorageOS API 凭据的 Secret。如果未指定,将尝试使用默认值。
storageos.volumeName (字符串)
volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间内唯一。
storageos.volumeNamespace (字符串)
volumeNamespace 指定 StorageOS 中卷的范围。如果未指定命名空间,则将使用 Pod 的命名空间。这允许 Kubernetes 名称范围在 StorageOS 中镜像,以实现更紧密的集成。将 VolumeName 设置为任何名称以覆盖默认行为。如果您没有在 StorageOS 中使用命名空间,请设置为“default”。StorageOS 中不存在的命名空间将被创建。
vsphereVolume (VsphereVirtualDiskVolumeSource)
vsphereVolume 表示附加并挂载在 kubelets 主机上的 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 项目的其他地方进行。