搜索

14.13. PodTemplate [v1]

download PDF
描述
PodTemplate 描述用于创建预定义 pod 副本的模板。
类型
对象

14.13.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

模板

object

PodTemplateSpec 描述了从模板创建 pod 时应该具有的数据

14.13.1.1. .template

描述
PodTemplateSpec 描述了从模板创建 pod 时应该具有的数据
类型
object
属性类型描述

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

PodSpec 是 pod 的描述。

14.13.1.2. .template.spec

描述
PodSpec 是 pod 的描述。
类型
object
必填
  • containers
属性类型描述

activeDeadlineSeconds

整数

在系统主动尝试标记失败并终止相关的容器前,pod 可以在相对于 StartTime 的节点上处于活跃状态。值必须是正整数。

关联性

object

affinity 是一组关联性调度规则。

automountServiceAccountToken

布尔值

AutomountServiceAccountToken 指明是否应该自动挂载服务帐户令牌。

containers

array

属于 pod 的容器列表。容器目前无法添加或删除。Pod 中必须至少有一个容器。无法更新。

containers[]

对象

要在 pod 中运行的单一应用程序容器。

dnsConfig

object

PodDNSConfig 还定义了 pod 的 DNS 参数,除了从 DNSPolicy 生成的。

dnsPolicy

字符串

为 pod 设置 DNS 策略。默认为 "ClusterFirst"。有效值为 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' 或 'None'。DNSConfig 中给定的 DNS 参数将与选择与 DNSPolicy 的策略合并。要将 DNS 选项与 hostNetwork 一起设置,您必须将 DNS 策略明确指定为 'ClusterFirstWithHostNet'。

可能枚举值: - "ClusterFirst" 表示 pod 应该先使用集群 DNS,除非 hostNetwork 为 true,如果可用,则回退到默认的(由 kubelet 决定)DNS 设置。- "ClusterFirstWithHostNet" 表示 pod 应该首先使用集群 DNS,如果可用,则回退到它。 在默认的(由 kubelet 决定)DNS 设置中。- "Default" 表示 pod 应该使用默认(由 kubelet 决定)DNS 设置。- "None" 表示 pod 应该使用空的 DNS 设置。名称服务器和搜索路径等 DNS 参数应该通过 DNSConfig 定义。

enableServiceLinks

布尔值

EnableServiceLinks 指示是否应将有关服务的信息注入到 pod 的环境变量中,与 Docker 链接的语法匹配。可选:默认为 true。

ephemeralContainers

array

此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod 中,请使用 pod 的 ephemeralcontainers 子资源。

ephemeralContainers[]

object

EphemeralContainer 是一个临时容器,您可以为用户发起的活动(如调试)添加到现有 Pod 中。临时容器没有资源或调度保证,在 Pod 退出或重启时不会重启它们。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。

要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。可能无法删除或重启临时容器。

hostAliases

array

hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这只适用于非主机网络 pod。

hostAliases[]

对象

HostAlias 包含将作为 pod 主机文件中的条目注入的 IP 和主机名之间的映射。

hostIPC

布尔值

使用主机的 ipc 命名空间。可选:默认为 false。

hostNetwork

布尔值

为此 pod 请求的主机网络。使用主机的网络命名空间。如果设置了这个选项,则必须指定要使用的端口。默认为 false。

hostPID

布尔值

使用主机的 pid 命名空间。可选:默认为 false。

hostUsers

布尔值

使用主机的用户命名空间。可选:默认为 true。如果设置为 true 或不存在,则 pod 将在主机用户命名空间中运行,当 pod 需要可供主机用户命名空间使用的功能时,如加载带有 CAP_SYS_MODULE 的内核模块。当设置为 false 时,会为 pod 创建一个新的 userns。设置 false 有助于缓解容器中断漏洞,即使允许用户以 root 身份运行其容器,而无需实际在主机上具有 root 特权。此字段是 alpha-level,仅被启用 UserNamespacesSupport 功能的服务器所接受。

hostname

字符串

如果没有指定 Pod 的主机名,则 pod 的主机名将设置为系统定义的值。

imagePullSecrets

array

imagePullSecrets 是同一命名空间中 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

imagePullSecrets[]

对象

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

initContainers

array

属于 pod 的初始化容器列表。init 容器在容器启动前先执行。如果任何 init 容器失败,pod 被视为失败,并根据其 restartPolicy 处理。init 容器或普通容器的名称必须在所有容器间唯一。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。init 容器的 resourceRequirements 在调度过程中考虑,方法是为每个资源类型找到最高 request/limit,然后使用该值或普通容器的总和。限制以类似的方式应用到 init 容器。目前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

initContainers[]

对象

要在 pod 中运行的单一应用程序容器。

nodeName

字符串

nodeName 是一个将此 pod 调度到特定节点的请求。如果是非空,调度程序只会将此 pod 调度到该节点上,假设它符合资源要求。

nodeSelector

对象(字符串)

nodeSelector 是一个选择器,必须为 true 才能使 pod 适合节点。必须与 pod 标签匹配的选择器,才能调度到该节点上。更多信息: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

OS

object

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

字符串

preemptionPolicy 是抢占优先级较低的 pod 的策略。Never, PreemptLowerPriority 之一。如果未设置,则默认为 PreemptLowerPriority。

可能枚举值: - "Never" 表示 pod 不会抢占优先级较低的其他 pod。- "PreemptLowerPriority" 表示 pod 可以抢占优先级较低的其他 pod。

priority

整数

优先级值。各种系统组件使用此字段查找 pod 的优先级。启用 Priority Admission Controller 时,它会阻止用户设置此字段。准入控制器从 PriorityClassName 填充此字段。数值越大,优先级越高。

priorityClassName

字符串

如果指定,则表示 pod 的优先级。"system-node-critical"和"system-cluster-critical"是两个特殊关键字,表示前者最高的优先级。必须使用该名称创建 PriorityClass 对象来定义任何其他名称。如果没有指定,如果没有默认值,pod 优先级将为 default 或零。

readinessGates

array

如果指定,则会针对 pod 就绪度评估所有就绪度。当它的所有容器都就绪且在就绪度授权中指定的所有条件都等于"True"更多信息时,pod 已就绪: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates

readinessGates[]

对象

PodReadinessGate 包含对 pod 条件的引用

resourceClaims

数组

ResourceClaims 定义在允许 Pod 启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。

resourceClaims[]

object

PodResourceClaim 通过 ClaimSource 准确引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称引用它。

restartPolicy

字符串

为 pod 中的所有容器重启策略。Always、OnFailure、Never 之一。在某些上下文中,仅允许这些值的子集。默认值为 Always。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

可能枚举值: - "Always" - "Never" - "OnFailure"

runtimeClassName

字符串

runtimeClassName 指的是 node.k8s.io 组中的 RuntimeClass 对象,它应该用于运行此 pod。如果没有 RuntimeClass 资源与命名类匹配,则不会运行 pod。如果未设置或为空,则使用 "legacy" RuntimeClass,它是一个带有使用默认运行时处理器的空定义的隐式类。更多信息: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class

schedulerName

字符串

如果指定,pod 将由指定的调度程序分配。如果没有指定,pod 将默认调度程序分配。

schedulingGates

数组

SchedulingGates 是值(如果指定)将阻止调度 pod 的不透明列表。如果 schedulingGates 不是空的,pod 将保持在 SchedulingGated 状态,调度程序也不会尝试调度 pod。

SchedulingGates 只能在创建 pod 时设置,之后只能删除。

这是 PodSchedulingReadiness 功能门启用的 beta 功能。

schedulingGates[]

object

PodSchedulingGate 与 Pod 关联,以保护其调度。

securityContext

object

PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。

serviceAccount

字符串

deprecatedServiceAccount 是 ServiceAccountName 的前文别名。deprecated :改为使用 serviceAccountName。

serviceAccountName

字符串

serviceAccountName 是用于运行此 pod 的 ServiceAccount 的名称。更多信息: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

setHostnameAsFQDN

布尔值

如果为 true,则 pod 的主机名将配置为 pod 的 FQDN,而不是叶名称(默认值)。在 Linux 容器中,这意味着在内核的 hostname 字段中设置 FQDN ( struct utsname 的 nodename 字段)。在 Windows 容器中,这意味着将 registry 键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 的 registry 值设置为 FQDN。如果 pod 没有 FQDN,则无效。默认为 false。

shareProcessNamespace

布尔值

在 pod 中所有容器间共享单个进程命名空间。设置此容器后,将能够查看和信号来自同一 pod 中其他容器的进程,并且每个容器中的第一个进程不会被分配 PID 1。无法同时设置 hostPID 和 ShareProcessNamespace。可选:默认为 false。

subdomain

字符串

如果指定,完全限定的 Pod 主机名将是 "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>"。如果没有指定,pod 根本不会具有 domainname。

terminationGracePeriodSeconds

整数

pod 需要安全终止的可选持续时间(以秒为单位)。在删除请求中可能会减少。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。如果这个值为 nil,则使用默认的宽限期。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。默认值为 30 秒。

容限(tolerations)

array

如果指定,pod 的容限。

tolerations[]

对象

附加到此 Toleration 的 pod,以容许任何与 triple <key,value,effect> 匹配的污点,使用匹配的 operator <operator>。

topologySpreadConstraints

array

topologySpreadConstraints 描述如何在拓扑域中分散的 pod 组。调度程序将通过约束来调度 pod。所有 topologySpreadConstraints 都是 AND。

topologySpreadConstraints[]

对象

TopologySpreadConstraint 指定如何在给定的拓扑中分散匹配的 pod。

array

可由属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

对象

卷代表一个 pod 中的命名卷,可以被 pod 中的任何容器访问。

14.13.1.3. .template.spec.affinity

描述
affinity 是一组关联性调度规则。
类型
object
属性类型描述

nodeAffinity

object

节点关联性是一组节点关联性调度规则。

podAffinity

object

Pod 关联性是一组 pod 关联性调度规则。

podAntiAffinity

object

Pod 反关联性是一组 pod 反关联性调度规则。

14.13.1.4. .template.spec.affinity.nodeAffinity

描述
节点关联性是一组节点关联性调度规则。
类型
object
属性类型描述

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序希望将 pod 调度到满足此字段指定的关联性表达式的节点,但可以选择违反了一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 关联性表达式等)的每个节点,它通过迭代此字段元素并将 "weight" 添加到摘要中(如果节点与相应的 matchExpressions 匹配);节点具有最高总和和最高的节点。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

空首选调度术语与所有带有隐式权重 0 的对象匹配(例如,它是一个 no-op)。null 首选调度术语不匹配任何对象(例如,也是 no-op)。

requiredDuringSchedulingIgnoredDuringExecution

object

节点选择器表示一个或多个对一组节点的标签查询结果的联合;即,它代表节点选择器术语代表的选择器的 OR。

14.13.1.5. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述
调度程序希望将 pod 调度到满足此字段指定的关联性表达式的节点,但可以选择违反了一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 关联性表达式等)的每个节点,它通过迭代此字段元素并将 "weight" 添加到摘要中(如果节点与相应的 matchExpressions 匹配);节点具有最高总和和最高的节点。
类型
数组

14.13.1.6. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述
空首选调度术语与所有带有隐式权重 0 的对象匹配(例如,它是一个 no-op)。null 首选调度术语不匹配任何对象(例如,也是 no-op)。
类型
object
必填
  • weight
  • preference
属性类型描述

preference

object

null 或 empty 节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。

weight

整数

与对应的 nodeSelectorTerm 匹配的权重,范围为 1-100。

14.13.1.7. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference

描述
null 或 empty 节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
类型
object
属性类型描述

matchExpressions

array

节点标签(label)的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。

matchFields

array

节点字段的节点选择器要求列表。

matchFields[]

对象

节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。

14.13.1.8. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions

描述
节点标签(label)的节点选择器要求列表。
类型
数组

14.13.1.9. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]

描述
节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt, 和 Lt.

possible enum 值:- "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果 Operator 是 Gt 或 Lt,则值数组必须具有单个元素,该元素将解释为整数。这个数组会在策略性合并补丁中被替换。

14.13.1.10. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields

描述
节点字段的节点选择器要求列表。
类型
数组

14.13.1.11. .template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]

描述
节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt, 和 Lt.

possible enum 值:- "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果 Operator 是 Gt 或 Lt,则值数组必须具有单个元素,该元素将解释为整数。这个数组会在策略性合并补丁中被替换。

14.13.1.12. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述
节点选择器表示一个或多个对一组节点的标签查询结果的联合;即,它代表节点选择器术语代表的选择器的 OR。
类型
object
必填
  • nodeSelectorTerms
属性类型描述

nodeSelectorTerms

array

必需。节点选择器术语列表。条款是 ORed。

nodeSelectorTerms[]

对象

null 或 empty 节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。

14.13.1.13. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

描述
必需。节点选择器术语列表。条款是 ORed。
类型
数组

14.13.1.14. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]

描述
null 或 empty 节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
类型
object
属性类型描述

matchExpressions

array

节点标签(label)的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。

matchFields

array

节点字段的节点选择器要求列表。

matchFields[]

对象

节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。

14.13.1.15. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions

描述
节点标签(label)的节点选择器要求列表。
类型
数组

14.13.1.16. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]

描述
节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt, 和 Lt.

possible enum 值:- "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果 Operator 是 Gt 或 Lt,则值数组必须具有单个元素,该元素将解释为整数。这个数组会在策略性合并补丁中被替换。

14.13.1.17. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields

描述
节点字段的节点选择器要求列表。
类型
数组

14.13.1.18. .template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]

描述
节点选择器要求是一个选择器,其中包含值、键和与键和值关联的操作器。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt, 和 Lt.

possible enum 值:- "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果 Operator 是 Gt 或 Lt,则值数组必须具有单个元素,该元素将解释为整数。这个数组会在策略性合并补丁中被替换。

14.13.1.19. .template.spec.affinity.podAffinity

描述
Pod 关联性是一组 pod 关联性调度规则。
类型
object
属性类型描述

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序希望将 pod 调度到满足此字段指定的关联性表达式的节点,但可以选择违反了一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 关联性表达式等)的每个节点,它通过迭代此字段元素并将 "weight" 添加到摘要中,如果节点具有与相应 podAffinityTerm 匹配的 pod;具有最高总和最高的节点是首选的节点。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重都会被添加,以查找首选节点。

requiredDuringSchedulingIgnoredDuringExecution

array

如果在调度时不满足此字段指定的关联性要求,则 pod 不会调度到该节点上。如果在 pod 执行期间由此字段指定的关联性要求满足(例如,因为 pod 标签更新),则系统可能无法最终尝试从其节点中驱除 pod。当有多个元素时,每个 podAffinityTerm 对应的节点列表会被干扰,例如,所有术语都必须满足。

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配

14.13.1.20. .template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述
调度程序希望将 pod 调度到满足此字段指定的关联性表达式的节点,但可以选择违反了一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 关联性表达式等)的每个节点,它通过迭代此字段元素并将 "weight" 添加到摘要中,如果节点具有与相应 podAffinityTerm 匹配的 pod;具有最高总和最高的节点是首选的节点。
类型
数组

14.13.1.21. .template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述
所有匹配的 WeightedPodAffinityTerm 字段的权重都会被添加,以查找首选节点。
类型
object
必填
  • weight
  • podAffinityTerm
属性类型描述

podAffinityTerm

object

定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配

weight

整数

与对应的 podAffinityTerm 匹配的权重,范围为 1-100。

14.13.1.22. .template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

描述
定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

labelSelector

一个对一组资源的标签查询,本例中为 pod。

namespaceSelector

labelSelector

对术语应用到的命名空间集合的标签查询。术语应用于此字段选择的命名空间的联合,以及 namespaces 字段中列出的命名空间。null selector 和 null 或 empty namespace 列表表示"此 pod 的命名空间"。空选择器({})与所有命名空间匹配。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用于此字段中列出的命名空间,由 namespaceSelector. null 或空命名空间列表和 null namespaceSelector 选择的命名空间合并意味着"此 pod 的命名空间"。

