第 3 章 PodTemplate [v1]
- 描述
- PodTemplate 描述了用于创建预定义 pod 副本的模板。
- 类型
-
对象
3.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| PodTemplateSpec 描述了从模板创建 pod 应具有的数据 |
3.1.1. .template
- 描述
- PodTemplateSpec 描述了从模板创建 pod 应具有的数据
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| PodSpec 是 pod 的描述。 |
3.1.2. .template.spec
- 描述
- PodSpec 是 pod 的描述。
- 类型
-
object
- 必填
-
containers
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选持续时间(以秒为单位)pod 可以在相对于 StartTime 的节点上处于活跃状态,然后系统主动尝试将其标记为失败并终止关联的容器。值必须是正整数。 |
|
| 关联性是一组关联性调度规则。 |
|
| AutomountServiceAccountToken 表示是否应自动挂载服务帐户令牌。 |
|
| 属于 pod 的容器列表。当前无法添加或删除容器。Pod 中必须至少有一个容器。无法更新。 |
|
| 要在 pod 中运行的单一应用程序容器。 |
|
| PodDNSConfig 除了从 DNSPolicy 生成的外,还定义了 pod 的 DNS 参数。 |
|
| 为 pod 设置 DNS 策略。默认为 "ClusterFirst"。有效值为 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' 或 'None'。DNSConfig 中指定的 DNS 参数将与选择与 DNSPolicy 的策略合并。要将 DNS 选项与 hostNetwork 一起设置,您必须将 DNS 策略明确指定为 'ClusterFirstWithHostNet'。
可能枚举值: - |
|
| EnableServiceLinks 指明了有关服务的信息是否应注入到 pod 的环境变量中,与 Docker 链接的语法匹配。可选:默认为 true。 |
|
| 此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,且无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod,请使用 pod 的 ephemeralcontainers 子资源。 |
|
| EphemeralContainer 是一个临时容器,您可以添加到现有 Pod 中,用于用户发起的活动,如调试。临时容器没有资源或调度保证,它们不会在 Pod 退出或重启 Pod 时重启。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。 要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重启。 |
|
| hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这仅对非主机网络 pod 有效。 |
|
| HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。 |
|
| 使用主机的 ipc 命名空间。可选:默认为 false。 |
|
| 为这个 pod 请求的主机网络。使用主机的网络命名空间。如果设置了这个选项,则必须指定要使用的端口。默认值为 false。 |
|
| 使用主机的 pid 命名空间。可选:默认为 false。 |
|
| 使用主机的用户命名空间。可选:默认为 true。如果设置为 true 或不存在,则 pod 将在主机用户命名空间中运行,当 pod 需要功能仅适用于主机用户命名空间时,比如使用 CAP_SYS_MODULE 加载内核模块。当设置为 false 时,会为 pod 创建一个新的 userns。设置 false 有助于减少容器中断漏洞,甚至允许用户以 root 用户身份运行其容器,而无需实际对主机具有 root 特权。此字段是 alpha-level,且仅被启用 UserNamespacesSupport 功能的服务器实现。 |
|
| 指定没有指定 Pod 的主机名,pod 的主机名将设置为系统定义的值。 |
|
| imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| 属于 pod 的初始化容器列表。Init 容器在启动容器之前按顺序执行。如果任何 init 容器失败,pod 被视为失败,并根据 restartPolicy 处理。init 容器或普通容器的名称对于所有容器来说都必须是唯一的。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。通过查找每种资源类型的最高请求/限制,然后使用该值的最大值或普通容器的总和,在调度期间考虑 init 容器的 resourceRequirements。限制以类似的方式应用到 init 容器。当前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
|
| 要在 pod 中运行的单一应用程序容器。 |
|
| nodeName 是一个将此 pod 调度到特定节点的请求。如果不是空的,调度程序只会将此 pod 调度到该节点上,假设它符合资源要求。 |
|
| nodeSelector 是一个选择器,必须为 true 才能使 pod 适合某个节点。选择器必须与节点的标签匹配,以便 pod 调度到该节点上。更多信息: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
|
| PodOS 定义 pod 的 OS 参数。 |
| 开销代表了与为给定 RuntimeClass 运行 pod 相关的资源开销。RuntimeClass 准入控制器将在准入时自动填充此字段。如果启用了 RuntimeClass 准入控制器,则无法在 Pod 创建请求中设置开销。RuntimeClass 准入控制器将拒绝已设置开销的 Pod 创建请求。如果在 PodSpec 中配置并选择 RuntimeClass,则 Overhead 将被设置为相应 RuntimeClass 中定义的值,否则它将保留为未设置并被视为零。更多信息: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | |
|
| preemptionPolicy 是抢占优先级较低 pod 的策略。Never 之一 PreemptLowerPriority。如果未设置,则默认为 PreemptLowerPriority。
可能枚举值: - |
|
| 优先级值。各种系统组件使用此字段查找 pod 的优先级。启用 Priority Admission Controller 时,它会阻止用户设置此字段。准入控制器从 PriorityClassName 中填充此字段。数值越大,优先级越高。 |
|
| 如果指定,则表示 pod 的优先级。"system-node-critical" 和 "system-cluster-critical" 是两个特殊关键字,代表前一个优先级最高。必须通过创建具有该名称的 PriorityClass 对象来定义任何其他名称。如果没有指定,如果没有默认值,pod 优先级将为 default 或零。 |
|
| 如果指定,则会针对 pod 就绪评估所有就绪度。当所有容器都就绪且在就绪的 gates 中指定的所有条件都等于 "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates时,pod 已就绪: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates |
|
| PodReadinessGate 包含对 pod 条件的引用 |
|
| ResourceClaims 定义在 Pod 允许启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。 |
|
| PodResourceClaim 通过 ClaimSource 只引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。 |
|
| 为 pod 中的所有容器重启策略。Always、OnFailure 之一 Never。在某些上下文中,只允许这些值的子集。默认为 Always。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
可能枚举值: - |
|
| runtimeClassName 指的是 node.k8s.io 组中的 RuntimeClass 对象,该对象应该用于运行此 pod。如果没有与命名类匹配的 RuntimeClass 资源,则不会运行 pod。如果未设置或为空,则使用"传统" RuntimeClass,这是一个具有使用默认运行时处理程序的空定义的隐式类。更多信息: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class |
|
| 如果指定,pod 将由指定的调度程序分配。如果没有指定,pod 会被默认调度程序分配。 |
|
| SchedulingGates 是不透明的值列表,如果指定,它将阻止调度 pod。如果 schedulingGates 不为空,pod 将保持在 SchedulingGated 状态,调度程序不会尝试调度 pod。 SchedulingGates 只能在 pod 创建时设置,之后才能被删除。 这是 PodSchedulingReadiness 功能门启用的 beta 功能。 |
|
| PodSchedulingGate 与 Pod 关联,以保护其调度。 |
|
| PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。 |
|
| DeprecatedServiceAccount 是 ServiceAccountName 的描述别名。弃用 :使用 serviceAccountName 替代。 |
|
| serviceAccountName 是用于运行此 pod 的 ServiceAccount 的名称。更多信息: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ |
|
| 如果为 true,则 pod 的主机名将配置为 pod 的 FQDN,而不是叶名称(默认值)。在 Linux 容器中,这意味着在内核的 hostname 字段中设置 FQDN ( struct utsname 的 nodename 字段)。在 Windows 容器中,这意味着将 registry 键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 的 hostname 的 registry 值设置为 FQDN。如果 pod 没有 FQDN,则这无效。默认值为 false。 |
|
| 在 pod 中所有容器间共享单个进程命名空间。当设置容器时,可以从同一 pod 中的其他容器查看和信号进程,并且每个容器中的第一个进程不会被分配 PID 1。无法同时设置 hostPID 和 ShareProcessNamespace。可选:默认为 false。 |
|
| 如果指定,完全限定的 Pod 主机名将是 "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>"。如果没有指定,pod 将根本没有 domainname。 |
|
| pod 安全终止所需的可选持续时间(以秒为单位)。可以在删除请求中减少。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。如果这个值是 nil,则使用默认的宽限期。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。默认值为 30 秒。 |
|
| 如果指定,pod 的容限。 |
|
| 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。 |
|
| topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。 |
|
| TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。 |
|
| 可以通过属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。 |
3.1.3. .template.spec.affinity
- 描述
- 关联性是一组关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 节点关联性是一组节点关联性调度规则。 |
|
| pod 关联性是一组 pod 关联性调度规则。 |
|
| Pod 反关联性是一组 pod 反关联性调度规则。 |
3.1.4. .template.spec.affinity.nodeAffinity
- 描述
- 节点关联性是一组节点关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。 |
|
| 空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。 |
|
| 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。 |
3.1.5. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。
- 类型
-
数组
3.1.6. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。
- 类型
-
object
- 必填
-
weight
-
preference
-
属性 | 类型 | 描述 |
---|---|---|
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
|
| 与对应 nodeSelectorTerm 关联的权重,范围为 1-100。 |
3.1.7. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
3.1.8. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
数组
3.1.9. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
3.1.10. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- 描述
- 按节点字段划分的节点选择器要求列表。
- 类型
-
数组
3.1.11. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
3.1.12. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。
- 类型
-
object
- 必填
-
nodeSelectorTerms
-
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。节点选择器术语列表。术语为 ORed。 |
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
3.1.13. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- 描述
- 必需。节点选择器术语列表。术语为 ORed。
- 类型
-
数组
3.1.14. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
3.1.15. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
数组
3.1.16. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
3.1.17. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- 描述
- 按节点字段划分的节点选择器要求列表。
- 类型
-
数组
3.1.18. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
3.1.19. .template.spec.affinity.podAffinity
- 描述
- pod 关联性是一组 pod 关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。 |
|
| 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。 |
|
| 如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。 |
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
3.1.20. .template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。
- 类型
-
数组
3.1.21. .template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
- 类型
-
object
- 必填
-
weight
-
podAffinityTerm
-
属性 | 类型 | 描述 |
---|---|---|
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
|
| 与对应的 podAffinityTerm 关联的权重,范围为 1-100。 |
3.1.22. .template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
3.1.23. .template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
- 类型
-
数组
3.1.24. .template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
3.1.25. .template.spec.affinity.podAntiAffinity
- 描述
- Pod 反关联性是一组 pod 反关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。 |
|
| 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。 |
|
| 如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。 |
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
3.1.26. .template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。
- 类型
-
数组
3.1.27. .template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
- 类型
-
object
- 必填
-
weight
-
podAffinityTerm
-
属性 | 类型 | 描述 |
---|---|---|
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
|
| 与对应的 podAffinityTerm 关联的权重,范围为 1-100。 |
3.1.28. .template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
3.1.29. .template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
- 类型
-
数组
3.1.30. .template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
3.1.31. .template.spec.containers
- 描述
- 属于 pod 的容器列表。当前无法添加或删除容器。Pod 中必须至少有一个容器。无法更新。
- 类型
-
数组
3.1.32. .template.spec.containers[]
- 描述
- 要在 pod 中运行的单一应用程序容器。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的容器名称。pod 中的每个容器都必须具有唯一的名称(DNS_LABEL)。无法更新。 |
|
| 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
3.1.33. .template.spec.containers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
数组
3.1.34. .template.spec.containers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
3.1.35. .template.spec.containers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
3.1.36. .template.spec.containers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
3.1.37. .template.spec.containers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
3.1.38. .template.spec.containers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
3.1.39. .template.spec.containers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
3.1.40. .template.spec.containers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
数组
3.1.41. .template.spec.containers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
3.1.42. .template.spec.containers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
3.1.43. .template.spec.containers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
3.1.44. .template.spec.containers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
3.1.45. .template.spec.containers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
3.1.46. .template.spec.containers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.47. .template.spec.containers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.48. .template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.49. .template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.50. .template.spec.containers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
3.1.51. .template.spec.containers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.52. .template.spec.containers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
3.1.53. .template.spec.containers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.54. .template.spec.containers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.55. .template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.56. .template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.57. .template.spec.containers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
3.1.58. .template.spec.containers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.59. .template.spec.containers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.60. .template.spec.containers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.61. .template.spec.containers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.62. .template.spec.containers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.63. .template.spec.containers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.64. .template.spec.containers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.65. .template.spec.containers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.66. .template.spec.containers[].ports
- 描述
- 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
- 类型
-
数组
3.1.67. .template.spec.containers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
3.1.68. .template.spec.containers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.69. .template.spec.containers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.70. .template.spec.containers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.71. .template.spec.containers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.72. .template.spec.containers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.73. .template.spec.containers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.74. .template.spec.containers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.75. .template.spec.containers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
数组
3.1.76. .template.spec.containers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
3.1.77. .template.spec.containers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
3.1.78. .template.spec.containers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
3.1.79. .template.spec.containers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
3.1.80. .template.spec.containers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
3.1.81. .template.spec.containers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
3.1.82. .template.spec.containers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
3.1.83. .template.spec.containers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
3.1.84. .template.spec.containers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
3.1.85. .template.spec.containers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.86. .template.spec.containers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.87. .template.spec.containers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.88. .template.spec.containers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.89. .template.spec.containers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.90. .template.spec.containers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.91. .template.spec.containers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.92. .template.spec.containers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
数组
3.1.93. .template.spec.containers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
3.1.94. .template.spec.containers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。无法更新。
- 类型
-
数组
3.1.95. .template.spec.containers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
名称
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
3.1.96. .template.spec.dnsConfig
- 描述
- PodDNSConfig 除了从 DNSPolicy 生成的外,还定义了 pod 的 DNS 参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| DNS 名称服务器 IP 地址列表。这将附加到从 DNSPolicy 生成的基本名称服务器中。重复的名称服务器将被删除。 |
|
| DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。删除重复的条目。Options 中提供的解析选项将覆盖基本 DNSPolicy 中显示的选项。 |
|
| PodDNSConfigOption 定义 pod 的 DNS 解析器选项。 |
|
| 用于 host-name 查找的 DNS 搜索域列表。这将附加到从 DNSPolicy 生成的基本搜索路径中。删除重复的搜索路径。 |
3.1.97. .template.spec.dnsConfig.options
- 描述
- DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。删除重复的条目。Options 中提供的解析选项将覆盖基本 DNSPolicy 中显示的选项。
- 类型
-
数组
3.1.98. .template.spec.dnsConfig.options[]
- 描述
- PodDNSConfigOption 定义 pod 的 DNS 解析器选项。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。 |
|
|
3.1.99. .template.spec.ephemeralContainers
- 描述
- 此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,且无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod,请使用 pod 的 ephemeralcontainers 子资源。
- 类型
-
数组
3.1.100. .template.spec.ephemeralContainers[]
- 描述
EphemeralContainer 是一个临时容器,您可以添加到现有 Pod 中,用于用户发起的活动,如调试。临时容器没有资源或调度保证,它们不会在 Pod 退出或重启 Pod 时重启。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。
要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重启。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果未提供该镜像,则使用镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供该镜像,则使用镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的临时容器的名称。此名称在所有容器、init 容器和临时容器中必须是唯一的。 |
|
| 临时容器不允许使用端口。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| 重启容器的策略,以管理 pod 中每个容器的重启行为。这只能为 init 容器设置。您不能在临时容器上设置此字段。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 如果设置,则来自此临时容器目标的 PodSpec 的容器名称。临时容器将在此容器的命名空间中运行(IPC、PID 等)。如果没有设置,则临时容器将使用 Pod spec 中配置的命名空间。 容器运行时必须实施对此功能的支持。如果运行时不支持命名空间目标,则设置此字段的结果未定义。 |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。临时容器不允许使用 subPath 挂载。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
3.1.101. .template.spec.ephemeralContainers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
数组
3.1.102. .template.spec.ephemeralContainers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
3.1.103. .template.spec.ephemeralContainers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
3.1.104. .template.spec.ephemeralContainers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
3.1.105. .template.spec.ephemeralContainers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
3.1.106. .template.spec.ephemeralContainers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
3.1.107. .template.spec.ephemeralContainers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
3.1.108. .template.spec.ephemeralContainers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
数组
3.1.109. .template.spec.ephemeralContainers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
3.1.110. .template.spec.ephemeralContainers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
3.1.111. .template.spec.ephemeralContainers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
3.1.112. .template.spec.ephemeralContainers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
3.1.113. .template.spec.ephemeralContainers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
3.1.114. .template.spec.ephemeralContainers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.115. .template.spec.ephemeralContainers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.116. .template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.117. .template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.118. .template.spec.ephemeralContainers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
3.1.119. .template.spec.ephemeralContainers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.120. .template.spec.ephemeralContainers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
3.1.121. .template.spec.ephemeralContainers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.122. .template.spec.ephemeralContainers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.123. .template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.124. .template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.125. .template.spec.ephemeralContainers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
3.1.126. .template.spec.ephemeralContainers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.127. .template.spec.ephemeralContainers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.128. .template.spec.ephemeralContainers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.129. .template.spec.ephemeralContainers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.130. .template.spec.ephemeralContainers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.131. .template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.132. .template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.133. .template.spec.ephemeralContainers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.134. .template.spec.ephemeralContainers[].ports
- 描述
- 临时容器不允许使用端口。
- 类型
-
数组
3.1.135. .template.spec.ephemeralContainers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
3.1.136. .template.spec.ephemeralContainers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.137. .template.spec.ephemeralContainers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.138. .template.spec.ephemeralContainers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.139. .template.spec.ephemeralContainers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.140. .template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.141. .template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.142. .template.spec.ephemeralContainers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.143. .template.spec.ephemeralContainers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
数组
3.1.144. .template.spec.ephemeralContainers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
3.1.145. .template.spec.ephemeralContainers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
3.1.146. .template.spec.ephemeralContainers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
3.1.147. .template.spec.ephemeralContainers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
3.1.148. .template.spec.ephemeralContainers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
3.1.149. .template.spec.ephemeralContainers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
3.1.150. .template.spec.ephemeralContainers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
3.1.151. .template.spec.ephemeralContainers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
3.1.152. .template.spec.ephemeralContainers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
3.1.153. .template.spec.ephemeralContainers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.154. .template.spec.ephemeralContainers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.155. .template.spec.ephemeralContainers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.156. .template.spec.ephemeralContainers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.157. .template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.158. .template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.159. .template.spec.ephemeralContainers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.160. .template.spec.ephemeralContainers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
数组
3.1.161. .template.spec.ephemeralContainers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
3.1.162. .template.spec.ephemeralContainers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。临时容器不允许使用 subPath 挂载。无法更新。
- 类型
-
数组
3.1.163. .template.spec.ephemeralContainers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
名称
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
3.1.164. .template.spec.hostAliases
- 描述
- hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这仅对非主机网络 pod 有效。
- 类型
-
数组
3.1.165. .template.spec.hostAliases[]
- 描述
- HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 以上 IP 地址的主机名。 |
|
| 主机文件条目的 IP 地址。 |
3.1.166. .template.spec.imagePullSecrets
- 描述
- imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
- 类型
-
数组
3.1.167. .template.spec.imagePullSecrets[]
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.168. .template.spec.initContainers
- 描述
- 属于 pod 的初始化容器列表。Init 容器在启动容器之前按顺序执行。如果任何 init 容器失败,pod 被视为失败,并根据 restartPolicy 处理。init 容器或普通容器的名称对于所有容器来说都必须是唯一的。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。通过查找每种资源类型的最高请求/限制,然后使用该值的最大值或普通容器的总和,在调度期间考虑 init 容器的 resourceRequirements。限制以类似的方式应用到 init 容器。当前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
- 类型
-
数组
3.1.169. .template.spec.initContainers[]
- 描述
- 要在 pod 中运行的单一应用程序容器。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的容器名称。pod 中的每个容器都必须具有唯一的名称(DNS_LABEL)。无法更新。 |
|
| 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
3.1.170. .template.spec.initContainers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
数组
3.1.171. .template.spec.initContainers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
3.1.172. .template.spec.initContainers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
3.1.173. .template.spec.initContainers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
3.1.174. .template.spec.initContainers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
3.1.175. .template.spec.initContainers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
3.1.176. .template.spec.initContainers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
3.1.177. .template.spec.initContainers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
数组
3.1.178. .template.spec.initContainers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
3.1.179. .template.spec.initContainers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
3.1.180. .template.spec.initContainers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
3.1.181. .template.spec.initContainers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
3.1.182. .template.spec.initContainers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
3.1.183. .template.spec.initContainers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.184. .template.spec.initContainers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.185. .template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.186. .template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.187. .template.spec.initContainers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
3.1.188. .template.spec.initContainers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.189. .template.spec.initContainers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
3.1.190. .template.spec.initContainers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.191. .template.spec.initContainers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.192. .template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.193. .template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.194. .template.spec.initContainers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
3.1.195. .template.spec.initContainers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.196. .template.spec.initContainers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.197. .template.spec.initContainers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.198. .template.spec.initContainers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.199. .template.spec.initContainers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.200. .template.spec.initContainers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.201. .template.spec.initContainers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.202. .template.spec.initContainers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.203. .template.spec.initContainers[].ports
- 描述
- 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
- 类型
-
数组
3.1.204. .template.spec.initContainers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
3.1.205. .template.spec.initContainers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.206. .template.spec.initContainers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.207. .template.spec.initContainers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.208. .template.spec.initContainers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.209. .template.spec.initContainers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.210. .template.spec.initContainers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.211. .template.spec.initContainers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.212. .template.spec.initContainers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
数组
3.1.213. .template.spec.initContainers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
3.1.214. .template.spec.initContainers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
3.1.215. .template.spec.initContainers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
3.1.216. .template.spec.initContainers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
3.1.217. .template.spec.initContainers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
3.1.218. .template.spec.initContainers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
3.1.219. .template.spec.initContainers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
3.1.220. .template.spec.initContainers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
3.1.221. .template.spec.initContainers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
3.1.222. .template.spec.initContainers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
3.1.223. .template.spec.initContainers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
3.1.224. .template.spec.initContainers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
3.1.225. .template.spec.initContainers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
3.1.226. .template.spec.initContainers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
3.1.227. .template.spec.initContainers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
3.1.228. .template.spec.initContainers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
3.1.229. .template.spec.initContainers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
数组
3.1.230. .template.spec.initContainers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
3.1.231. .template.spec.initContainers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。无法更新。
- 类型
-
数组
3.1.232. .template.spec.initContainers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
名称
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
3.1.233. .template.spec.os
- 描述
- PodOS 定义 pod 的 OS 参数。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是操作系统的名称。当前支持的值有 linux 和 windows。以后可以定义额外的值,可以是: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration 客户端应该预期处理额外的值,并将此字段中未识别的值视为 os: null |
3.1.234. .template.spec.readinessGates
- 描述
- 如果指定,则会针对 pod 就绪评估所有就绪度。当所有容器都就绪且在就绪的 gates 中指定的所有条件都等于 "True" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates时,pod 已就绪: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
- 类型
-
数组
3.1.235. .template.spec.readinessGates[]
- 描述
- PodReadinessGate 包含对 pod 条件的引用
- 类型
-
object
- 必填
-
conditionType
-
属性 | 类型 | 描述 |
---|---|---|
|
| conditionType 指的是 pod 条件列表中具有匹配类型的条件。 |
3.1.236. .template.spec.resourceClaims
- 描述
ResourceClaims 定义在 Pod 允许启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。
- 类型
-
数组
3.1.237. .template.spec.resourceClaims[]
- 描述
- PodResourceClaim 通过 ClaimSource 只引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 在 pod 中唯一标识此资源声明的名称。这必须是 DNS_LABEL。 |
|
| ClaimSource 描述了对 ResourceClaim 的引用。 应设置这些字段中的一个。此类型的消费者必须将空对象视为未知值。 |
3.1.238. .template.spec.resourceClaims[].source
- 描述
ClaimSource 描述了对 ResourceClaim 的引用。
应设置这些字段中的一个。此类型的消费者必须将空对象视为未知值。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ResourceClaimName 是与这个 pod 相同的命名空间中的 ResourceClaim 对象的名称。 |
|
| ResourceClaimTemplateName 是与这个 pod 相同的命名空间中的 ResourceClaimTemplate 对象的名称。 该模板将用于创建新的 ResourceClaim,它将绑定到此容器集。删除此 pod 时,ResourceClaim 也会被删除。pod 名称和资源名称以及生成的组件将用于组成 ResourceClaim 的唯一名称,它将记录在 pod.status.resourceClaimStatuses 中。 此字段不可变,在创建 ResourceClaim 后 control plane 将不会对对应的 ResourceClaim 进行任何更改。 |
3.1.239. .template.spec.schedulingGates
- 描述
SchedulingGates 是不透明的值列表,如果指定,它将阻止调度 pod。如果 schedulingGates 不为空,pod 将保持在 SchedulingGated 状态,调度程序不会尝试调度 pod。
SchedulingGates 只能在 pod 创建时设置,之后才能被删除。
这是 PodSchedulingReadiness 功能门启用的 beta 功能。
- 类型
-
数组
3.1.240. .template.spec.schedulingGates[]
- 描述
- PodSchedulingGate 与 Pod 关联,以保护其调度。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 调度最低要求的名称。每个调度最低要求都必须有一个唯一的 name 字段。 |
3.1.241. .template.spec.securityContext
- 描述
- PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 适用于 pod 中所有容器的特殊补充组。有些卷类型允许 Kubelet 将该卷的所有权更改为由 pod 所有: 1.拥有的 GID 为 FSGroup 2。设置 setgid 位(卷中创建的新文件将归 FSGroup 所有)3。权限位是 OR'd with rw-rw--- 如果未设置,Kubelet 不会修改任何卷的所有权和权限。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| fsGroupChangePolicy 定义在 Pod 内公开卷之前更改卷的所有权和权限的行为。此字段将只适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对临时卷类型没有影响,如 secret、configmap 和 emptydir。有效值为 "OnRootMismatch" 和 "Always"。如果没有指定,则使用 "Always"。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| 应用到每个容器中的第一个进程的组列表,以及容器的主 GID、fsGroup (如果指定)以及容器镜像中定义的组成员资格,用于容器进程的 uid。如果未指定,则不会将其他组添加到任何容器中。请注意,容器进程的 uid 中定义的组成员资格仍然有效,即使它们没有包含在此列表中。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| sysctl 定义要设置的内核参数 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
3.1.242. .template.spec.securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
3.1.243. .template.spec.securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
3.1.244. .template.spec.securityContext.sysctls
- 描述
- sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。
- 类型
-
数组
3.1.245. .template.spec.securityContext.sysctls[]
- 描述
- sysctl 定义要设置的内核参数
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要设置的属性的名称 |
|
| 要设置的属性值 |
3.1.246. .template.spec.securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
3.1.247. .template.spec.tolerations
- 描述
- 如果指定,pod 的容限。
- 类型
-
数组
3.1.248. .template.spec.tolerations[]
- 描述
- 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。
可能枚举值: - |
|
| key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。 |
|
| Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。
可能枚举值: - |
|
| tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。 |
|
| value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。 |
3.1.249. .template.spec.topologySpreadConstraints
- 描述
- topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。
- 类型
-
数组
3.1.250. .template.spec.topologySpreadConstraints[]
- 描述
- TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。
- 类型
-
object
- 必填
-
maxSkew
-
topologyKey
-
whenUnsatisfiable
-
属性 | 类型 | 描述 |
---|---|---|
| labelSelector 用于查找匹配的 pod。与此标签选择器匹配的 Pod 被计算,以确定其对应拓扑域中的 pod 数量。 | |
|
| matchLabelKeys 是一组 pod 标签键,用于选择要在其中计算分布的 pod。这些键用于从传入的 pod 标签中查找值,这些键值标签由 labelSelector 匹配,以选择现有 pod 的组,用于为传入的 pod 计算。匹配键被禁止在 MatchLabelKeys 和 LabelSelector 中。当 LabelSelector 没有设置时,无法设置 matchLabelKeys。传入的 pod 标签中不存在的键将被忽略。null 或空列表表示仅与 labelSelector 匹配。 这是一个 beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。 |
|
|
maxSkew 描述了 pod 可能没有被均匀分布的程度。当 |
|
| MinDomains 表示合格的域数量。当具有匹配拓扑键的合格域数量小于 minDomains 时,Pod Topology Spread 会将"global minimum"视为 0,然后执行 Skew 的计算。当匹配拓扑键等于或大于 minDomains 的合格域数量时,这个值不会影响调度。因此,当有资格的域数量小于 minDomains 时,调度程序不会将超过 maxSkew Pod 的调度到这些域。如果值为 nil,则约束的行为就像 MinDomains 等于 1 一样。有效值为大于 0 的整数。如果值不是 nil,WhenUnsatisfiable 必须是 DoNotSchedule。 例如,在一个 3 个区集群中,MaxSkew 设置为 2,MinDomains 被设置为 5,且带有与 2/2/2: | zone1 | zone2 | zone2 | zone2 | zone3 | P P | P | P P | P P | P P | P P | 数量的域的数量小于 5 (MinDomains),因此"global minimum"被视为 0。在这种情况下,如果新 Pod 调度到任何三个区域,则无法调度具有相同 labelSelector 的新 pod,因为 computed skew 将为 3 (3 - 0),它将违反 MaxSkew。 这是一个 beta 字段,需要启用 MinDomainsInPodTopologySpread 功能门(默认启用)。 |
|
| NodeAffinityPolicy 表示在计算 pod 拓扑分布偏移时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项为:- Honor:只有与 nodeAffinity/nodeSelector 匹配的节点才会包含在计算中。- Ignore: nodeAffinity/nodeSelector 会被忽略。所有节点都包含在计算中。 如果这个值是 nil,则行为等同于 Honor 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。
可能枚举值:- |
|
| NodeTaintsPolicy 指示在计算 pod 拓扑分布偏移时如何对待节点污点。选项为:- Honor: 没有污点的节点,以及传入的 pod 具有容限的污点节点。- Ignore: node taint are ignored.所有节点都包括在内。 如果这个值是 nil,则行为等同于 Ignore 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。
可能枚举值:- |
|
| topologyKey 是节点标签的密钥。带有具有此键和相同值标签的节点被视为在同一拓扑中。我们把每个 <key, value> 视为 "bucket",并尝试将均衡的 pod 数量放在每个存储桶中。我们将域定义为拓扑的特定实例。另外,我们将一个有资格的域定义为节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 的要求的域。例如,如果 TopologyKey 为 "kubernetes.io/hostname",则每个节点都是该拓扑的域。如果 TopologyKey 是 "topology.kubernetes.io/zone",每个区都是该拓扑的域。这是必填字段。 |
|
| whenUnsatisfiable 表示如何在不满足分散约束的情况下处理 pod。- DoNotSchedule (default)告知调度程序不调度它。- ScheduleAnyway 告知调度程序将 pod 调度到任何位置,但为拓扑赋予更高优先级,有助于减少偏差。如果每个可能的节点分配都会在某些拓扑上违反"MaxSkew",则约束被视为"不satisfiable"。例如,在一个 3 区集群中,MaxSkew 设置为 1,而具有与 3/1/1: | zone1 | zone2 | zone2 | zone3 | P P | P | P | P | P | P | P | P | P | WhenUnsatisfiable 设置为 DoNotSchedule 的 pod 只能调度到 zone2 (zone3)要成为 3/2/1 (3/1/2),在 zone2 (zone3)中以 ActualSkew (2-1)满足 MaxSkew (1)。换句话说,集群仍然可以实现平衡,但调度程序不会使其更不平衡。这是必填字段。
可能枚举值:- |
3.1.251. .template.spec.volumes
- 描述
- 可以通过属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
- 类型
-
数组
3.1.252. .template.spec.volumes[]
- 描述
- 卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 代表 AWS 中的持久磁盘资源。 在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。 |
|
| azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。 |
|
| azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。 |
|
| 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。 |
|
| 将 ConfigMap 调整为卷。 目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名,除非 items 元素使用到路径的特定映射填充。ConfigMap 卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表要挂载的卷的源位置,由外部 CSI 驱动程序管理 |
|
| DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。 |
|
| 表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表由普通存储驱动程序处理的临时卷。 |
|
| 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。 |
|
| FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。 |
|
| 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Google Compute Engine 中的 Persistent Disk 资源。 挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。 |
|
| 代表填充 git 存储库内容的卷。Git 存储库卷不支持所有权管理。Git 存储库卷支持 SELinux 重新标记。 DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。 |
|
| 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。 |
|
| 卷的名称。必须是 DNS_LABEL,且必须在 pod 中唯一。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 基本上是一个由其他人(系统)拥有的另一个类型的卷的打包程序。 |
|
| 代表 Photon Controller 持久磁盘资源。 |
|
| PortworxVolumeSource 代表 Portworx 卷资源。 |
|
| 代表投射卷源 |
|
| 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。 |
|
| ScaleIOVolumeSource 代表持久的 ScaleIO 卷 |
|
| 将 Secret 调整为卷。 目标 Secret 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名。机密卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表 StorageOS 持久性卷资源。 |
|
| 代表 vSphere 卷资源。 |
3.1.253. .template.spec.volumes[].awsElasticBlockStore
- 描述
代表 AWS 中的持久磁盘资源。
在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。 |
|
| readonly 值 true 将强制 VolumeMount 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| VolumeId 是 AWS (Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
3.1.254. .template.spec.volumes[].azureDisk
- 描述
- azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
diskName
-
diskURI
-
属性 | 类型 | 描述 |
---|---|---|
|
| cachingMode 是主机缓存模式: None、Read Only、Read Write。
可能枚举值: - |
|
| diskname 是 blob 存储中的数据磁盘的 Name |
|
| diskURI 是 blob 存储中的数据磁盘的 URI |
|
| fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| kind 预期值为 Shared: 每个存储帐户 Dedicated 有多个 blob 磁盘:每个存储帐户 Managed: azure managed data disk (only on managed availability set). 默认为 shared
可能枚举值: - |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
3.1.255. .template.spec.volumes[].azureFile
- 描述
- azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
secretName
-
shareName
-
属性 | 类型 | 描述 |
---|---|---|
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称 |
|
| sharename 是 azure 共享名称 |
3.1.256. .template.spec.volumes[].cephfs
- 描述
- 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
属性 | 类型 | 描述 |
---|---|---|
|
| monitor 是必需的: monitor 是 Ceph 监视器更多信息的集合: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| 路径为可选:作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 / |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| secretfile 为 Optional: SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息 :https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| User 是可选的:用户是 rados 用户名,默认为 admin 更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
3.1.257. .template.spec.volumes[].cephfs.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.258. .template.spec.volumes[].cinder
- 描述
- 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| 用于识别 cinder 中的卷的 VolumeId。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
3.1.259. .template.spec.volumes[].cinder.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.260. .template.spec.volumes[].configMap
- 描述
将 ConfigMap 调整为卷。
目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名,除非 items 元素使用到路径的特定映射填充。ConfigMap 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是可选的:默认用于在创建的文件上设置权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选指定是否必须定义 ConfigMap 还是其键 |
3.1.261. .template.spec.volumes[].configMap.items
- 描述
- 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
数组
3.1.262. .template.spec.volumes[].configMap.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
3.1.263. .template.spec.volumes[].csi
- 描述
- 代表要挂载的卷的源位置,由外部 CSI 驱动程序管理
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是处理此卷的 CSI 驱动程序的名称。请参考您的 admin,了解集群中注册的正确名称。 |
|
| 要挂载的 fstype。Ex. "ext4", "xfs", "ntfs".如果没有提供,则会将空值传递给关联的 CSI 驱动程序,该驱动程序将决定要应用的默认文件系统。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| readonly 为卷指定只读配置。默认为 false (读/写)。 |
|
| volumeAttributes 存储传递给 CSI 驱动程序的驱动程序特定属性。有关支持的值,请参阅驱动程序的文档。 |
3.1.264. .template.spec.volumes[].csi.nodePublishSecretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.265. .template.spec.volumes[].downwardAPI
- 描述
- DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:默认在创建的文件上使用模式位。必须是 Optional: 模式位,用于默认对创建的文件设置权限。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| items 是 Downward API 卷文件的列表 |
|
| DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息 |
3.1.266. .template.spec.volumes[].downwardAPI.items
- 描述
- items 是 Downward API 卷文件的列表
- 类型
-
数组
3.1.267. .template.spec.volumes[].downwardAPI.items[]
- 描述
- DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| 可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
3.1.268. .template.spec.volumes[].downwardAPI.items[].fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
3.1.269. .template.spec.volumes[].downwardAPI.items[].resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
3.1.270. .template.spec.volumes[].emptyDir
- 描述
- 表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Medium 代表存储介质类型应支持这个目录。默认值为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| sizeLimit 是这个 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存用量的最大使用量为此处指定的 SizeLimit 和 pod 中所有容器的内存限值总和。默认值为 nil,这意味着限制未定义。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
3.1.271. .template.spec.volumes[].ephemeral
- 描述
- 代表由普通存储驱动程序处理的临时卷。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。 |
3.1.272. .template.spec.volumes[].ephemeral.volumeClaimTemplate
- 描述
- PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。
- 类型
-
object
- 必填
-
spec
-
属性 | 类型 | 描述 |
---|---|---|
| 可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。 | |
|
| PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性 |
3.1.273. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec
- 描述
- PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
| TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。 |
|
| 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
|
| VolumeResourceRequirements 描述了卷的存储资源要求。 |
| selector 是要考虑绑定的卷的标签查询。 | |
|
| storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
|
| volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用对应的 VolumeAttributesClass 中定义的属性创建或更新卷。这有一个不同于 storageClassName 的目的,可在创建声明后更改。空字符串表示,不会将 VolumeAttributesClass 应用到声明,但不允许在设置后将此字段重置为空字符串。如果未指定,并且 PersistentVolumeClaim 为 unbound,则 persistentvolume 控制器将设置默认的 VolumeAttributesClass (如果存在)。如果 volumeAttributesClass 引用的资源不存在,则这个 PersistentVolumeClaim 将被设置为 Pending 状态,如 modifyVolumeStatus 字段反映,直到资源存在为止。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha)使用此字段需要启用 VolumeAttributesClass 功能门。 |
|
| volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。
可能枚举值: - |
|
| volumeName 是对此声明支持的 PersistentVolume 的绑定引用。 |
3.1.274. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource
- 描述
- TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型 |
|
| name 是被引用的资源的名称 |
3.1.275. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef
- 描述
- 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型 |
|
| name 是被引用的资源的名称 |
|
| 命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
3.1.276. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources
- 描述
- VolumeResourceRequirements 描述了卷的存储资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
3.1.277. .template.spec.volumes[].fc
- 描述
- 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| LUN 是可选的:FC 目标 lun 号 |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| targetWWNs 是可选:FC 目标全球名称(WWN) |
|
| wwids 可选:FC 卷全局范围标识符(wwids) Either wwids 或 targetWWN 和 lun 的组合必须被设置,但不能同时设置。 |
3.1.278. .template.spec.volumes[].flexVolume
- 描述
- FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是用于此卷的驱动程序的名称。 |
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认文件系统依赖于 FlexVolume 脚本。 |
|
| 选项为 Optional:此字段包含额外的命令选项(若有)。 |
|
| readonly 为 Optional: 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
3.1.279. .template.spec.volumes[].flexVolume.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.280. .template.spec.volumes[].flocker
- 描述
- 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
datasetName 是数据存储为 Flocker dataset 上的 metadata |
|
| datasetUUID 是 dataset 的 UUID。这是 Flocker 数据集的唯一标识符 |
3.1.281. .template.spec.volumes[].gcePersistentDisk
- 描述
代表 Google Compute Engine 中的 Persistent Disk 资源。
挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
pdName
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| pdName 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
3.1.282. .template.spec.volumes[].gitRepo
- 描述
代表填充 git 存储库内容的卷。Git 存储库卷不支持所有权管理。Git 存储库卷支持 SELinux 重新标记。
DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。
- 类型
-
object
- 必填
-
软件仓库
-
属性 | 类型 | 描述 |
---|---|---|
|
| directory 是目标目录名称。不得包含或以 '..' 开头。如果提供了 '.',则卷目录将是 git 存储库。否则,如果指定,卷将在带有给定名称的子目录中包含 git 存储库。 |
|
| repository 是 URL |
|
| revision 是指定修订版本的提交哈希。 |
3.1.283. .template.spec.volumes[].glusterfs
- 描述
- 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
端点
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| Endpoints 是 Glusterfs 拓扑的详细信息的端点名称。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| path 是 Glusterfs 卷路径。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| 此处的 readonly 将强制 Glusterfs 卷以只读权限挂载。默认为false。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
3.1.284. .template.spec.volumes[].hostPath
- 描述
- 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 主机上目录的路径。如果路径是符号链接,它将遵循指向实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
|
| HostPath Volume 默认为 "" 更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
可能枚举值:- |
3.1.285. .template.spec.volumes[].iscsi
- 描述
- 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
targetPortal
-
iqn
-
lun
-
属性 | 类型 | 描述 |
---|---|---|
|
| chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证 |
|
| chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证 |
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
|
| initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。 |
|
| IQN 是目标 iSCSI 限定名称。 |
|
| iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。 |
|
| LUN 表示 iSCSI 目标 Lun 编号。 |
|
| 门户是 iSCSI 目标门户列表。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
3.1.286. .template.spec.volumes[].iscsi.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.287. .template.spec.volumes[].nfs
- 描述
- 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
server
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| 此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
3.1.288. .template.spec.volumes[].persistentVolumeClaim
- 描述
- PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 基本上是一个由其他人(系统)拥有的另一个类型的卷的打包程序。
- 类型
-
object
- 必填
-
claimName
-
属性 | 类型 | 描述 |
---|---|---|
|
| claimName 是与使用这个卷的 pod 相同的命名空间中的 PersistentVolumeClaim 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
| readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认 false。 |
3.1.289. .template.spec.volumes[].photonPersistentDisk
- 描述
- 代表 Photon Controller 持久磁盘资源。
- 类型
-
object
- 必填
-
pdID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| pdID 是标识 Photon Controller 持久磁盘的 ID |
3.1.290. .template.spec.volumes[].portworxVolume
- 描述
- PortworxVolumeSource 代表 Portworx 卷资源。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 代表要挂载的文件系统类型必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs".如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| VolumeId 唯一标识 Portworx 卷 |
3.1.291. .template.spec.volumes[].projected
- 描述
- 代表投射卷源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是默认用于在创建的文件上设置权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| sources 是卷投射列表 |
|
| 可投射以及其他支持的卷类型的预测 |
3.1.292. .template.spec.volumes[].projected.sources
- 描述
- sources 是卷投射列表
- 类型
-
数组
3.1.293. .template.spec.volumes[].projected.sources[]
- 描述
- 可投射以及其他支持的卷类型的预测
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ClusterTrustBundleProjection 描述了如何选择一组 ClusterTrustBundle 对象,并将其内容项目到 pod 文件系统中。 |
|
| 将 ConfigMap 调整为投射卷。 目标 ConfigMap 的 Data 字段的内容将作为文件显示在项目中,使用 Data 字段中的键作为文件名,除非 items 元素使用到路径的特定映射填充。请注意,这与没有默认模式的 configmap 卷源相同。 |
|
| 代表项目到投射卷的 Downward API 信息。请注意,这与没有默认模式的 downwardAPI 卷源相同。 |
|
| 将 secret 调整为投射卷。 目标 Secret 的 Data 字段的内容将以文件形式显示,以文件形式使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷源相同。 |
|
| ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此预测可用于将服务帐户令牌插入到 pod 运行时文件系统中,以针对 API (Kubernetes API Server 或其他)。 |
3.1.294. .template.spec.volumes[].projected.sources[].clusterTrustBundle
- 描述
- ClusterTrustBundleProjection 描述了如何选择一组 ClusterTrustBundle 对象,并将其内容项目到 pod 文件系统中。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
| 选择与这个标签选择器匹配的所有 ClusterTrustBundles。仅在设置了 signerName 时生效。使用名称互斥器.如果未设置,则解释为"匹配任何内容"。如果设置但为空,则解释为"匹配所有内容"。 | |
|
| 按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 相互排斥. |
|
| 如果为 true,如果引用的 ClusterTrustBundle 不可用,则不阻止 pod 启动。如果使用 name,则允许命名 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零 ClusterTrustBundles。 |
|
| 卷根的相对路径以写入捆绑包。 |
|
| 选择与这个签名者名称匹配的所有 ClusterTrustBundles。使用名称互斥器.所有所选 ClusterTrustBundles 的内容将统一并去除重复数据。 |
3.1.295. .template.spec.volumes[].projected.sources[].configMap
- 描述
将 ConfigMap 调整为投射卷。
目标 ConfigMap 的 Data 字段的内容将作为文件显示在项目中,使用 Data 字段中的键作为文件名,除非 items 元素使用到路径的特定映射填充。请注意,这与没有默认模式的 configmap 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选指定是否必须定义 ConfigMap 还是其键 |
3.1.296. .template.spec.volumes[].projected.sources[].configMap.items
- 描述
- 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
数组
3.1.297. .template.spec.volumes[].projected.sources[].configMap.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
3.1.298. .template.spec.volumes[].projected.sources[].downwardAPI
- 描述
- 代表项目到投射卷的 Downward API 信息。请注意,这与没有默认模式的 downwardAPI 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| items 是 DownwardAPIVolume 文件列表 |
|
| DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息 |
3.1.299. .template.spec.volumes[].projected.sources[].downwardAPI.items
- 描述
- items 是 DownwardAPIVolume 文件列表
- 类型
-
数组
3.1.300. .template.spec.volumes[].projected.sources[].downwardAPI.items[]
- 描述
- DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| 可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
3.1.301. .template.spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
3.1.302. .template.spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
3.1.303. .template.spec.volumes[].projected.sources[].secret
- 描述
将 secret 调整为投射卷。
目标 Secret 的 Data 字段的内容将以文件形式显示,以文件形式使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选字段指定是否必须定义 Secret 或其密钥 |
3.1.304. .template.spec.volumes[].projected.sources[].secret.items
- 描述
- 如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
数组
3.1.305. .template.spec.volumes[].projected.sources[].secret.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
3.1.306. .template.spec.volumes[].projected.sources[].serviceAccountToken
- 描述
- ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此预测可用于将服务帐户令牌插入到 pod 运行时文件系统中,以针对 API (Kubernetes API Server 或其他)。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 受众是令牌的预期使用者。令牌的接收者必须使用令牌使用者中指定的标识符来识别其自身,否则应拒绝令牌。受众默认为 apiserver 的标识符。 |
|
| expirationSeconds 是服务帐户令牌的请求的有效期。当令牌接近过期时,kubelet 卷插件会主动轮转服务帐户令牌。如果令牌的时间超过 80%,或者令牌早于 24 小时,则 kubelet 将开始尝试轮转令牌。默认为 1 小时,且必须至少为 10 分钟。 |
|
| path 是与文件挂载点相关的路径,用于将令牌放入其中。 |
3.1.307. .template.spec.volumes[].quobyte
- 描述
- 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
registry
-
卷
-
属性 | 类型 | 描述 |
---|---|---|
|
| 将卷访问映射到 Default 的组没有组 |
|
| 此处的 readonly 将强制使用只读权限挂载 Quobyte 卷。默认为false。 |
|
| registry 代表单个或多个 Quobyte Registry 服务,它指定为 host:port 对(多个条目用逗号分开),它充当卷的中央 registry |
|
| 在带有动态置备 Quobyte 卷的后端使用中拥有给定 Quobyte 卷的租户,由插件设置 |
|
| 用户,将卷访问权限映射到 Defaults 到 serivceaccount 用户 |
|
| volume 是按名称引用已创建 Quobyte 卷的字符串。 |
3.1.308. .template.spec.volumes[].rbd
- 描述
- 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
image
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
|
| image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| user 是 rados 用户名。默认为 admin。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
3.1.309. .template.spec.volumes[].rbd.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.310. .template.spec.volumes[].scaleIO
- 描述
- ScaleIOVolumeSource 代表持久的 ScaleIO 卷
- 类型
-
object
- 必填
-
gateway
-
system
-
secretRef
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认为 "xfs"。 |
|
| gateway 是 ScaleIO API 网关的主机地址。 |
|
| protectionDomain 是配置存储的 ScaleIO 保护域的名称。 |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| sslEnabled Flag 启用/禁用与网关的 SSL 通信,默认为 false |
|
| storageMode 指示卷的存储是否应 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。 |
|
| StoragePool 是与保护域关联的 ScaleIO 存储池。 |
|
| system 是 ScaleIO 中配置的存储系统的名称。 |
|
| volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。 |
3.1.311. .template.spec.volumes[].scaleIO.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.312. .template.spec.volumes[].secret
- 描述
将 Secret 调整为卷。
目标 Secret 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名。机密卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是可选:默认用于设置创建文件的权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 可选字段指定是否必须定义 Secret 或其密钥 |
|
| secretName 是要使用的 pod 命名空间中的 secret 名称。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret |
3.1.313. .template.spec.volumes[].secret.items
- 描述
- 如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
数组
3.1.314. .template.spec.volumes[].secret.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
3.1.315. .template.spec.volumes[].storageos
- 描述
- 代表 StorageOS 持久性卷资源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间中唯一。 |
|
| volumeNamespace 指定 StorageOS 中的卷范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称进行更紧密的集成。将 VolumeName 设置为任何名称,以覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。 |
3.1.316. .template.spec.volumes[].storageos.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
3.1.317. .template.spec.volumes[].vsphereVolume
- 描述
- 代表 vSphere 卷资源。
- 类型
-
object
- 必填
-
volumePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| storagePolicyID 是与 StoragePolicyName 关联的存储策略 Based Management (SPBM)配置集 ID。 |
|
| StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。 |
|
| volumePath 是标识 vSphere 卷 vmdk 的路径 |