topologyKey

字符串

此 pod 应该与指定命名空间中 labelSelector 匹配的 pod 在一起(关联性)或不并置(反关联性),其中 co-located 定义为在具有键 topologyKey 标签的节点中运行。不允许空的 topologyKey。

14.13.1.23. .template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述
如果在调度时不满足此字段指定的关联性要求,则 pod 不会调度到该节点上。如果在 pod 执行期间由此字段指定的关联性要求满足(例如,因为 pod 标签更新),则系统可能无法最终尝试从其节点中驱除 pod。当有多个元素时,每个 podAffinityTerm 对应的节点列表会被干扰,例如,所有术语都必须满足。
类型
数组

14.13.1.24. .template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述
定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

labelSelector

一个对一组资源的标签查询,本例中为 pod。

namespaceSelector

labelSelector

对术语应用到的命名空间集合的标签查询。术语应用于此字段选择的命名空间的联合,以及 namespaces 字段中列出的命名空间。null selector 和 null 或 empty namespace 列表表示"此 pod 的命名空间"。空选择器({})与所有命名空间匹配。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用于此字段中列出的命名空间,由 namespaceSelector. null 或空命名空间列表和 null namespaceSelector 选择的命名空间合并意味着"此 pod 的命名空间"。

topologyKey

字符串

此 pod 应该与指定命名空间中 labelSelector 匹配的 pod 在一起(关联性)或不并置(反关联性),其中 co-located 定义为在具有键 topologyKey 标签的节点中运行。不允许空的 topologyKey。

14.13.1.25. .template.spec.affinity.podAntiAffinity

描述
Pod 反关联性是一组 pod 反关联性调度规则。
类型
object
属性类型描述

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序希望将 pod 调度到满足此字段指定的反关联性表达式的节点,但可以选择违反了一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,它通过迭代此字段元素来计算和将"权重"添加到节点具有与相应 podAffinityTerm 匹配的 pod;如果节点具有与相应 podAffinityTerm 匹配的 pod,则该节点是首选的。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重都会被添加,以查找首选节点。

requiredDuringSchedulingIgnoredDuringExecution

array

如果在调度时不满足由此字段指定的反关联性要求,则 pod 不会调度到节点上。如果在 pod 执行期间由此字段指定的反关联性要求满足(例如,因为 pod 标签更新),则系统可能无法最终尝试从其节点中驱除 pod。当有多个元素时,每个 podAffinityTerm 对应的节点列表会被干扰,例如,所有术语都必须满足。

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配

14.13.1.26. .template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述
调度程序希望将 pod 调度到满足此字段指定的反关联性表达式的节点,但可以选择违反了一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,它通过迭代此字段元素来计算和将"权重"添加到节点具有与相应 podAffinityTerm 匹配的 pod;如果节点具有与相应 podAffinityTerm 匹配的 pod,则该节点是首选的。
类型
数组

14.13.1.27. .template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述
所有匹配的 WeightedPodAffinityTerm 字段的权重都会被添加,以查找首选节点。
类型
object
必填
  • weight
  • podAffinityTerm
属性类型描述

podAffinityTerm

object

定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配

weight

整数

与对应的 podAffinityTerm 匹配的权重,范围为 1-100。

14.13.1.28. .template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

描述
定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

labelSelector

一个对一组资源的标签查询,本例中为 pod。

namespaceSelector

labelSelector

对术语应用到的命名空间集合的标签查询。术语应用于此字段选择的命名空间的联合,以及 namespaces 字段中列出的命名空间。null selector 和 null 或 empty namespace 列表表示"此 pod 的命名空间"。空选择器({})与所有命名空间匹配。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用于此字段中列出的命名空间,由 namespaceSelector. null 或空命名空间列表和 null namespaceSelector 选择的命名空间合并意味着"此 pod 的命名空间"。

topologyKey

字符串

此 pod 应该与指定命名空间中 labelSelector 匹配的 pod 在一起(关联性)或不并置(反关联性),其中 co-located 定义为在具有键 topologyKey 标签的节点中运行。不允许空的 topologyKey。

14.13.1.29. .template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述
如果在调度时不满足由此字段指定的反关联性要求,则 pod 不会调度到节点上。如果在 pod 执行期间由此字段指定的反关联性要求满足(例如,因为 pod 标签更新),则系统可能无法最终尝试从其节点中驱除 pod。当有多个元素时,每个 podAffinityTerm 对应的节点列表会被干扰,例如,所有术语都必须满足。
类型
数组

14.13.1.30. .template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述
定义一组 pod (与给定命名空间匹配的 labelSelector 匹配),此 pod 应该与 pod 共存(关联性)或不共存(反关联性)匹配,其中 co-located 定义在带有键 <topologyKey> 标签的节点上运行,其标签的值与运行 pod 的任何节点匹配
类型
object
必填
  • topologyKey
属性类型描述

labelSelector

labelSelector

一个对一组资源的标签查询,本例中为 pod。

namespaceSelector

labelSelector

对术语应用到的命名空间集合的标签查询。术语应用于此字段选择的命名空间的联合,以及 namespaces 字段中列出的命名空间。null selector 和 null 或 empty namespace 列表表示"此 pod 的命名空间"。空选择器({})与所有命名空间匹配。

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用于此字段中列出的命名空间,由 namespaceSelector. null 或空命名空间列表和 null namespaceSelector 选择的命名空间合并意味着"此 pod 的命名空间"。

topologyKey

字符串

此 pod 应该与指定命名空间中 labelSelector 匹配的 pod 在一起(关联性)或不并置(反关联性),其中 co-located 定义为在具有键 topologyKey 标签的节点中运行。不允许空的 topologyKey。

14.13.1.31. .template.spec.containers

描述
属于 pod 的容器列表。容器目前无法添加或删除。Pod 中必须至少有一个容器。无法更新。
类型
数组

14.13.1.32. .template.spec.containers[]

描述
要在 pod 中运行的单一应用程序容器。
类型
object
必填
  • name
属性类型描述

args

数组(字符串)

入口点的参数。如果没有提供,则使用容器镜像的 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

env

array

要在容器中设置的环境变量列表。无法更新。

env[]

对象

EnvVar 代表容器中存在的环境变量。

envFrom

array

用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。

envFrom[]

对象

EnvFromSource 代表一组 ConfigMap 的源

image

string

容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器中的容器镜像,如 Deployment 和 StatefulSets。

imagePullPolicy

字符串

镜像拉取策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images

可能枚举值: - "Always" 表示 kubelet 始终会尝试拉取最新的镜像。如果拉取失败,则容器将失败。- "IfNotPresent" 表示 kubelet 在磁盘上不存在时拉取。如果镜像不存在,且拉取失败,则容器将失败。- "Never" 表示 kubelet 不会拉取镜像,但只使用本地镜像。如果镜像不存在,容器将失败

生命周期

object

生命周期描述了管理系统在响应容器生命周期事件时应采取的操作。对于 PostStart 和 PreStop 生命周期处理程序,在操作完成前管理容器块,除非容器进程失败,在这种情况下,处理程序会中止。

livenessProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

name

字符串

指定为 DNS_LABEL 的容器的名称。pod 中的每个容器都必须具有唯一名称(DNS_LABEL)。无法更新。

ports

array

要从容器公开的端口列表。不在此处指定端口 不会阻止公开该端口。任何正在侦听容器内的默认"0.0.0.0"地址的端口都可以从网络访问。使用战略合并补丁修改此阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

ports[]

对象

containerPort 代表单一容器中的网络端口。

readinessProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

resizePolicy

数组

容器的资源重新定义策略大小。

resizePolicy[]

object

ContainerResizePolicy 代表容器的资源大小策略。

resources

对象

ResourceRequirements 描述计算资源要求。

securityContext

object

securityContext 包含将应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当同时设置这两个时,SecurityContext 中的值就会优先使用。

startupProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

stdin

布尔值

此容器是否应该为容器运行时中的 stdin 分配缓冲区。如果没有设置,则从容器中的 stdin 读取总是会导致 EOF。默认值为 false。

stdinOnce

布尔值

容器运行时是否应该在单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话之间保持打开。如果将 stdinOnce 设为 true,则 stdin 在容器启动时打开,会为空,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,而时间 stdin 被关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认值为 false

terminationMessagePath

字符串

可选:将容器终止消息写入的文件路径被挂载到容器文件系统中。编写的消息应该是简短的最终状态,如断言失败消息。如果大于 4096 字节,则节点将被截断。所有容器的消息长度限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

字符串

指明如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。如果终止消息文件为空,并且容器退出并显示错误,则 FallbackToLogsOnError 将使用容器日志输出的最后块。日志输出限制为 2048 字节或 80 行,以较大者为准。默认为 file。无法更新。

可能的 enum 值: - "FallbackToLogsOnError" 会在容器退出时读取容器状态消息的最新内容,且 terminationMessagePath 没有内容。- "File" 是默认行为,并将容器状态消息设置为容器终止MessagePath 的内容。

tty

布尔值

此容器是否应为自己分配 TTY,还需要 'stdin' 为 true。默认值为 false。

volumeDevices

array

volumeDevices 是容器使用的块设备列表。

volumeDevices[]

对象

volumeDevice 描述容器中原始块设备的映射。

volumeMounts

array

要挂载到容器文件系统中的 Pod 卷。无法更新。

volumeMounts[]

对象

VolumeMount 描述了在容器中挂载卷。

workingDir

字符串

容器的工作目录。如果没有指定,则使用容器运行时的默认值,这可能会在容器镜像中配置。无法更新。

14.13.1.33. .template.spec.containers[].env

描述
要在容器中设置的环境变量列表。无法更新。
类型
数组

14.13.1.34. .template.spec.containers[].env[]

描述
EnvVar 代表容器中存在的环境变量。
类型
object
必填
  • name
属性类型描述

name

字符串

环境变量的名称。必须是 C_IDENTIFIER。

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,输入字符串中的引用将不会改变。双引号被减少为一个 $,它允许转义 $(VAR_NAME)语法:例如:" (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会被扩展,无论变量是否存在。默认值为 ""。

valueFrom

object

EnvVarSource 代表 EnvVarar 的值的一个源。

14.13.1.35. .template.spec.containers[].env[].valueFrom

描述
EnvVarSource 代表 EnvVarar 的值的一个源。
类型
object
属性类型描述

configMapKeyRef

object

从 ConfigMap 中选择一个键。

fieldRef

object

ObjectFieldSelector 选择对象的 APIVersioned 字段。

resourceFieldRef

object

ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式

secretKeyRef

object

SecretKeySelector 选择 Secret 的密钥。

14.13.1.36. .template.spec.containers[].env[].valueFrom.configMapKeyRef

描述
从 ConfigMap 中选择一个键。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否必须定义 ConfigMap 还是其键

14.13.1.37. .template.spec.containers[].env[].valueFrom.fieldRef

描述
ObjectFieldSelector 选择对象的 APIVersioned 字段。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

FieldPath 用术语编写的 schema 版本,默认为 "v1"。

fieldPath

字符串

在指定 API 版本中选择的字段路径。

14.13.1.38. .template.spec.containers[].env[].valueFrom.resourceFieldRef

描述
ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷所需,对于 env vars 是可选的

divisor

数量

指定公开资源的输出格式,默认为 "1"

resource

字符串

必需:要选择的资源

14.13.1.39. .template.spec.containers[].env[].valueFrom.secretKeyRef

描述
SecretKeySelector 选择 Secret 的密钥。
类型
object
必填
  • key
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否需要定义 Secret 或其密钥

14.13.1.40. .template.spec.containers[].envFrom

描述
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
类型
数组

14.13.1.41. .template.spec.containers[].envFrom[]

描述
EnvFromSource 代表一组 ConfigMap 的源
类型
object
属性类型描述

configMapRef

object

ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。

目标 ConfigMap 的 Data 字段的内容将以环境变量的形式表示键值对。

prefix

字符串

用于添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。

secretRef

object

SecretEnvSource 选择一个 Secret 来填充环境变量。

目标 Secret 的数据字段的内容将以环境变量的形式表示键值对。

14.13.1.42. .template.spec.containers[].envFrom[].configMapRef

描述

ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。

目标 ConfigMap 的 Data 字段的内容将以环境变量的形式表示键值对。

类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否必须定义 ConfigMap

14.13.1.43. .template.spec.containers[].envFrom[].secretRef

描述

SecretEnvSource 选择一个 Secret 来填充环境变量。

目标 Secret 的数据字段的内容将以环境变量的形式表示键值对。

类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否需要定义 Secret

14.13.1.44. .template.spec.containers[].lifecycle

描述
生命周期描述了管理系统在响应容器生命周期事件时应采取的操作。对于 PostStart 和 PreStop 生命周期处理程序,在操作完成前管理容器块,除非容器进程失败,在这种情况下,处理程序会中止。
类型
object
属性类型描述

postStart

object

LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。

preStop

object

LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。

14.13.1.45. .template.spec.containers[].lifecycle.postStart

描述
LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

14.13.1.46. .template.spec.containers[].lifecycle.postStart.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.47. .template.spec.containers[].lifecycle.postStart.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.48. .template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.49. .template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.50. .template.spec.containers[].lifecycle.postStart.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.51. .template.spec.containers[].lifecycle.preStop

描述
LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

14.13.1.52. .template.spec.containers[].lifecycle.preStop.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.53. .template.spec.containers[].lifecycle.preStop.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.54. .template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.55. .template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.56. .template.spec.containers[].lifecycle.preStop.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.57. .template.spec.containers[].livenessProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.58. .template.spec.containers[].livenessProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.59. .template.spec.containers[].livenessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.60. .template.spec.containers[].livenessProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.61. .template.spec.containers[].livenessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.62. .template.spec.containers[].livenessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.63. .template.spec.containers[].livenessProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.64. .template.spec.containers[].ports

描述
要从容器公开的端口列表。不在此处指定端口 不会阻止公开该端口。任何正在侦听容器内的默认"0.0.0.0"地址的端口都可以从网络访问。使用战略合并补丁修改此阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
类型
数组

14.13.1.65. .template.spec.containers[].ports[]

描述
containerPort 代表单一容器中的网络端口。
类型
object
必填
  • containerPort
属性类型描述

containerPort

整数

在 pod 的 IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。

hostIP

字符串

将外部端口绑定到的主机 IP。

hostPort

整数

要在主机上公开的端口号。如果指定,这必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则必须匹配 ContainerPort。大多数容器都不需要此操作。

name

字符串

如果指定,这必须是 IANA_SVC_NAME,并在 pod 中唯一。pod 中的每个指定端口都必须具有唯一的名称。服务可以引用的端口的名称。

protocol

字符串

端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。

可能的值有: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

14.13.1.66. .template.spec.containers[].readinessProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.67. .template.spec.containers[].readinessProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.68. .template.spec.containers[].readinessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.69. .template.spec.containers[].readinessProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.70. .template.spec.containers[].readinessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.71. .template.spec.containers[].readinessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.72. .template.spec.containers[].readinessProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.73. .template.spec.containers[].resizePolicy

描述
容器的资源重新定义策略大小。
类型
数组

14.13.1.74. .template.spec.containers[].resizePolicy[]

描述
ContainerResizePolicy 代表容器的资源大小策略。
类型
object
必填
  • resourceName
  • restartPolicy
属性类型描述

resourceName

string

应用此资源调整大小策略的资源名称。支持的值:cpu、memory。

restartPolicy

string

在调整指定资源大小时,重启策略会应用。如果没有指定,则默认为 NotRequired。

14.13.1.75. .template.spec.containers[].resources

描述
ResourceRequirements 描述计算资源要求。
类型
object
属性类型描述

声明

数组

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

claim[]

object

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

对象(数量)

限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

对象(数量)

Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

14.13.1.76. .template.spec.containers[].resources.claims

描述

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

类型
数组

14.13.1.77. .template.spec.containers[].resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中一个条目的名称匹配。它使得资源在容器内可用。

14.13.1.78. .template.spec.containers[].securityContext

描述
securityContext 包含将应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当同时设置这两个时,SecurityContext 中的值就会优先使用。
类型
object
属性类型描述

allowPrivilegeEscalation

布尔值

allowPrivilegeEscalation 控制进程是否可以获得比父进程更多的特权。此 bool 直接控制容器进程中是否设置了 no_new_privs 标志。当容器以 Privileged 2 运行为 Privileged 2 时,allowPrivilegeEscalation 为 true 时,当 spec.os.name 为窗口时,无法设置此字段。

功能

object

从正在运行的容器中添加和删除 POSIX 功能。

privileged

布尔值

以特权模式运行容器。特权容器中的进程实质上相当于主机上的 root 用户。默认为false。请注意,当 spec.os.name 是窗口时,无法设置此字段。

procMount

字符串

procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它对只读路径和屏蔽的路径使用容器运行时默认值。这需要启用 ProcMountType 功能标记。请注意,当 spec.os.name 是窗口时,无法设置此字段。

可能枚举值: - "Default" 将容器运行时默认值用于 /proc 的 readonly 和 masked 路径。大多数容器运行时屏蔽 /proc 中的某些路径,以避免意外暴露特殊设备或信息。- "Unmasked" 绕过容器运行时的默认屏蔽行为,并确保新创建的 /proc 容器在没有修改的情况下保持不变。

readOnlyRootFilesystem

布尔值

此容器是否具有只读根文件系统。默认值为 false。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsGroup

整数

运行容器进程的入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsNonRoot

布尔值

表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root)运行,如果容器确实无法启动它,则无法启动它。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

runAsUser

整数

运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。请注意,当 spec.os.name 是窗口时,无法设置此字段。

seLinuxOptions

object

seLinuxOptions 是要应用到容器的标签

seccompProfile

object

SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。

windowsOptions

object

WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。

14.13.1.79. .template.spec.containers[].securityContext.capabilities

描述
从正在运行的容器中添加和删除 POSIX 功能。
类型
object
属性类型描述

add

数组(字符串)

添加了功能

drop

数组(字符串)

删除的功能

14.13.1.80. .template.spec.containers[].securityContext.seLinuxOptions

描述
seLinuxOptions 是要应用到容器的标签
类型
object
属性类型描述

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

14.13.1.81. .template.spec.containers[].securityContext.seccompProfile

描述
SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是相对于 kubelet 配置的 seccomp 配置集位置的降序路径。只有当 type 为 "Localhost" 时,才必须设置。

type

字符串

type 表示将应用了哪些 seccomp 配置集。有效选项有:

localhost - 应该使用节点上文件中定义的配置集。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用任何配置集。

可能枚举值: - "Localhost" 表示应使用节点上文件中定义的配置集。文件相对于 <kubelet-root-dir>/seccomp. - "RuntimeDefault" 代表默认的容器运行时 seccomp 配置集。- "Unconfined" 表示没有应用 seccomp 配置集(A.K.A. unconfined)。

14.13.1.82. .template.spec.containers[].securityContext.windowsOptions

描述
WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联 GMSA 凭证规格的内容,由 GMSACredentialSpecName 字段命名。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证 spec 的名称。

hostProcess

布尔值

HostProcess 确定容器是否应该作为"主机进程"容器运行。此字段是 alpha-level,仅由启用 WindowsHostProcessContainers 功能标记的组件所接受。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。Pod 的容器必须具有相同的有效 HostProcess 值(不允许混合 HostProcess 容器和非主机Process 容器)。另外,如果 HostProcess 为 true,则 HostNetwork 还必须设置为 true。

runAsUserName

字符串

Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

14.13.1.83. .template.spec.containers[].startupProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.84. .template.spec.containers[].startupProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.85. .template.spec.containers[].startupProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.86. .template.spec.containers[].startupProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.87. .template.spec.containers[].startupProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.88. .template.spec.containers[].startupProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.89. .template.spec.containers[].startupProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.90. .template.spec.containers[].volumeDevices

描述
volumeDevices 是容器使用的块设备列表。
类型
数组

14.13.1.91. .template.spec.containers[].volumeDevices[]

描述
volumeDevice 描述容器中原始块设备的映射。
类型
object
必填
  • name
  • devicePath
属性类型描述

devicePath

字符串

DevicePath 是设备要映射到的容器内的路径。

name

字符串

name 必须与 pod 中的 persistentVolumeClaim 的名称匹配

14.13.1.92. .template.spec.containers[].volumeMounts

描述
要挂载到容器文件系统中的 Pod 卷。无法更新。
类型
数组

14.13.1.93. .template.spec.containers[].volumeMounts[]

描述
VolumeMount 描述了在容器中挂载卷。
类型
object
必填
  • name
  • mountPath
属性类型描述

mountPath

字符串

在容器中挂载卷的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定如何将挂载从主机传播到容器,以及相关的其他方法。如果没有设置,则使用 MountPropagationNone。此字段是 1.10 中的 beta。

可能枚举值: - "Bidirectional" 表示容器中的卷将从主机或其他容器接收新挂载,并且其自身的挂载将从容器传播到主机或其他容器。请注意,这个模式会递归应用到 Linux 术语中的卷中的所有挂载。- "HostToContainer" 表示容器中的卷将从主机或其他容器中接收新挂载,但挂载到容器中的文件系统不会传播到主机或其他容器。请注意,这个模式会递归应用到卷中的所有挂载("rslave")。- "None" 表示容器中的卷不会从主机或其他容器接收新挂载,以及挂载到容器中的文件系统不会传播到主机或其他容器。请注意,这个模式与 Linux 术语中的"private"对应。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读形式挂载(否则为 读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的根目录)。

subPathExpr

字符串

应从中挂载容器卷的卷中扩展路径。行为与 SubPath 相似,但环境变量引用 $(VAR_NAME)使用容器的环境进行扩展。默认为 "" (卷的根目录)。SubPathExpr 和 SubPath 是互斥的。

14.13.1.94. .template.spec.dnsConfig

描述
PodDNSConfig 还定义了 pod 的 DNS 参数,除了从 DNSPolicy 生成的。
类型
object
属性类型描述

nameservers

数组(字符串)

DNS 名称服务器 IP 地址列表。这将附加到从 DNSPolicy 生成的基本名称服务器。将删除重复的名称服务器。

options

array

DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。将删除重复的条目。Options 中给出的解析选项将覆盖基本 DNSPolicy 中显示的解析选项。

options[]

对象

PodDNSConfigOption 定义 pod 的 DNS 解析器选项。

搜索

数组(字符串)

host-name 查找的 DNS 搜索域列表。这将附加到 DNSPolicy 生成的基本搜索路径中。将删除重复的搜索路径。

14.13.1.95. .template.spec.dnsConfig.options

描述
DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。将删除重复的条目。Options 中给出的解析选项将覆盖基本 DNSPolicy 中显示的解析选项。
类型
数组

14.13.1.96. .template.spec.dnsConfig.options[]

描述
PodDNSConfigOption 定义 pod 的 DNS 解析器选项。
类型
object
属性类型描述

name

字符串

必需。

value

string

 

14.13.1.97. .template.spec.ephemeralContainers

描述
此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod 中,请使用 pod 的 ephemeralcontainers 子资源。
类型
数组

14.13.1.98. .template.spec.ephemeralContainers[]

描述

EphemeralContainer 是一个临时容器,您可以为用户发起的活动(如调试)添加到现有 Pod 中。临时容器没有资源或调度保证,在 Pod 退出或重启时不会重启它们。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。

要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。可能无法删除或重启临时容器。

类型
object
必填
  • name
属性类型描述

args

数组(字符串)

入口点的参数。如果没有提供,则使用镜像的 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

env

array

要在容器中设置的环境变量列表。无法更新。

env[]

对象

EnvVar 代表容器中存在的环境变量。

envFrom

array

用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。

envFrom[]

对象

EnvFromSource 代表一组 ConfigMap 的源

image

string

容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images

imagePullPolicy

字符串

镜像拉取策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images

可能枚举值: - "Always" 表示 kubelet 始终会尝试拉取最新的镜像。如果拉取失败,则容器将失败。- "IfNotPresent" 表示 kubelet 在磁盘上不存在时拉取。如果镜像不存在,且拉取失败,则容器将失败。- "Never" 表示 kubelet 不会拉取镜像,但只使用本地镜像。如果镜像不存在,容器将失败

生命周期

object

生命周期描述了管理系统在响应容器生命周期事件时应采取的操作。对于 PostStart 和 PreStop 生命周期处理程序,在操作完成前管理容器块,除非容器进程失败,在这种情况下,处理程序会中止。

livenessProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

name

字符串

指定为 DNS_LABEL 的临时容器的名称。此名称在所有容器、init 容器和临时容器中必须是唯一的。

ports

array

临时容器不允许使用端口。

ports[]

对象

containerPort 代表单一容器中的网络端口。

readinessProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

resizePolicy

数组

容器的资源重新定义策略大小。

resizePolicy[]

object

ContainerResizePolicy 代表容器的资源大小策略。

resources

对象

ResourceRequirements 描述计算资源要求。

securityContext

object

securityContext 包含将应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当同时设置这两个时,SecurityContext 中的值就会优先使用。

startupProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

stdin

布尔值

此容器是否应该为容器运行时中的 stdin 分配缓冲区。如果没有设置,则从容器中的 stdin 读取总是会导致 EOF。默认值为 false。

stdinOnce

布尔值

容器运行时是否应该在单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话之间保持打开。如果将 stdinOnce 设为 true,则 stdin 在容器启动时打开,会为空,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,而时间 stdin 被关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认值为 false

targetContainerName

字符串

如果设置,则此临时容器目标的 PodSpec 中的容器名称。临时容器将在此容器的命名空间中运行(IPC、PID 等)。如果没有设置,则临时容器将使用 Pod spec 中配置的命名空间。

容器运行时必须实施对此功能的支持。如果运行时不支持以命名空间为目标,则设置此字段的结果未定义。

terminationMessagePath

字符串

可选:将容器终止消息写入的文件路径被挂载到容器文件系统中。编写的消息应该是简短的最终状态,如断言失败消息。如果大于 4096 字节,则节点将被截断。所有容器的消息长度限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

字符串

指明如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。如果终止消息文件为空,并且容器退出并显示错误,则 FallbackToLogsOnError 将使用容器日志输出的最后块。日志输出限制为 2048 字节或 80 行,以较大者为准。默认为 file。无法更新。

可能的 enum 值: - "FallbackToLogsOnError" 会在容器退出时读取容器状态消息的最新内容,且 terminationMessagePath 没有内容。- "File" 是默认行为,并将容器状态消息设置为容器终止MessagePath 的内容。

tty

布尔值

此容器是否应为自己分配 TTY,还需要 'stdin' 为 true。默认值为 false。

volumeDevices

array

volumeDevices 是容器使用的块设备列表。

volumeDevices[]

对象

volumeDevice 描述容器中原始块设备的映射。

volumeMounts

array

要挂载到容器文件系统中的 Pod 卷。临时容器不允许进行 subPath 挂载。无法更新。

volumeMounts[]

对象

VolumeMount 描述了在容器中挂载卷。

workingDir

字符串

容器的工作目录。如果没有指定,则使用容器运行时的默认值,这可能会在容器镜像中配置。无法更新。

14.13.1.99. .template.spec.ephemeralContainers[].env

描述
要在容器中设置的环境变量列表。无法更新。
类型
数组

14.13.1.100. .template.spec.ephemeralContainers[].env[]

描述
EnvVar 代表容器中存在的环境变量。
类型
object
必填
  • name
属性类型描述

name

字符串

环境变量的名称。必须是 C_IDENTIFIER。

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,输入字符串中的引用将不会改变。双引号被减少为一个 $,它允许转义 $(VAR_NAME)语法:例如:" (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会被扩展,无论变量是否存在。默认值为 ""。

valueFrom

object

EnvVarSource 代表 EnvVarar 的值的一个源。

14.13.1.101. .template.spec.ephemeralContainers[].env[].valueFrom

描述
EnvVarSource 代表 EnvVarar 的值的一个源。
类型
object
属性类型描述

configMapKeyRef

object

从 ConfigMap 中选择一个键。

fieldRef

object

ObjectFieldSelector 选择对象的 APIVersioned 字段。

resourceFieldRef

object

ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式

secretKeyRef

object

SecretKeySelector 选择 Secret 的密钥。

14.13.1.102. .template.spec.ephemeralContainers[].env[].valueFrom.configMapKeyRef

描述
从 ConfigMap 中选择一个键。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否必须定义 ConfigMap 还是其键

14.13.1.103. .template.spec.ephemeralContainers[].env[].valueFrom.fieldRef

描述
ObjectFieldSelector 选择对象的 APIVersioned 字段。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

FieldPath 用术语编写的 schema 版本,默认为 "v1"。

fieldPath

字符串

在指定 API 版本中选择的字段路径。

14.13.1.104. .template.spec.ephemeralContainers[].env[].valueFrom.resourceFieldRef

描述
ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷所需,对于 env vars 是可选的

divisor

数量

指定公开资源的输出格式,默认为 "1"

resource

字符串

必需:要选择的资源

14.13.1.105. .template.spec.ephemeralContainers[].env[].valueFrom.secretKeyRef

描述
SecretKeySelector 选择 Secret 的密钥。
类型
object
必填
  • key
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否需要定义 Secret 或其密钥

14.13.1.106. .template.spec.ephemeralContainers[].envFrom

描述
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
类型
数组

14.13.1.107. .template.spec.ephemeralContainers[].envFrom[]

描述
EnvFromSource 代表一组 ConfigMap 的源
类型
object
属性类型描述

configMapRef

object

ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。

目标 ConfigMap 的 Data 字段的内容将以环境变量的形式表示键值对。

prefix

字符串

用于添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。

secretRef

object

SecretEnvSource 选择一个 Secret 来填充环境变量。

目标 Secret 的数据字段的内容将以环境变量的形式表示键值对。

14.13.1.108. .template.spec.ephemeralContainers[].envFrom[].configMapRef

描述

ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。

目标 ConfigMap 的 Data 字段的内容将以环境变量的形式表示键值对。

类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否必须定义 ConfigMap

14.13.1.109. .template.spec.ephemeralContainers[].envFrom[].secretRef

描述

SecretEnvSource 选择一个 Secret 来填充环境变量。

目标 Secret 的数据字段的内容将以环境变量的形式表示键值对。

类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否需要定义 Secret

14.13.1.110. .template.spec.ephemeralContainers[].lifecycle

描述
生命周期描述了管理系统在响应容器生命周期事件时应采取的操作。对于 PostStart 和 PreStop 生命周期处理程序,在操作完成前管理容器块,除非容器进程失败,在这种情况下,处理程序会中止。
类型
object
属性类型描述

postStart

object

LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。

preStop

object

LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。

14.13.1.111. .template.spec.ephemeralContainers[].lifecycle.postStart

描述
LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

14.13.1.112. .template.spec.ephemeralContainers[].lifecycle.postStart.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.113. .template.spec.ephemeralContainers[].lifecycle.postStart.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.114. .template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.115. .template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.116. .template.spec.ephemeralContainers[].lifecycle.postStart.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.117. .template.spec.ephemeralContainers[].lifecycle.preStop

描述
LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

14.13.1.118. .template.spec.ephemeralContainers[].lifecycle.preStop.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.119. .template.spec.ephemeralContainers[].lifecycle.preStop.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.120. .template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.121. .template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.122. .template.spec.ephemeralContainers[].lifecycle.preStop.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.123. .template.spec.ephemeralContainers[].livenessProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.124. .template.spec.ephemeralContainers[].livenessProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.125. .template.spec.ephemeralContainers[].livenessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.126. .template.spec.ephemeralContainers[].livenessProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.127. .template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.128. .template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.129. .template.spec.ephemeralContainers[].livenessProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.130. .template.spec.ephemeralContainers[].ports

描述
临时容器不允许使用端口。
类型
数组

14.13.1.131. .template.spec.ephemeralContainers[].ports[]

描述
containerPort 代表单一容器中的网络端口。
类型
object
必填
  • containerPort
属性类型描述

containerPort

整数

在 pod 的 IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。

hostIP

字符串

将外部端口绑定到的主机 IP。

hostPort

整数

要在主机上公开的端口号。如果指定,这必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则必须匹配 ContainerPort。大多数容器都不需要此操作。

name

字符串

如果指定,这必须是 IANA_SVC_NAME,并在 pod 中唯一。pod 中的每个指定端口都必须具有唯一的名称。服务可以引用的端口的名称。

protocol

字符串

端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。

可能的值有: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

14.13.1.132. .template.spec.ephemeralContainers[].readinessProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.133. .template.spec.ephemeralContainers[].readinessProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.134. .template.spec.ephemeralContainers[].readinessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.135. .template.spec.ephemeralContainers[].readinessProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.136. .template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.137. .template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.138. .template.spec.ephemeralContainers[].readinessProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.139. .template.spec.ephemeralContainers[].resizePolicy

描述
容器的资源重新定义策略大小。
类型
数组

14.13.1.140. .template.spec.ephemeralContainers[].resizePolicy[]

描述
ContainerResizePolicy 代表容器的资源大小策略。
类型
object
必填
  • resourceName
  • restartPolicy
属性类型描述

resourceName

string

应用此资源调整大小策略的资源名称。支持的值:cpu、memory。

restartPolicy

string

在调整指定资源大小时,重启策略会应用。如果没有指定,则默认为 NotRequired。

14.13.1.141. .template.spec.ephemeralContainers[].resources

描述
ResourceRequirements 描述计算资源要求。
类型
object
属性类型描述

声明

数组

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

claim[]

object

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

对象(数量)

限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

对象(数量)

Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

14.13.1.142. .template.spec.ephemeralContainers[].resources.claims

描述

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

类型
数组

14.13.1.143. .template.spec.ephemeralContainers[].resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中一个条目的名称匹配。它使得资源在容器内可用。

14.13.1.144. .template.spec.ephemeralContainers[].securityContext

描述
securityContext 包含将应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当同时设置这两个时,SecurityContext 中的值就会优先使用。
类型
object
属性类型描述

allowPrivilegeEscalation

布尔值

allowPrivilegeEscalation 控制进程是否可以获得比父进程更多的特权。此 bool 直接控制容器进程中是否设置了 no_new_privs 标志。当容器以 Privileged 2 运行为 Privileged 2 时,allowPrivilegeEscalation 为 true 时,当 spec.os.name 为窗口时,无法设置此字段。

功能

object

从正在运行的容器中添加和删除 POSIX 功能。

privileged

布尔值

以特权模式运行容器。特权容器中的进程实质上相当于主机上的 root 用户。默认为false。请注意,当 spec.os.name 是窗口时,无法设置此字段。

procMount

字符串

procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它对只读路径和屏蔽的路径使用容器运行时默认值。这需要启用 ProcMountType 功能标记。请注意,当 spec.os.name 是窗口时,无法设置此字段。

可能枚举值: - "Default" 将容器运行时默认值用于 /proc 的 readonly 和 masked 路径。大多数容器运行时屏蔽 /proc 中的某些路径,以避免意外暴露特殊设备或信息。- "Unmasked" 绕过容器运行时的默认屏蔽行为,并确保新创建的 /proc 容器在没有修改的情况下保持不变。

readOnlyRootFilesystem

布尔值

此容器是否具有只读根文件系统。默认值为 false。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsGroup

整数

运行容器进程的入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsNonRoot

布尔值

表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root)运行,如果容器确实无法启动它,则无法启动它。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

runAsUser

整数

运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。请注意,当 spec.os.name 是窗口时,无法设置此字段。

seLinuxOptions

object

seLinuxOptions 是要应用到容器的标签

seccompProfile

object

SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。

windowsOptions

object

WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。

14.13.1.145. .template.spec.ephemeralContainers[].securityContext.capabilities

描述
从正在运行的容器中添加和删除 POSIX 功能。
类型
object
属性类型描述

add

数组(字符串)

添加了功能

drop

数组(字符串)

删除的功能

14.13.1.146. .template.spec.ephemeralContainers[].securityContext.seLinuxOptions

描述
seLinuxOptions 是要应用到容器的标签
类型
object
属性类型描述

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

14.13.1.147. .template.spec.ephemeralContainers[].securityContext.seccompProfile

描述
SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是相对于 kubelet 配置的 seccomp 配置集位置的降序路径。只有当 type 为 "Localhost" 时,才必须设置。

type

字符串

type 表示将应用了哪些 seccomp 配置集。有效选项有:

localhost - 应该使用节点上文件中定义的配置集。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用任何配置集。

可能枚举值: - "Localhost" 表示应使用节点上文件中定义的配置集。文件相对于 <kubelet-root-dir>/seccomp. - "RuntimeDefault" 代表默认的容器运行时 seccomp 配置集。- "Unconfined" 表示没有应用 seccomp 配置集(A.K.A. unconfined)。

14.13.1.148. .template.spec.ephemeralContainers[].securityContext.windowsOptions

描述
WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联 GMSA 凭证规格的内容,由 GMSACredentialSpecName 字段命名。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证 spec 的名称。

hostProcess

布尔值

HostProcess 确定容器是否应该作为"主机进程"容器运行。此字段是 alpha-level,仅由启用 WindowsHostProcessContainers 功能标记的组件所接受。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。Pod 的容器必须具有相同的有效 HostProcess 值(不允许混合 HostProcess 容器和非主机Process 容器)。另外,如果 HostProcess 为 true,则 HostNetwork 还必须设置为 true。

runAsUserName

字符串

Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

14.13.1.149. .template.spec.ephemeralContainers[].startupProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.150. .template.spec.ephemeralContainers[].startupProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.151. .template.spec.ephemeralContainers[].startupProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.152. .template.spec.ephemeralContainers[].startupProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.153. .template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.154. .template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.155. .template.spec.ephemeralContainers[].startupProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.156. .template.spec.ephemeralContainers[].volumeDevices

描述
volumeDevices 是容器使用的块设备列表。
类型
数组

14.13.1.157. .template.spec.ephemeralContainers[].volumeDevices[]

描述
volumeDevice 描述容器中原始块设备的映射。
类型
object
必填
  • name
  • devicePath
属性类型描述

devicePath

字符串

DevicePath 是设备要映射到的容器内的路径。

name

字符串

name 必须与 pod 中的 persistentVolumeClaim 的名称匹配

14.13.1.158. .template.spec.ephemeralContainers[].volumeMounts

描述
要挂载到容器文件系统中的 Pod 卷。临时容器不允许进行 subPath 挂载。无法更新。
类型
数组

14.13.1.159. .template.spec.ephemeralContainers[].volumeMounts[]

描述
VolumeMount 描述了在容器中挂载卷。
类型
object
必填
  • name
  • mountPath
属性类型描述

mountPath

字符串

在容器中挂载卷的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定如何将挂载从主机传播到容器,以及相关的其他方法。如果没有设置,则使用 MountPropagationNone。此字段是 1.10 中的 beta。

可能枚举值: - "Bidirectional" 表示容器中的卷将从主机或其他容器接收新挂载,并且其自身的挂载将从容器传播到主机或其他容器。请注意,这个模式会递归应用到 Linux 术语中的卷中的所有挂载。- "HostToContainer" 表示容器中的卷将从主机或其他容器中接收新挂载,但挂载到容器中的文件系统不会传播到主机或其他容器。请注意,这个模式会递归应用到卷中的所有挂载("rslave")。- "None" 表示容器中的卷不会从主机或其他容器接收新挂载,以及挂载到容器中的文件系统不会传播到主机或其他容器。请注意,这个模式与 Linux 术语中的"private"对应。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读形式挂载(否则为 读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的根目录)。

subPathExpr

字符串

应从中挂载容器卷的卷中扩展路径。行为与 SubPath 相似,但环境变量引用 $(VAR_NAME)使用容器的环境进行扩展。默认为 "" (卷的根目录)。SubPathExpr 和 SubPath 是互斥的。

14.13.1.160. .template.spec.hostAliases

描述
hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这只适用于非主机网络 pod。
类型
数组

14.13.1.161. .template.spec.hostAliases[]

描述
HostAlias 包含将作为 pod 主机文件中的条目注入的 IP 和主机名之间的映射。
类型
object
属性类型描述

主机名

数组(字符串)

以上 IP 地址的主机名。

ip

字符串

主机文件条目的 IP 地址。

14.13.1.162. .template.spec.imagePullSecrets

描述
imagePullSecrets 是同一命名空间中 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
类型
数组

14.13.1.163. .template.spec.imagePullSecrets[]

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.164. .template.spec.initContainers

描述
属于 pod 的初始化容器列表。init 容器在容器启动前先执行。如果任何 init 容器失败,pod 被视为失败,并根据其 restartPolicy 处理。init 容器或普通容器的名称必须在所有容器间唯一。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。init 容器的 resourceRequirements 在调度过程中考虑,方法是为每个资源类型找到最高 request/limit,然后使用该值或普通容器的总和。限制以类似的方式应用到 init 容器。目前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
类型
数组

14.13.1.165. .template.spec.initContainers[]

描述
要在 pod 中运行的单一应用程序容器。
类型
object
必填
  • name
属性类型描述

args

数组(字符串)

入口点的参数。如果没有提供,则使用容器镜像的 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

env

array

要在容器中设置的环境变量列表。无法更新。

env[]

对象

EnvVar 代表容器中存在的环境变量。

envFrom

array

用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。

envFrom[]

对象

EnvFromSource 代表一组 ConfigMap 的源

image

string

容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器中的容器镜像,如 Deployment 和 StatefulSets。

imagePullPolicy

字符串

镜像拉取策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images

可能枚举值: - "Always" 表示 kubelet 始终会尝试拉取最新的镜像。如果拉取失败,则容器将失败。- "IfNotPresent" 表示 kubelet 在磁盘上不存在时拉取。如果镜像不存在,且拉取失败,则容器将失败。- "Never" 表示 kubelet 不会拉取镜像,但只使用本地镜像。如果镜像不存在,容器将失败

生命周期

object

生命周期描述了管理系统在响应容器生命周期事件时应采取的操作。对于 PostStart 和 PreStop 生命周期处理程序,在操作完成前管理容器块,除非容器进程失败,在这种情况下,处理程序会中止。

livenessProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

name

字符串

指定为 DNS_LABEL 的容器的名称。pod 中的每个容器都必须具有唯一名称(DNS_LABEL)。无法更新。

ports

array

要从容器公开的端口列表。不在此处指定端口 不会阻止公开该端口。任何正在侦听容器内的默认"0.0.0.0"地址的端口都可以从网络访问。使用战略合并补丁修改此阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

ports[]

对象

containerPort 代表单一容器中的网络端口。

readinessProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

resizePolicy

数组

容器的资源重新定义策略大小。

resizePolicy[]

object

ContainerResizePolicy 代表容器的资源大小策略。

resources

对象

ResourceRequirements 描述计算资源要求。

securityContext

object

securityContext 包含将应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当同时设置这两个时,SecurityContext 中的值就会优先使用。

startupProbe

object

probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。

stdin

布尔值

此容器是否应该为容器运行时中的 stdin 分配缓冲区。如果没有设置,则从容器中的 stdin 读取总是会导致 EOF。默认值为 false。

stdinOnce

布尔值

容器运行时是否应该在单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话之间保持打开。如果将 stdinOnce 设为 true,则 stdin 在容器启动时打开,会为空,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,而时间 stdin 被关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认值为 false

terminationMessagePath

字符串

可选:将容器终止消息写入的文件路径被挂载到容器文件系统中。编写的消息应该是简短的最终状态,如断言失败消息。如果大于 4096 字节,则节点将被截断。所有容器的消息长度限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

字符串

指明如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功和失败时填充容器状态消息。如果终止消息文件为空,并且容器退出并显示错误,则 FallbackToLogsOnError 将使用容器日志输出的最后块。日志输出限制为 2048 字节或 80 行,以较大者为准。默认为 file。无法更新。

可能的 enum 值: - "FallbackToLogsOnError" 会在容器退出时读取容器状态消息的最新内容,且 terminationMessagePath 没有内容。- "File" 是默认行为,并将容器状态消息设置为容器终止MessagePath 的内容。

tty

布尔值

此容器是否应为自己分配 TTY,还需要 'stdin' 为 true。默认值为 false。

volumeDevices

array

volumeDevices 是容器使用的块设备列表。

volumeDevices[]

对象

volumeDevice 描述容器中原始块设备的映射。

volumeMounts

array

要挂载到容器文件系统中的 Pod 卷。无法更新。

volumeMounts[]

对象

VolumeMount 描述了在容器中挂载卷。

workingDir

字符串

容器的工作目录。如果没有指定,则使用容器运行时的默认值,这可能会在容器镜像中配置。无法更新。

14.13.1.166. .template.spec.initContainers[].env

描述
要在容器中设置的环境变量列表。无法更新。
类型
数组

14.13.1.167. .template.spec.initContainers[].env[]

描述
EnvVar 代表容器中存在的环境变量。
类型
object
必填
  • name
属性类型描述

name

字符串

环境变量的名称。必须是 C_IDENTIFIER。

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,输入字符串中的引用将不会改变。双引号被减少为一个 $,它允许转义 $(VAR_NAME)语法:例如:" (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会被扩展,无论变量是否存在。默认值为 ""。

valueFrom

object

EnvVarSource 代表 EnvVarar 的值的一个源。

14.13.1.168. .template.spec.initContainers[].env[].valueFrom

描述
EnvVarSource 代表 EnvVarar 的值的一个源。
类型
object
属性类型描述

configMapKeyRef

object

从 ConfigMap 中选择一个键。

fieldRef

object

ObjectFieldSelector 选择对象的 APIVersioned 字段。

resourceFieldRef

object

ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式

secretKeyRef

object

SecretKeySelector 选择 Secret 的密钥。

14.13.1.169. .template.spec.initContainers[].env[].valueFrom.configMapKeyRef

描述
从 ConfigMap 中选择一个键。
类型
object
必填
  • key
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否必须定义 ConfigMap 还是其键

14.13.1.170. .template.spec.initContainers[].env[].valueFrom.fieldRef

描述
ObjectFieldSelector 选择对象的 APIVersioned 字段。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

FieldPath 用术语编写的 schema 版本,默认为 "v1"。

fieldPath

字符串

在指定 API 版本中选择的字段路径。

14.13.1.171. .template.spec.initContainers[].env[].valueFrom.resourceFieldRef

描述
ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷所需,对于 env vars 是可选的

divisor

数量

指定公开资源的输出格式,默认为 "1"

resource

字符串

必需:要选择的资源

14.13.1.172. .template.spec.initContainers[].env[].valueFrom.secretKeyRef

描述
SecretKeySelector 选择 Secret 的密钥。
类型
object
必填
  • key
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否需要定义 Secret 或其密钥

14.13.1.173. .template.spec.initContainers[].envFrom

描述
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
类型
数组

14.13.1.174. .template.spec.initContainers[].envFrom[]

描述
EnvFromSource 代表一组 ConfigMap 的源
类型
object
属性类型描述

configMapRef

object

ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。

目标 ConfigMap 的 Data 字段的内容将以环境变量的形式表示键值对。

prefix

字符串

用于添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。

secretRef

object

SecretEnvSource 选择一个 Secret 来填充环境变量。

目标 Secret 的数据字段的内容将以环境变量的形式表示键值对。

14.13.1.175. .template.spec.initContainers[].envFrom[].configMapRef

描述

ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。

目标 ConfigMap 的 Data 字段的内容将以环境变量的形式表示键值对。

类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否必须定义 ConfigMap

14.13.1.176. .template.spec.initContainers[].envFrom[].secretRef

描述

SecretEnvSource 选择一个 Secret 来填充环境变量。

目标 Secret 的数据字段的内容将以环境变量的形式表示键值对。

类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

指定是否需要定义 Secret

14.13.1.177. .template.spec.initContainers[].lifecycle

描述
生命周期描述了管理系统在响应容器生命周期事件时应采取的操作。对于 PostStart 和 PreStop 生命周期处理程序,在操作完成前管理容器块,除非容器进程失败,在这种情况下,处理程序会中止。
类型
object
属性类型描述

postStart

object

LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。

preStop

object

LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。

14.13.1.178. .template.spec.initContainers[].lifecycle.postStart

描述
LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

14.13.1.179. .template.spec.initContainers[].lifecycle.postStart.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.180. .template.spec.initContainers[].lifecycle.postStart.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.181. .template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.182. .template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.183. .template.spec.initContainers[].lifecycle.postStart.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.184. .template.spec.initContainers[].lifecycle.preStop

描述
LifecycleHandler 定义在生命周期 hook 中应执行的特定操作。必须指定其中一个字段,但必须指定 TCPSocket。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

14.13.1.185. .template.spec.initContainers[].lifecycle.preStop.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.186. .template.spec.initContainers[].lifecycle.preStop.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.187. .template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.188. .template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.189. .template.spec.initContainers[].lifecycle.preStop.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.190. .template.spec.initContainers[].livenessProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.191. .template.spec.initContainers[].livenessProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.192. .template.spec.initContainers[].livenessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.193. .template.spec.initContainers[].livenessProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.194. .template.spec.initContainers[].livenessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.195. .template.spec.initContainers[].livenessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.196. .template.spec.initContainers[].livenessProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.197. .template.spec.initContainers[].ports

描述
要从容器公开的端口列表。不在此处指定端口 不会阻止公开该端口。任何正在侦听容器内的默认"0.0.0.0"地址的端口都可以从网络访问。使用战略合并补丁修改此阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
类型
数组

14.13.1.198. .template.spec.initContainers[].ports[]

描述
containerPort 代表单一容器中的网络端口。
类型
object
必填
  • containerPort
属性类型描述

containerPort

整数

在 pod 的 IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。

hostIP

字符串

将外部端口绑定到的主机 IP。

hostPort

整数

要在主机上公开的端口号。如果指定,这必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则必须匹配 ContainerPort。大多数容器都不需要此操作。

name

字符串

如果指定,这必须是 IANA_SVC_NAME,并在 pod 中唯一。pod 中的每个指定端口都必须具有唯一的名称。服务可以引用的端口的名称。

protocol

字符串

端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。

可能的值有: - "SCTP" 是 SCTP 协议。- "TCP" 是 TCP 协议。- "UDP" 是 UDP 协议。

14.13.1.199. .template.spec.initContainers[].readinessProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.200. .template.spec.initContainers[].readinessProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.201. .template.spec.initContainers[].readinessProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.202. .template.spec.initContainers[].readinessProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.203. .template.spec.initContainers[].readinessProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.204. .template.spec.initContainers[].readinessProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.205. .template.spec.initContainers[].readinessProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.206. .template.spec.initContainers[].resizePolicy

描述
容器的资源重新定义策略大小。
类型
数组

14.13.1.207. .template.spec.initContainers[].resizePolicy[]

描述
ContainerResizePolicy 代表容器的资源大小策略。
类型
object
必填
  • resourceName
  • restartPolicy
属性类型描述

resourceName

string

应用此资源调整大小策略的资源名称。支持的值:cpu、memory。

restartPolicy

string

在调整指定资源大小时,重启策略会应用。如果没有指定,则默认为 NotRequired。

14.13.1.208. .template.spec.initContainers[].resources

描述
ResourceRequirements 描述计算资源要求。
类型
object
属性类型描述

声明

数组

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

claim[]

object

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

对象(数量)

限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

对象(数量)

Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

14.13.1.209. .template.spec.initContainers[].resources.claims

描述

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

类型
数组

14.13.1.210. .template.spec.initContainers[].resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中一个条目的名称匹配。它使得资源在容器内可用。

14.13.1.211. .template.spec.initContainers[].securityContext

描述
securityContext 包含将应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当同时设置这两个时,SecurityContext 中的值就会优先使用。
类型
object
属性类型描述

allowPrivilegeEscalation

布尔值

allowPrivilegeEscalation 控制进程是否可以获得比父进程更多的特权。此 bool 直接控制容器进程中是否设置了 no_new_privs 标志。当容器以 Privileged 2 运行为 Privileged 2 时,allowPrivilegeEscalation 为 true 时,当 spec.os.name 为窗口时,无法设置此字段。

功能

object

从正在运行的容器中添加和删除 POSIX 功能。

privileged

布尔值

以特权模式运行容器。特权容器中的进程实质上相当于主机上的 root 用户。默认为false。请注意,当 spec.os.name 是窗口时,无法设置此字段。

procMount

字符串

procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它对只读路径和屏蔽的路径使用容器运行时默认值。这需要启用 ProcMountType 功能标记。请注意,当 spec.os.name 是窗口时,无法设置此字段。

可能枚举值: - "Default" 将容器运行时默认值用于 /proc 的 readonly 和 masked 路径。大多数容器运行时屏蔽 /proc 中的某些路径,以避免意外暴露特殊设备或信息。- "Unmasked" 绕过容器运行时的默认屏蔽行为,并确保新创建的 /proc 容器在没有修改的情况下保持不变。

readOnlyRootFilesystem

布尔值

此容器是否具有只读根文件系统。默认值为 false。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsGroup

整数

运行容器进程的入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsNonRoot

布尔值

表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root)运行,如果容器确实无法启动它,则无法启动它。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

runAsUser

整数

运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。请注意,当 spec.os.name 是窗口时,无法设置此字段。

seLinuxOptions

object

seLinuxOptions 是要应用到容器的标签

seccompProfile

object

SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。

windowsOptions

object

WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。

14.13.1.212. .template.spec.initContainers[].securityContext.capabilities

描述
从正在运行的容器中添加和删除 POSIX 功能。
类型
object
属性类型描述

add

数组(字符串)

添加了功能

drop

数组(字符串)

删除的功能

14.13.1.213. .template.spec.initContainers[].securityContext.seLinuxOptions

描述
seLinuxOptions 是要应用到容器的标签
类型
object
属性类型描述

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

14.13.1.214. .template.spec.initContainers[].securityContext.seccompProfile

描述
SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是相对于 kubelet 配置的 seccomp 配置集位置的降序路径。只有当 type 为 "Localhost" 时,才必须设置。

type

字符串

type 表示将应用了哪些 seccomp 配置集。有效选项有:

localhost - 应该使用节点上文件中定义的配置集。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用任何配置集。

可能枚举值: - "Localhost" 表示应使用节点上文件中定义的配置集。文件相对于 <kubelet-root-dir>/seccomp. - "RuntimeDefault" 代表默认的容器运行时 seccomp 配置集。- "Unconfined" 表示没有应用 seccomp 配置集(A.K.A. unconfined)。

14.13.1.215. .template.spec.initContainers[].securityContext.windowsOptions

描述
WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联 GMSA 凭证规格的内容,由 GMSACredentialSpecName 字段命名。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证 spec 的名称。

hostProcess

布尔值

HostProcess 确定容器是否应该作为"主机进程"容器运行。此字段是 alpha-level,仅由启用 WindowsHostProcessContainers 功能标记的组件所接受。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。Pod 的容器必须具有相同的有效 HostProcess 值(不允许混合 HostProcess 容器和非主机Process 容器)。另外,如果 HostProcess 为 true,则 HostNetwork 还必须设置为 true。

runAsUserName

字符串

Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

14.13.1.216. .template.spec.initContainers[].startupProbe

描述
probe 描述了要对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
类型
object
属性类型描述

exec

object

ExecAction 描述了 "run in container" 操作。

failureThreshold

整数

在成功后,探测被视为失败的连续最小失败。默认值为 3。最小值为 1。

grpc

object

GRPC 指定涉及 GRPC 端口的操作。

httpGet

object

HTTPGetAction 描述了基于 HTTP 获取请求的操作。

initialDelaySeconds

整数

容器启动后的秒数,然后再启动存活度探测。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。

successThreshold

整数

在失败后,探测被视为成功的最低连续成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。

tcpSocket

object

TCPSocketAction 描述了基于打开套接字的操作

terminationGracePeriodSeconds

整数

可选持续时间(以秒为单位),pod 需要在探测失败时安全终止。宽限期是 pod 中运行的进程发送终止信号的持续时间(以秒为单位),以及进程通过 kill 信号强制停止的时间。设置这个值比您的进程预期的清理时间长。如果这个值为 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。

timeoutSeconds

整数

探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

14.13.1.217. .template.spec.initContainers[].startupProbe.exec

描述
ExecAction 描述了 "run in container" 操作。
类型
object
属性类型描述

命令

数组(字符串)

命令是在容器内执行的命令行,命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不在 shell 中运行,因此传统的 shell 指令('|' 等)不起作用。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零为不健康。

14.13.1.218. .template.spec.initContainers[].startupProbe.grpc

描述
GRPC 指定涉及 GRPC 端口的操作。
类型
object
必填
  • port
属性类型描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 之间。

service

string

service 是要放在 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。

如果没有指定,则默认的行为由 gRPC 定义。

14.13.1.219. .template.spec.initContainers[].startupProbe.httpGet

描述
HTTPGetAction 描述了基于 HTTP 获取请求的操作。
类型
object
必填
  • port
属性类型描述

主机

字符串

要连接的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。

httpHeaders

array

在请求中设置的自定义标头。HTTP 允许重复标头。

httpHeaders[]

对象

HTTPHeader 描述了 HTTP 探测中使用的自定义标头

path

字符串

在 HTTP 服务器上访问的路径。

port

IntOrString

在容器中要访问的端口的名称或数量。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

scheme

字符串

用于连接到主机的方案。默认为 HTTP。

可能枚举的值: - "HTTP" 表示使用的方案将是 http:// - "HTTPS" 意味着所使用的方案将是 https://

14.13.1.220. .template.spec.initContainers[].startupProbe.httpGet.httpHeaders

描述
在请求中设置的自定义标头。HTTP 允许重复标头。
类型
数组

14.13.1.221. .template.spec.initContainers[].startupProbe.httpGet.httpHeaders[]

描述
HTTPHeader 描述了 HTTP 探测中使用的自定义标头
类型
object
必填
  • name
  • value
属性类型描述

name

string

标头字段名称。这将在输出时规范,因此案例名称将理解为相同的标头。

value

字符串

标头字段值

14.13.1.222. .template.spec.initContainers[].startupProbe.tcpSocket

描述
TCPSocketAction 描述了基于打开套接字的操作
类型
object
必填
  • port
属性类型描述

主机

字符串

可选:要连接到的主机名,默认为 pod IP。

port

IntOrString

在容器中访问的端口的数量或名称。数字必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。

14.13.1.223. .template.spec.initContainers[].volumeDevices

描述
volumeDevices 是容器使用的块设备列表。
类型
数组

14.13.1.224. .template.spec.initContainers[].volumeDevices[]

描述
volumeDevice 描述容器中原始块设备的映射。
类型
object
必填
  • name
  • devicePath
属性类型描述

devicePath

字符串

DevicePath 是设备要映射到的容器内的路径。

name

字符串

name 必须与 pod 中的 persistentVolumeClaim 的名称匹配

14.13.1.225. .template.spec.initContainers[].volumeMounts

描述
要挂载到容器文件系统中的 Pod 卷。无法更新。
类型
数组

14.13.1.226. .template.spec.initContainers[].volumeMounts[]

描述
VolumeMount 描述了在容器中挂载卷。
类型
object
必填
  • name
  • mountPath
属性类型描述

mountPath

字符串

在容器中挂载卷的路径。不得包含 ':'。

mountPropagation

字符串

mountPropagation 决定如何将挂载从主机传播到容器,以及相关的其他方法。如果没有设置,则使用 MountPropagationNone。此字段是 1.10 中的 beta。

可能枚举值: - "Bidirectional" 表示容器中的卷将从主机或其他容器接收新挂载,并且其自身的挂载将从容器传播到主机或其他容器。请注意,这个模式会递归应用到 Linux 术语中的卷中的所有挂载。- "HostToContainer" 表示容器中的卷将从主机或其他容器中接收新挂载,但挂载到容器中的文件系统不会传播到主机或其他容器。请注意,这个模式会递归应用到卷中的所有挂载("rslave")。- "None" 表示容器中的卷不会从主机或其他容器接收新挂载,以及挂载到容器中的文件系统不会传播到主机或其他容器。请注意,这个模式与 Linux 术语中的"private"对应。

name

字符串

这必须与卷的 Name 匹配。

readOnly

布尔值

如果为 true,则以只读形式挂载(否则为 读写(false 或未指定)。默认为false。

subPath

字符串

应从中挂载容器卷的卷中的路径。默认为 "" (卷的根目录)。

subPathExpr

字符串

应从中挂载容器卷的卷中扩展路径。行为与 SubPath 相似,但环境变量引用 $(VAR_NAME)使用容器的环境进行扩展。默认为 "" (卷的根目录)。SubPathExpr 和 SubPath 是互斥的。

14.13.1.227. .template.spec.os

描述
PodOS 定义 pod 的 OS 参数。
类型
object
必填
  • name
属性类型描述

name

string

name 是操作系统的名称。目前支持的值有 linux 和 windows。额外值可能会在以后定义,可以是: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration 客户端应该应该处理附加值,并将此字段中的未识别的值视为 os: null

14.13.1.228. .template.spec.readinessGates

描述
如果指定,则会针对 pod 就绪度评估所有就绪度。当它的所有容器都就绪且在就绪度授权中指定的所有条件都等于"True"更多信息时,pod 已就绪: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
类型
数组

14.13.1.229. .template.spec.readinessGates[]

描述
PodReadinessGate 包含对 pod 条件的引用
类型
object
必填
  • conditionType
属性类型描述

conditionType

字符串

conditionType 指的是 pod 条件列表中具有匹配类型的条件。

14.13.1.230. .template.spec.resourceClaims

描述

ResourceClaims 定义在允许 Pod 启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。

类型
数组

14.13.1.231. .template.spec.resourceClaims[]

描述
PodResourceClaim 通过 ClaimSource 准确引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称引用它。
类型
object
必填
  • name
属性类型描述

name

string

在 pod 中唯一标识此资源声明的名称。这必须是 DNS_LABEL。

source

object

ClaimSource 描述了对 ResourceClaim 的引用。

应设置其中一个字段。这个类型的消费者必须将空对象视为一个未知值。

14.13.1.232. .template.spec.resourceClaims[].source

描述

ClaimSource 描述了对 ResourceClaim 的引用。

应设置其中一个字段。这个类型的消费者必须将空对象视为一个未知值。

类型
object
属性类型描述

resourceClaimName

string

ResourceClaimName 是与这个 pod 相同的命名空间中的 ResourceClaim 对象的名称。

resourceClaimTemplateName

string

ResourceClaimTemplateName 是与这个 pod 相同的命名空间中的 ResourceClaimTemplate 对象的名称。

模板将用于创建新的 ResourceClaim,它将绑定到此 pod。删除此 pod 后,ResourceClaim 也会被删除。ResourceClaim 的名称将是 <pod name>-<resource name>,其中 <resource name> 是 PodResourceClaim.Name。如果串联名称对 ResourceClaim 无效(如太长,则 Pod 验证将拒绝 pod)。

没有为 pod 拥有该名称的现有 ResourceClaim 不会被用于 pod,以避免错误地使用不相关的资源。然后,调度和 pod 启动会被阻断,直到删除不相关的 ResourceClaim。

此字段不可变,在创建 ResourceClaim 后,control plane 不会对对应的 ResourceClaim 进行更改。

14.13.1.233. .template.spec.schedulingGates

描述

SchedulingGates 是值(如果指定)将阻止调度 pod 的不透明列表。如果 schedulingGates 不是空的,pod 将保持在 SchedulingGated 状态,调度程序也不会尝试调度 pod。

SchedulingGates 只能在创建 pod 时设置,之后只能删除。

这是 PodSchedulingReadiness 功能门启用的 beta 功能。

类型
数组

14.13.1.234. .template.spec.schedulingGates[]

描述
PodSchedulingGate 与 Pod 关联,以保护其调度。
类型
object
必填
  • name
属性类型描述

name

string

调度授权的名称。每个调度最低要求都必须具有唯一的 name 字段。

14.13.1.235. .template.spec.securityContext

描述
PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。
类型
object
属性类型描述

fsGroup

整数

适用于 pod 中所有容器的特殊补充组。有些卷类型允许 Kubelet 将该卷的所有权更改为 pod 拥有:

1.所属 GID 将是 FSGroup 2。set setgid 位(在卷中创建的新文件将归 FSGroup 所有)3。权限位为 OR'd with rw-rw----

如果未设置,Kubelet 将不修改任何卷的所有权和权限。请注意,当 spec.os.name 是窗口时,无法设置此字段。

fsGroupChangePolicy

字符串

fsGroupChangePolicy 定义在 Pod 中公开卷之前更改卷的所有权和权限的行为。此字段仅适用于支持 fsGroup 基于所有权(和权限)的卷类型。它对临时卷类型没有影响,如: secret、configmaps 和 emptydir。有效值为 "OnRootMismatch" 和 "Always"。如果没有指定,则使用 "Always"。请注意,当 spec.os.name 是窗口时,无法设置此字段。

可能枚举值: - "Always" 表示当卷挂载到 Pod 中时,应始终更改卷的所有权和权限。这个默认行为。- "OnRootMismatch" 表示只有在根目录的权限与卷上预期权限不匹配时才会更改卷的所有权和权限。这有助于缩短更改卷的所有权和权限所需的时间。

runAsGroup

整数

运行容器进程的入口点的 GID。如果未设置,则使用运行时默认值。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则在 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是窗口时,无法设置此字段。

runAsNonRoot

布尔值

表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root)运行,如果容器确实无法启动它,则无法启动它。如果未设置或 false,则不会执行这样的验证。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

runAsUser

整数

运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则在 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是窗口时,无法设置此字段。

seLinuxOptions

object

seLinuxOptions 是要应用到容器的标签

seccompProfile

object

SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。

supplementalGroups

数组(整数)

除了容器的主 GID、fsGroup (如果指定)以及容器镜像中定义的组成员资格(如果指定)之外,应用于每个容器中的第一个进程运行的组列表。如果未指定,则不会将额外的组添加到任何容器中。请注意,容器进程的 uid 中定义的组成员资格仍然有效,即使它们没有包括在此列表中。请注意,当 spec.os.name 是窗口时,无法设置此字段。

sysctls

array

sysctl 包含用于 pod 的命名空间 sysctl 的列表。带有不支持的 sysctl (由容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是窗口时,无法设置此字段。

sysctls[]

对象

sysctl 定义要设置的内核参数

windowsOptions

object

WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。

14.13.1.236. .template.spec.securityContext.seLinuxOptions

描述
seLinuxOptions 是要应用到容器的标签
类型
object
属性类型描述

level

字符串

level 是适用于容器的 SELinux 级别标签。

role

字符串

role 是适用于容器的 SELinux 角色标签。

type

字符串

type 是适用于容器的 SELinux 类型标签。

user

字符串

user 是适用于容器的 SELinux 用户标签。

14.13.1.237. .template.spec.securityContext.seccompProfile

描述
SeccompProfile 定义 pod/container 的 seccomp 配置集设置。只能设置一个配置文件源。
类型
object
必填
  • type
属性类型描述

localhostProfile

字符串

localhostProfile 表示使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是相对于 kubelet 配置的 seccomp 配置集位置的降序路径。只有当 type 为 "Localhost" 时,才必须设置。

type

字符串

type 表示将应用了哪些 seccomp 配置集。有效选项有:

localhost - 应该使用节点上文件中定义的配置集。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用任何配置集。

可能枚举值: - "Localhost" 表示应使用节点上文件中定义的配置集。文件相对于 <kubelet-root-dir>/seccomp. - "RuntimeDefault" 代表默认的容器运行时 seccomp 配置集。- "Unconfined" 表示没有应用 seccomp 配置集(A.K.A. unconfined)。

14.13.1.238. .template.spec.securityContext.sysctls

描述
sysctl 包含用于 pod 的命名空间 sysctl 的列表。带有不支持的 sysctl (由容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是窗口时,无法设置此字段。
类型
数组

14.13.1.239. .template.spec.securityContext.sysctls[]

描述
sysctl 定义要设置的内核参数
类型
object
必填
  • name
  • value
属性类型描述

name

字符串

要设置的属性的名称

value

字符串

要设置的属性值

14.13.1.240. .template.spec.securityContext.windowsOptions

描述
WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
类型
object
属性类型描述

gmsaCredentialSpec

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联 GMSA 凭证规格的内容,由 GMSACredentialSpecName 字段命名。

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭证 spec 的名称。

hostProcess

布尔值

HostProcess 确定容器是否应该作为"主机进程"容器运行。此字段是 alpha-level,仅由启用 WindowsHostProcessContainers 功能标记的组件所接受。在没有功能标记的情况下设置此字段将导致验证 Pod 时出现错误。Pod 的容器必须具有相同的有效 HostProcess 值(不允许混合 HostProcess 容器和非主机Process 容器)。另外,如果 HostProcess 为 true,则 HostNetwork 还必须设置为 true。

runAsUserName

字符串

Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则优先使用 SecurityContext 指定的值。

14.13.1.241. .template.spec.tolerations

描述
如果指定,pod 的容限。
类型
数组

14.13.1.242. .template.spec.tolerations[]

描述
附加到此 Toleration 的 pod,以容许任何与 triple <key,value,effect> 匹配的污点,使用匹配的 operator <operator>。
类型
object
属性类型描述

effect

字符串

effect 表示污点效果要匹配。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。

可能枚举值: - "NoExecute" Evict 任何已在运行的 pod,这些 pod 不容许该污点。目前由 NodeController 实施。- "NoSchedule" 不允许新 pod 调度到该节点上,除非它们容许污点,但允许提交给 Kubelet 的所有 pod 而无需启动调度程序,并允许所有已在运行的 pod 继续运行。调度程序强制使用 - "PreferNoSchedule" Like TaintEffectNoSchedule,但调度程序会尝试不将新 pod 调度到节点上,而不是禁止新 pod 完全调度到该节点上。由调度程序实施。

key

字符串

key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则运算符必须是 Exists;此组合意味着匹配所有值和所有键。

operator

字符串

Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认为 Equal。exists 等同于 value 的通配符,以便 pod 可以容忍特定类别的所有污点。

可能枚举值: - "Equal" - "Exists"

tolerationSeconds

整数

TolerationSeconds 代表容限的期间(该容限必须是 NoExecute,否则将忽略此字段)容许污点。默认情况下,它没有被设置,这意味着容许永久污点(不驱除)。系统会将零值和负值视为 0 (立即撤离)。

value

字符串

值是容限匹配的污点值。如果运算符是 Exists,则该值应为空,否则只是一个常规字符串。

14.13.1.243. .template.spec.topologySpreadConstraints

描述
topologySpreadConstraints 描述如何在拓扑域中分散的 pod 组。调度程序将通过约束来调度 pod。所有 topologySpreadConstraints 都是 AND。
类型
数组

14.13.1.244. .template.spec.topologySpreadConstraints[]

描述
TopologySpreadConstraint 指定如何在给定的拓扑中分散匹配的 pod。
类型
object
必填
  • maxSkew
  • topologyKey
  • whenUnsatisfiable
属性类型描述

labelSelector

labelSelector

labelSelector 用于查找匹配的 pod。与此标签选择器匹配的 Pod 被计算,以确定其对应拓扑域中的 pod 数量。

matchLabelKeys

数组(字符串)

matchLabelKeys 是一组 pod 标签键,用于选择要计算分布的 pod。键用于从传入的 pod 标签中查找值,这些键值标签带有 labelSelector 的 ANDed 来选择要针对传入 pod 计算的现有 pod 组。禁止在 MatchLabelKeys 和 LabelSelector 中存在相同的键。当 LabelSelector 没有设置时,无法设置 matchLabelKeys。传入的 pod 标签中不存在的键将被忽略。null 或 empty 列表表示仅匹配 labelSelector。

这是一个 beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。

maxSkew

整数

maxSkew 描述了 pod 可能不均匀分布的程度。当 whenUnsatisfiable=DoNotSchedule 时,目标拓扑中匹配 pod 数量和全局最小值之间允许的最大区别。如果有资格的域数量小于 MinDomains,则全局最小值是符合域或零的匹配 pod 的最小数量。例如,在 3 区集群中,MaxSkew 设置为 1,具有相同 labelSelector 的 pod 分布为 2/2/1 : 在这种情况下,全局最小值为 1。| zone1 | zone2 | zone3 | | P P | P P | P | P | P | P | P | - 如果 MaxSkew 为 1,则传入的 pod 只能调度到 zone3,以变为 2/2/2;将其调度到 zone1 (zone2)上的 ActualSkew (3-1)违反 MaxSkew (1)- if MaxSkew.当 whenUnsatisfiable=ScheduleAnyway 时,用来为满足它的拓扑提供更高优先级。它是必填字段。默认值为 1,不允许使用 0。

minDomains

整数

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 | zone2 | zone2 | zone3 | zone3 | zone3 | 区域数量小于 5 (MinDomains),因此"global minimum"被视为 0。在这种情况下,无法调度具有相同 labelSelector 的新 pod,因为如果新 Pod 调度到三个区,则 computed skew 将为 3 (3 - 0),它将违反 MaxSkew。

这是一个 beta 字段,需要启用 MinDomainsInPodTopologySpread 功能门(默认启用)。

nodeAffinityPolicy

string

NodeAffinityPolicy 表示在计算 pod 拓扑分布偏移时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项为:- Honor:计算中仅包含与 nodeAffinity/nodeSelector 匹配的节点。忽略 Ignore: nodeAffinity/nodeSelector。所有节点包含在计算中。

如果这个值为 nil,则行为等同于 Honor 策略。这是一个 beta 级别的功能,由 NodeInclusionPolicyInPodTopologySpread 功能标记启用。

可能枚举值: - "Honor" 表示在计算 pod 拓扑分布 skew 时使用此调度指令。- "Ignore" 表示在计算 pod 拓扑分布 skew 时忽略此调度指令。

nodeTaintsPolicy

string

NodeTaintsPolicy 表示在计算 pod 拓扑分布偏移时,我们将如何处理节点污点。选项为:- Honor: 没有污点的节点,以及传入 pod 具有容限的污点节点被包含。- Ignore: node taint is ignored。包括所有节点。

如果这个值为 nil,则行为等同于 Ignore 策略。这是一个 beta 级别的功能,由 NodeInclusionPolicyInPodTopologySpread 功能标记启用。

可能枚举值: - "Honor" 表示在计算 pod 拓扑分布 skew 时使用此调度指令。- "Ignore" 表示在计算 pod 拓扑分布 skew 时忽略此调度指令。

topologyKey

字符串

topologyKey 是节点标签的密钥。带有具有此键和相同值标签的节点被视为在同一拓扑中。我们将每个 <key, value> 视为"bucket",并尝试在每个存储桶中均衡的 pod 数量。我们将域定义为拓扑的特定实例。另外,我们定义了一个有资格的域,其节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 的要求。例如,如果 TopologyKey 为 "kubernetes.io/hostname",则每个节点都是该拓扑的域。如果 TopologyKey 是 "topology.kubernetes.io/zone",则每个区都是该拓扑的域。它是必填字段。

whenUnsatisfiable

字符串

whenUnsatisfiable 表示在不满足分散约束的情况下如何处理 pod。- DoNotSchedule (默认)告知调度程序不调度它。- ScheduleAnyway 告知调度程序将 pod 调度到任何位置,但为拓扑赋予更高优先级,有助于减少偏移量。只有在每个可能的节点分配在某些拓扑中违反 "MaxSkew" 时,对传入 pod 的一个约束被视为"Unsatisfiable"。例如,在 3 区集群中,MaxSkew 设置为 1,具有相同 labelSelector 的 pod 分布为 3/1/1: | zone1 | zone3 | zone3 | | P P | P | P | If WhenUnsatisfiable 被设置为 DoNotSchedule,传入的 pod 只能调度到 zone2 (zone3) 要成为 3/2/1 (3/1/2),在 zone2 (zone3)上作为 ActualSkew (2-1)满足 MaxSkew (1)。换句话说,集群仍然可以进行平衡,但调度程序不会使其更不平衡。它是必填字段。

可能枚举值: - "DoNotSchedule" 指示调度程序在不满足约束时不调度 pod。- "ScheduleAnyway" 指示调度程序调度 pod,即使没有满足限制。

14.13.1.245. .template.spec.volumes

描述
可由属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

14.13.1.246. .template.spec.volumes[]

描述
卷代表一个 pod 中的命名卷,可以被 pod 中的任何容器访问。
类型
object
必填
  • name
属性类型描述

awsElasticBlockStore

object

代表 AWS 中的 Persistent Disk 资源。

挂载到容器前必须存在 AWS EBS 磁盘。磁盘还必须与 kubelet 位于同一个 AWS 区域。AWS EBS 磁盘只能以读写模式挂载。AWS EBS 卷支持所有权管理和 SELinux 重新标记。

azureDisk

对象

azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。

azureFile

对象

azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。

cephfs

object

代表 Ceph 文件系统挂载,最后一个 pod Cephfs 卷的生命周期不支持所有权管理或 SELinux 重新标记。

cinder

object

代表 Openstack 中的 cinder 卷资源。挂载到容器之前必须存在 Cinder 卷。卷还必须与 kubelet 位于同一区域。Cinder 卷支持所有权管理和 SELinux 重新标记。

configMap

object

将 ConfigMap 调整为卷。

目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,使用 Data 字段中的密钥作为文件名,除非 items 元素填充了键到路径的特定映射。ConfigMap 卷支持所有权管理和 SELinux 重新标记。

csi

object

代表由外部 CSI 驱动程序管理的卷的源位置

downwardAPI

object

DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。

emptyDir

object

表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。

ephemeral

object

代表由普通存储驱动程序处理的临时卷。

fc

object

代表光纤通道卷。Fibre Channel 卷只能以读写模式挂载。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。

flexVolume

对象

FlexVolume 代表一个通用卷资源,它使用基于 exec 的插件置备/附加。

flocker

object

代表由 Flocker 代理挂载的 Flocker 卷。应该只设置其中一个 datasetName 和 datasetUUID。flocker 卷不支持所有权管理或 SELinux 重新标记。

gcePersistentDisk

object

代表 Google Compute Engine 中的 Persistent Disk 资源。

在挂载到容器前,GCE PD 必须已经存在。磁盘还必须与 kubelet 位于同一个 GCE 项目和区。GCE PD 只能以读写一次挂载,或者多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。

gitRepo

object

代表填充 git 存储库内容的卷。Git 仓库卷不支持所有权管理。Git repo 卷支持 SELinux 重新标记。

DEPRECATED: GitRepo 已被弃用。要使用 git 仓库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。

glusterfs

object

代表 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。

hostPath

object

代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。

iscsi

object

代表 ISCSI 磁盘。ISCSI 卷只能以读写模式挂载。ISCSI 卷支持所有权管理和 SELinux 重新标记。

name

string

卷的名称。必须是 DNS_LABEL,且在 pod 中唯一。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

nfs

object

代表 pod 的生命周期最后一个 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。

persistentVolumeClaim

object

PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 本质上是另一种类型的卷,它们归其他人(系统)所有。

photonPersistentDisk

object

代表 Photon Controller 持久磁盘资源。

portworxVolume

object

PortworxVolumeSource 代表一个 Portworx volume 资源。

projected

object

代表投射卷源

quobyte

object

代表 pod 的生命周期持续的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。

rbd

object

代表 Rados 块设备挂载,该挂载最后是 pod 的生命周期。RBD 卷支持所有权管理和 SELinux 重新标记。

scaleIO

object

ScaleIOVolumeSource 代表一个持久的 ScaleIO 卷

secret

object

将 Secret 调整为卷。

目标 Secret 的数据字段的内容将作为文件显示在卷中,并将 Data 字段中的密钥用作文件名。Secret 卷支持所有权管理和 SELinux 重新标记。

storageos

object

代表 StorageOS 持久性卷资源。

vsphereVolume

object

代表 vSphere 卷资源。

14.13.1.247. .template.spec.volumes[].awsElasticBlockStore

描述

代表 AWS 中的 Persistent Disk 资源。

挂载到容器前必须存在 AWS EBS 磁盘。磁盘还必须与 kubelet 位于同一个 AWS 区域。AWS EBS 磁盘只能以读写模式挂载。AWS EBS 卷支持所有权管理和 SELinux 重新标记。

类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为"ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

分区

整数

partition 是您要挂载的卷中的分区。如果省略,则默认为按卷名称挂载。示例:对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是 "0" (或者您可以将属性留空)。

readOnly

布尔值

readonly 值 true 将强制 VolumeMounts 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

volumeID

string

VolumeId 是 AWS (Amazon EBS 卷)中的持久磁盘资源的唯一 ID。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

14.13.1.248. .template.spec.volumes[].azureDisk

描述
azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。
类型
object
必填
  • diskName
  • diskURI
属性类型描述

cachingMode

string

cachingMode 是主机缓存模式: None、Read Only、Read Write。

可能枚举值: - "None" - "ReadOnly" - "ReadWrite"

diskName

string

diskname 是 blob 存储中的数据磁盘的名称

diskURI

string

diskURI 是 blob 存储中数据磁盘的 URI

fsType

string

fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为"ext4"。

kind

string

kind expected 值是 Shared: multiple blob disk per storage account Managed: azure disk per storage account Managed: azure managed data disk (only in managed availability set))。默认为 shared

possible enum 值: - "Dedicated" - "Managed" - "Shared"

readOnly

布尔值

只读默认值为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

14.13.1.249. .template.spec.volumes[].azureFile

描述
azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
类型
object
必填
  • secretName
  • shareName
属性类型描述

readOnly

布尔值

只读默认为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

secretName

string

secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称

shareName

string

sharename 是 azure 共享名称

14.13.1.250. .template.spec.volumes[].cephfs

描述
代表 Ceph 文件系统挂载,最后一个 pod Cephfs 卷的生命周期不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • monitor
属性类型描述

monitor

数组(字符串)

Monitors is Required: Monitor is a collection of Ceph monitors more info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

path

string

路径为可选: 作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 /

readOnly

布尔值

readonly 是可选的:默认为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretFile

string

secretfile 是可选:SecretFile 是 User 的密钥环的路径,默认为 /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

user

string

用户是可选的: User 是 rados 用户名,默认为 admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

14.13.1.251. .template.spec.volumes[].cephfs.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.252. .template.spec.volumes[].cinder

描述
代表 Openstack 中的 cinder 卷资源。挂载到容器之前必须存在 Cinder 卷。卷还必须与 kubelet 位于同一区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
类型
object
必填
  • volumeID
属性类型描述

fsType

string

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

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

volumeID

string

用于识别 cinder 中的卷的卷 ID。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

14.13.1.253. .template.spec.volumes[].cinder.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.254. .template.spec.volumes[].configMap

描述

将 ConfigMap 调整为卷。

目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,使用 Data 字段中的密钥作为文件名,除非 items 元素填充了键到路径的特定映射。ConfigMap 卷支持所有权管理和 SELinux 重新标记。

类型
object
属性类型描述

defaultMode

整数

defaultMode 是可选的:用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。默认值为 0644。该路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

items

数组

如果未指定项目,则引用 ConfigMap 的 Data 字段中的每一键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 ConfigMap 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。

items[]

对象

将字符串键映射到卷中的路径。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

可选指定是否必须定义 ConfigMap 还是其键

14.13.1.255. .template.spec.volumes[].configMap.items

描述
如果未指定项目,则引用 ConfigMap 的 Data 字段中的每一键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 ConfigMap 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。
类型
数组

14.13.1.256. .template.spec.volumes[].configMap.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式是可选的:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

path

string

path 是要将密钥映射到的文件的相对路径。可能不是绝对路径。不得包含 path 元素 '..'。不能以字符串 '..' 开始。

14.13.1.257. .template.spec.volumes[].csi

描述
代表由外部 CSI 驱动程序管理的卷的源位置
类型
object
必填
  • driver
属性类型描述

driver

string

driver 是处理这个卷的 CSI 驱动程序的名称。请参考您的管理员获取集群中注册的正确名称。

fsType

string

要挂载的 fstype。Ex. "ext4", "xfs", "ntfs".如果没有提供,空值会被传递给关联的 CSI 驱动程序,该驱动程序将决定要应用的默认文件系统。

nodePublishSecretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

readOnly

布尔值

readonly 指定卷的只读配置。默认为 false (读/写)。

volumeAttributes

对象(字符串)

volumeAttributes 存储传递给 CSI 驱动程序的特定于驱动程序的属性。如需支持的值,请参考您的驱动程序文档。

14.13.1.258. .template.spec.volumes[].csi.nodePublishSecretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.259. .template.spec.volumes[].downwardAPI

描述
DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。
类型
object
属性类型描述

defaultMode

整数

可选:默认在创建的文件中使用的模式位。必须是可选:用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。默认值为 0644。该路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

items

array

items 是 Downward API 卷文件列表

items[]

对象

DownwardAPIVolumeFile 代表信息,以创建包含 pod 字段的文件

14.13.1.260. .template.spec.volumes[].downwardAPI.items

描述
items 是 Downward API 卷文件列表
类型
数组

14.13.1.261. .template.spec.volumes[].downwardAPI.items[]

描述
DownwardAPIVolumeFile 代表信息,以创建包含 pod 字段的文件
类型
object
必填
  • path
属性类型描述

fieldRef

object

ObjectFieldSelector 选择对象的 APIVersioned 字段。

模式

整数

可选:用于在此文件上设置权限的模式位,必须是 0000 到 0777 之间或 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

path

字符串

必需:Path 是要创建的文件的相对路径名称。不能绝对或包含 '..' 路径。必须采用 utf-8 编码。相对路径的第一个项目不能以 '..' 开头。

resourceFieldRef

object

ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式

14.13.1.262. .template.spec.volumes[].downwardAPI.items[].fieldRef

描述
ObjectFieldSelector 选择对象的 APIVersioned 字段。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

FieldPath 用术语编写的 schema 版本,默认为 "v1"。

fieldPath

字符串

在指定 API 版本中选择的字段路径。

14.13.1.263. .template.spec.volumes[].downwardAPI.items[].resourceFieldRef

描述
ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷所需,对于 env vars 是可选的

divisor

数量

指定公开资源的输出格式,默认为 "1"

resource

字符串

必需:要选择的资源

14.13.1.264. .template.spec.volumes[].emptyDir

描述
表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。
类型
object
属性类型描述

string

Medium 代表这个目录应该支持哪些存储类型。默认值为 "",它需要使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

数量

sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存用量 EmptyDir 的最大用法是此处指定的 SizeLimit 和 pod 中所有容器的内存限值总和。默认值为 nil,表示限制未定义。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

14.13.1.265. .template.spec.volumes[].ephemeral

描述
代表由普通存储驱动程序处理的临时卷。
类型
object
属性类型描述

volumeClaimTemplate

object

PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。

14.13.1.266. .template.spec.volumes[].ephemeral.volumeClaimTemplate

描述
PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。
类型
object
必填
  • spec
属性类型描述

metadata

ObjectMeta

可以包含在创建时复制到 PVC 中的标签和注解。不允许其他字段,并在验证过程中被拒绝。

spec

对象

PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许特定于供应商的属性的源

14.13.1.267. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec

描述
PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许特定于供应商的属性的源
类型
object
属性类型描述

accessModes

数组(字符串)

accessModes 包含卷应具有的所需访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

对象

TypedLocalObjectReference 包含足够信息,可让您找到同一命名空间中的 typed referenced 对象。

dataSourceRef

object

dataSourceRef 指定在需要非空卷时,使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定此字段时,只有在指定对象的类型与一些已安装的卷填充器或动态置备程序匹配时才会成功。此字段将替换 dataSource 字段的功能,因此如果这两个字段都不是空的,则它们必须具有相同的值。为向后兼容,当 namespace 没有在 dataSourceRef 中指定时,如果其中一个字段(dataSource 和 dataSourceRef)都自动设置为相同的值,另一个是非空的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,且必须为空。dataSource 和 dataSourceRef: * While dataSource 有三个重要区别:但 dataSourceRef 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象和 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略禁止的值(过滤它们),dataSourceRef 会保留所有值,并在指定了禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。

resources

对象

ResourceRequirements 描述计算资源要求。

selector

labelSelector

selector 是卷上的标签查询,用于绑定。

storageClassName

string

storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeMode

字符串

volumeMode 定义声明所需的卷类型。当没有包括在 claim spec 中时,文件系统的值会被简化。

可能枚举值: - "Block" 表示卷不会被格式化为文件系统,并将保留原始块设备。- "Filesystem" 表示该卷将使用文件系统进行或格式化。

volumeName

string

volumeName 是支持此声明的 PersistentVolume 的绑定引用。

14.13.1.268. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource

描述
TypedLocalObjectReference 包含足够信息,可让您找到同一命名空间中的 typed referenced 对象。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

apiGroup 是被引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

14.13.1.269. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef

描述
dataSourceRef 指定在需要非空卷时,使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定此字段时,只有在指定对象的类型与一些已安装的卷填充器或动态置备程序匹配时才会成功。此字段将替换 dataSource 字段的功能,因此如果这两个字段都不是空的,则它们必须具有相同的值。为向后兼容,当 namespace 没有在 dataSourceRef 中指定时,如果其中一个字段(dataSource 和 dataSourceRef)都自动设置为相同的值,另一个是非空的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,且必须为空。dataSource 和 dataSourceRef: * While dataSource 有三个重要区别:但 dataSourceRef 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象和 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略禁止的值(过滤它们),dataSourceRef 会保留所有值,并在指定了禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
类型
object
必填
  • kind
  • name
属性类型描述

apiGroup

字符串

apiGroup 是被引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

namespace

string

namespace 是被引用的资源的命名空间。在指定命名空间时,引用命名空间中需要 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。

14.13.1.270. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources

描述
ResourceRequirements 描述计算资源要求。
类型
object
属性类型描述

声明

数组

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

claim[]

object

ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。

limits

对象(数量)

限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

对象(数量)

Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

14.13.1.271. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources.claims

描述

声明列出了此容器使用的 spec.resourceClaims 中定义的资源名称。

这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。

此字段是不可变的。它只能为容器设置。

类型
数组

14.13.1.272. .template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources.claims[]

描述
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
类型
object
必填
  • name
属性类型描述

name

string

name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中一个条目的名称匹配。它使得资源在容器内可用。

14.13.1.273. .template.spec.volumes[].fc

描述
代表光纤通道卷。Fibre Channel 卷只能以读写模式挂载。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。
类型
object
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为"ext4"。

LUN

整数

LUN 是可选的: FC 目标 lun 号

readOnly

布尔值

readonly 是可选的:默认为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

targetWWNs

数组(字符串)

targetWWN 可选: FC 目标全球名称(WWN)

wwids

数组(字符串)

wwids 可选:FC 卷全局广泛的标识符(wwids) Either wwids 或 targetWWNs 和 lun 的组合必须同时设置,但不能同时设置。

14.13.1.274. .template.spec.volumes[].flexVolume

描述
FlexVolume 代表一个通用卷资源,它使用基于 exec 的插件置备/附加。
类型
object
必填
  • driver
属性类型描述

driver

string

driver 是要用于此卷的驱动程序名称。

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认文件系统取决于 FlexVolume 脚本。

options

对象(字符串)

选项是可选的:此字段包含额外的命令选项(若有)。

readOnly

布尔值

readonly 是可选的:默认为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

14.13.1.275. .template.spec.volumes[].flexVolume.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.276. .template.spec.volumes[].flocker

描述
代表由 Flocker 代理挂载的 Flocker 卷。应该只设置其中一个 datasetName 和 datasetUUID。flocker 卷不支持所有权管理或 SELinux 重新标记。
类型
object
属性类型描述

datasetName

string

datasetName 是存储在 Flocker 的 dataset 的 dataset 的 dataset 的 Name。

datasetUUID

string

datasetUUID 是 dataset 的 UUID。这是 Flocker 数据集的唯一标识符

14.13.1.277. .template.spec.volumes[].gcePersistentDisk

描述

代表 Google Compute Engine 中的 Persistent Disk 资源。

在挂载到容器前,GCE PD 必须已经存在。磁盘还必须与 kubelet 位于同一个 GCE 项目和区。GCE PD 只能以读写一次挂载,或者多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。

类型
object
必填
  • pdName
属性类型描述

fsType

string

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

string

pdName 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

readOnly

布尔值

此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

14.13.1.278. .template.spec.volumes[].gitRepo

描述

代表填充 git 存储库内容的卷。Git 仓库卷不支持所有权管理。Git repo 卷支持 SELinux 重新标记。

DEPRECATED: GitRepo 已被弃用。要使用 git 仓库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。

类型
object
必填
  • 软件仓库
属性类型描述

目录

string

directory 是目标目录名称。不得包含或以 '..' 开头。如果提供了 '.',则卷目录将是 git 存储库。否则,如果指定,卷将包含具有指定名称的子目录中的 git 存储库。

软件仓库

string

repository 是 URL

revision

string

revision 是指定修订版本的提交哈希。

14.13.1.279. .template.spec.volumes[].glusterfs

描述
代表 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • 端点
  • path
属性类型描述

端点

string

Endpoints 是详细信息 Glusterfs 拓扑的端点名称。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

path

string

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

14.13.1.280. .template.spec.volumes[].hostPath

描述
代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • path
属性类型描述

path

string

主机上目录的路径。如果路径是符号链接,它将遵循到实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

type

string

HostPath Volume Defaults 为 "" more info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

可能枚举值:- "" 对于向后兼容,如果未设置 - "BlockDevice" A 块设备必须存在于给定路径 - "CharDevice" A 字符设备必须存在于给定路径上 - "Directory" A 目录必须存在于给定路径 - "DirectoryOrCreate" 中(如果给定路径不存在), 将根据需要创建一个空目录,且文件模式为 0755,其具有与 Kubelet 相同的组和所有权。- "File" A 文件必须存在于给定路径上 - "FileOrCreate" 如果给定路径上不存在,将根据需要创建一个空文件,该文件与文件模式 0644 具有相同的组和所有权。- "Socket" A UNIX 套接字必须存在于给定路径上。

14.13.1.281. .template.spec.volumes[].iscsi

描述
代表 ISCSI 磁盘。ISCSI 卷只能以读写模式挂载。ISCSI 卷支持所有权管理和 SELinux 重新标记。
类型
object
必填
  • targetPortal
  • IQN
  • LUN
属性类型描述

chapAuthDiscovery

布尔值

chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证

chapAuthSession

布尔值

chapAuthSession 定义是否支持 iSCSI Session CHAP 身份验证

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为"ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi

initiatorName

string

initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。

IQN

string

IQN 是目标 iSCSI 限定名称。

iscsiInterface

string

iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。

LUN

整数

LUN 代表 iSCSI 目标 Lun 编号。

门户

数组(字符串)

门户是 iSCSI 目标门户列表。如果端口不是默认值(通常是 TCP 端口 860 和 3260),则门户可以是 IP 或 ip_addr:port。

readOnly

布尔值

此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。默认为false。

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

targetPortal

string

targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常是 TCP 端口 860 和 3260),则门户可以是 IP 或 ip_addr:port。

14.13.1.282. .template.spec.volumes[].iscsi.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.283. .template.spec.volumes[].nfs

描述
代表 pod 的生命周期最后一个 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • server
  • path
属性类型描述

path

string

NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

readOnly

布尔值

此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

server

string

server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

14.13.1.284. .template.spec.volumes[].persistentVolumeClaim

描述
PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 本质上是另一种类型的卷,它们归其他人(系统)所有。
类型
object
必填
  • claimName
属性类型描述

claimName

string

claimName 是使用此卷与 pod 相同的命名空间中的 PersistentVolumeClaim 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

布尔值

readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认 false。

14.13.1.285. .template.spec.volumes[].photonPersistentDisk

描述
代表 Photon Controller 持久磁盘资源。
类型
object
必填
  • pdID
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为"ext4"。

pdID

string

pdID 是标识 Photon Controller 持久磁盘的 ID

14.13.1.286. .template.spec.volumes[].portworxVolume

描述
PortworxVolumeSource 代表一个 Portworx volume 资源。
类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 代表要挂载的文件系统类型,必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs".如果未指定,则隐式推断为"ext4"。

readOnly

布尔值

只读默认为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

volumeID

string

VolumeId 唯一标识一个 Portworx 卷

14.13.1.287. .template.spec.volumes[].projected

描述
代表投射卷源
类型
object
属性类型描述

defaultMode

整数

defaultMode 是默认用来对创建文件设置权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。该路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

sources

数组

sources 是卷投射列表

sources[]

对象

可与其他支持的卷类型一起投射的预测

14.13.1.288. .template.spec.volumes[].projected.sources

描述
sources 是卷投射列表
类型
数组

14.13.1.289. .template.spec.volumes[].projected.sources[]

描述
可与其他支持的卷类型一起投射的预测
类型
object
属性类型描述

configMap

object

将 ConfigMap 调整为投射卷。

目标 ConfigMap 的 Data 字段的内容将作为文件出现在投射卷中,使用 Data 字段中的密钥作为文件名,除非 items 元素填充了键到路径的特定映射。请注意,这与没有默认模式的 configmap 卷源相同。

downwardAPI

object

代表下下 API 信息,用于项目到投射卷中。请注意,这与没有默认模式的卷源相同。

secret

object

将 secret 适应到投射卷中。

目标 Secret 的数据字段的内容将作为文件出现在投射卷中,使用 Data 字段中的密钥作为文件名。请注意,这与没有默认模式的 secret 卷源相同。

serviceAccountToken

object

ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此投射可用于将服务帐户令牌插入到 pod 运行时文件系统中,以用于 API (Kubernetes API 服务器或其他)。

14.13.1.290. .template.spec.volumes[].projected.sources[].configMap

描述

将 ConfigMap 调整为投射卷。

目标 ConfigMap 的 Data 字段的内容将作为文件出现在投射卷中,使用 Data 字段中的密钥作为文件名,除非 items 元素填充了键到路径的特定映射。请注意,这与没有默认模式的 configmap 卷源相同。

类型
object
属性类型描述

items

数组

如果未指定项目,则引用 ConfigMap 的 Data 字段中的每一键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 ConfigMap 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。

items[]

对象

将字符串键映射到卷中的路径。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

可选指定是否必须定义 ConfigMap 还是其键

14.13.1.291. .template.spec.volumes[].projected.sources[].configMap.items

描述
如果未指定项目,则引用 ConfigMap 的 Data 字段中的每一键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 ConfigMap 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。
类型
数组

14.13.1.292. .template.spec.volumes[].projected.sources[].configMap.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式是可选的:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

path

string

path 是要将密钥映射到的文件的相对路径。可能不是绝对路径。不得包含 path 元素 '..'。不能以字符串 '..' 开始。

14.13.1.293. .template.spec.volumes[].projected.sources[].downwardAPI

描述
代表下下 API 信息,用于项目到投射卷中。请注意,这与没有默认模式的卷源相同。
类型
object
属性类型描述

items

array

items 是 DownwardAPIVolume 文件列表

items[]

对象

DownwardAPIVolumeFile 代表信息,以创建包含 pod 字段的文件

14.13.1.294. .template.spec.volumes[].projected.sources[].downwardAPI.items

描述
items 是 DownwardAPIVolume 文件列表
类型
数组

14.13.1.295. .template.spec.volumes[].projected.sources[].downwardAPI.items[]

描述
DownwardAPIVolumeFile 代表信息,以创建包含 pod 字段的文件
类型
object
必填
  • path
属性类型描述

fieldRef

object

ObjectFieldSelector 选择对象的 APIVersioned 字段。

模式

整数

可选:用于在此文件上设置权限的模式位,必须是 0000 到 0777 之间或 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

path

字符串

必需:Path 是要创建的文件的相对路径名称。不能绝对或包含 '..' 路径。必须采用 utf-8 编码。相对路径的第一个项目不能以 '..' 开头。

resourceFieldRef

object

ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式

14.13.1.296. .template.spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef

描述
ObjectFieldSelector 选择对象的 APIVersioned 字段。
类型
object
必填
  • fieldPath
属性类型描述

apiVersion

字符串

FieldPath 用术语编写的 schema 版本,默认为 "v1"。

fieldPath

字符串

在指定 API 版本中选择的字段路径。

14.13.1.297. .template.spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef

描述
ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
类型
object
必填
  • resource
属性类型描述

containerName

字符串

容器名称:卷所需,对于 env vars 是可选的

divisor

数量

指定公开资源的输出格式,默认为 "1"

resource

字符串

必需:要选择的资源

14.13.1.298. .template.spec.volumes[].projected.sources[].secret

描述

将 secret 适应到投射卷中。

目标 Secret 的数据字段的内容将作为文件出现在投射卷中,使用 Data 字段中的密钥作为文件名。请注意,这与没有默认模式的 secret 卷源相同。

类型
object
属性类型描述

items

数组

如果未指定项目,则引用 Secret 的 Data 字段中每个键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 Secret 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。

items[]

对象

将字符串键映射到卷中的路径。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

可选字段指定是否需要定义 Secret 或其密钥

14.13.1.299. .template.spec.volumes[].projected.sources[].secret.items

描述
如果未指定项目,则引用 Secret 的 Data 字段中每个键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 Secret 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。
类型
数组

14.13.1.300. .template.spec.volumes[].projected.sources[].secret.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式是可选的:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

path

string

path 是要将密钥映射到的文件的相对路径。可能不是绝对路径。不得包含 path 元素 '..'。不能以字符串 '..' 开始。

14.13.1.301. .template.spec.volumes[].projected.sources[].serviceAccountToken

描述
ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此投射可用于将服务帐户令牌插入到 pod 运行时文件系统中,以用于 API (Kubernetes API 服务器或其他)。
类型
object
必填
  • path
属性类型描述

受众

string

受众是令牌的预期受众。令牌的接收者必须使用令牌使用者中指定的标识符来识别自己,否则应拒绝令牌。使用者默认为 apiserver 的标识符。

expirationSeconds

整数

expirationSeconds 是服务帐户令牌的请求持续时间。随着令牌方法到期,kubelet 卷插件将主动轮转服务帐户令牌。如果令牌存在的时间超过这个值的 80%,或者令牌超过 24 小时,则 kubelet 将开始尝试轮转令牌,且必须至少为 10 分钟。

path

string

path 是相对于文件挂载点的路径,以将令牌项目到其中。

14.13.1.302. .template.spec.volumes[].quobyte

描述
代表 pod 的生命周期持续的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • registry
属性类型描述

group

string

将卷访问映射到 Default 的组没有组

readOnly

布尔值

此处的只读将强制使用只读权限挂载 Quobyte 卷。默认为false。

registry

string

registry 代表一个或多个 Quobyte Registry 服务,作为字符串指定为 host:port 对(多个条目用逗号分隔),后者充当卷的中央 registry

tenant

string

在带有动态置备 Quobyte 卷的后端中拥有给定 Quobyte 卷的租户,值由插件设置

user

string

用户将卷访问权限映射到默认值到 serivceaccount 用户

string

卷是一个字符串,它根据名称引用已创建的 Quobyte 卷。

14.13.1.303. .template.spec.volumes[].rbd

描述
代表 Rados 块设备挂载,该挂载最后是 pod 的生命周期。RBD 卷支持所有权管理和 SELinux 重新标记。
类型
object
必填
  • monitor
  • image
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为"ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd

image

string

image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

keyring

string

keyring 是 RBDUser 的密钥环的路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

monitor

数组(字符串)

monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

pool

string

pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

readOnly

布尔值

此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

user

string

user 是 rados 用户名。默认为 admin。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

14.13.1.304. .template.spec.volumes[].rbd.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.305. .template.spec.volumes[].scaleIO

描述
ScaleIOVolumeSource 代表一个持久的 ScaleIO 卷
类型
object
必填
  • gateway
  • system
  • secretRef
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认为 "xfs"。

gateway

string

gateway 是 ScaleIO API 网关的主机地址。

protectionDomain

string

protectionDomain 是配置的存储的 ScaleIO 保护域的名称。

readOnly

布尔值

只读默认值为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

sslEnabled

布尔值

sslEnabled Flag 启用/禁用与网关的 SSL 通信,默认为 false

storageMode

string

storageMode 指示卷的存储应该是 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。

storagePool

string

storagePool 是与保护域关联的 ScaleIO 存储池。

system

string

system 是存储系统的名称,如 ScaleIO 中配置。

volumeName

string

volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。

14.13.1.306. .template.spec.volumes[].scaleIO.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.307. .template.spec.volumes[].secret

描述

将 Secret 调整为卷。

目标 Secret 的数据字段的内容将作为文件显示在卷中,并将 Data 字段中的密钥用作文件名。Secret 卷支持所有权管理和 SELinux 重新标记。

类型
object
属性类型描述

defaultMode

整数

defaultMode 是可选:用于默认设置创建文件的权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。默认值为 0644。该路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

items

数组

如果未指定项目,则引用 Secret 的 Data 字段中每个键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 Secret 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。

items[]

对象

将字符串键映射到卷中的路径。

optional

布尔值

可选字段指定是否需要定义 Secret 或其密钥

secretName

string

secretName 是要使用的 pod 命名空间中的 secret 名称。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

14.13.1.308. .template.spec.volumes[].secret.items

描述
如果未指定项目,则引用 Secret 的 Data 字段中每个键值对将投射到卷中,名称为键,内容是值。如果指定,列出的键将投射到指定的路径中,且未列出的密钥将不存在。如果指定了在 Secret 中不存在的密钥,则卷设置将错误,除非标记为可选。路径必须是 relative,且不能包含 '..' 路径或以 '..' 开头。
类型
数组

14.13.1.309. .template.spec.volumes[].secret.items[]

描述
将字符串键映射到卷中的路径。
类型
object
必填
  • key
  • path
属性类型描述

key

string

key 是项目的关键。

模式

整数

模式是可选的:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,也可以是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能会与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是设置其他模式位。

path

string

path 是要将密钥映射到的文件的相对路径。可能不是绝对路径。不得包含 path 元素 '..'。不能以字符串 '..' 开始。

14.13.1.310. .template.spec.volumes[].storageos

描述
代表 StorageOS 持久性卷资源。
类型
object
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为"ext4"。

readOnly

布尔值

只读默认为 false (读/写)。此处的 readonly 将强制使用 VolumeMount 中的 ReadOnly 设置。

secretRef

object

LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。

volumeName

string

volumeName 是 StorageOS 卷的人类可读名称。卷名称只在命名空间中是唯一的。

volumeNamespace

string

volumeNamespace 指定 StorageOS 中卷的范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称范围,以便在更紧密的集成。将 VolumeName 设置为任何名称来覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。

14.13.1.311. .template.spec.volumes[].storageos.secretRef

描述
LocalObjectReference 包含足够的信息,供您在同一个命名空间中找到引用的对象。
类型
object
属性类型描述

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

14.13.1.312. .template.spec.volumes[].vsphereVolume

描述
代表 vSphere 卷资源。
类型
object
必填
  • volumePath
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为"ext4"。

storagePolicyID

string

StoragePolicyID 是与 StoragePolicyName 关联的存储 Policy Based Management (SPBM)配置集 ID。

storagePolicyName

string

StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。

volumePath

string

volumePath 是标识 vSphere 卷 vmdk 的路径

14.13.2. API 端点

可用的 API 端点如下:

  • /api/v1/podtemplates

    • GET: 列出或监视类型为 PodTemplate 的对象
  • /api/v1/watch/podtemplates

    • GET: 观察单个对 PodTemplate 列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
  • /api/v1/namespaces/{namespace}/podtemplates

    • DELETE :删除 PodTemplate 的集合
    • GET: 列出或监视类型为 PodTemplate 的对象
    • POST :创建 PodTemplate
  • /api/v1/watch/namespaces/{namespace}/podtemplates

    • GET: 观察单个对 PodTemplate 列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
  • /api/v1/namespaces/{namespace}/podtemplates/{name}

    • DELETE :删除 PodTemplate
    • GET :读取指定的 PodTemplate
    • PATCH :部分更新指定的 PodTemplate
    • PUT :替换指定的 PodTemplate
  • /api/v1/watch/namespaces/{namespace}/podtemplates/{name}

    • GET: 观察对 PodTemplate 类型的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。

14.13.2.1. /api/v1/podtemplates

表 14.342. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

HTTP 方法
GET
描述
列出或监视类型为 PodTemplate 的对象
表 14.343. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplateList 模式

401 - Unauthorized

14.13.2.2. /api/v1/watch/podtemplates

表 14.344. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个对 PodTemplate 列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
表 14.345. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

14.13.2.3. /api/v1/namespaces/{namespace}/podtemplates

表 14.346. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.347. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除 PodTemplate 的集合
表 14.348. 查询参数
参数类型描述

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值为 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

orphanDependents

布尔值

deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置这两个字段。

propagationPolicy

字符串

是否以及如何执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置这两个字段。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受值为:'Orphan' - 孤立依赖项; 'Background' - 允许垃圾收集器删除后台依赖的依赖项;'Foreground' - 一个级联策略,会删除前台所有依赖的级联策略。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

表 14.349. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 14.350. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 PodTemplate 的对象
表 14.351. 查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

表 14.352. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplateList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 PodTemplate
表 14.353. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 14.354. 主体参数
参数类型描述

正文(body)

PodTemplate 模式

 
表 14.355. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplate 模式

201 - Created

PodTemplate 模式

202 - Accepted

PodTemplate 模式

401 - Unauthorized

14.13.2.4. /api/v1/watch/namespaces/{namespace}/podtemplates

表 14.356. 全局路径参数
参数类型描述

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.357. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个对 PodTemplate 列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
表 14.358. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

14.13.2.5. /api/v1/namespaces/{namespace}/podtemplates/{name}

表 14.359. 全局路径参数
参数类型描述

name

string

PodTemplate 的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.360. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除 PodTemplate
表 14.361. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值为 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

orphanDependents

布尔值

deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置这两个字段。

propagationPolicy

字符串

是否以及如何执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置这两个字段。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受值为:'Orphan' - 孤立依赖项; 'Background' - 允许垃圾收集器删除后台依赖的依赖项;'Foreground' - 一个级联策略,会删除前台所有依赖的级联策略。

表 14.362. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 14.363. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplate 模式

202 - Accepted

PodTemplate 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 PodTemplate
表 14.364. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplate 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 PodTemplate
表 14.365. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求需要此字段(application/apply-patch),但对于非应用补丁类型(JsonPatch、MergePatch、strategicMergePatch)是可选的。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

force

布尔值

强制尝试"强制"应用请求。这意味着用户将重新排序由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 14.366. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 14.367. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplate 模式

201 - Created

PodTemplate 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 PodTemplate
表 14.368. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 14.369. 主体参数
参数类型描述

正文(body)

PodTemplate 模式

 
表 14.370. HTTP 响应
HTTP 代码响应正文

200 - OK

PodTemplate 模式

201 - Created

PodTemplate 模式

401 - Unauthorized

14.13.2.6. /api/v1/watch/namespaces/{namespace}/podtemplates/{name}

表 14.371. 全局路径参数
参数类型描述

name

string

PodTemplate 的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 14.372. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

HTTP 方法
GET
描述
观察对 kind PodTemplate. deprecated 的对象更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
表 14.373. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.