×
描述

ClusterServiceVersion 是 ClusterServiceVersionSpec 类型的自定义资源。

类型

对象

必需
  • metadata

  • spec

规范

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出此值。不能更新。使用驼峰式大小写。更多信息: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

spec

对象

ClusterServiceVersionSpec 声明告诉 OLM 如何安装可以管理给定版本的应用程序的运算符。

status

对象

ClusterServiceVersionStatus 表示有关 CSV 状态的信息。状态可能滞后于系统的实际状态。

.spec

描述

ClusterServiceVersionSpec 声明告诉 OLM 如何安装可以管理给定版本的应用程序的运算符。

类型

对象

必需
  • displayName

  • install

属性 类型 描述

annotations

对象(字符串)

Annotations 是一个非结构化的键值映射,与资源一起存储,外部工具可以设置该映射来存储和检索任意元数据。

apiservicedefinitions

对象

APIServiceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有扩展 API。

cleanup

对象

Cleanup 指定 CSV 被删除时的清理行为

customresourcedefinitions

对象

CustomResourceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有 CRD。

如果 CRD 出现在 Owned 列表中,则表示隐式需要。

description

字符串

运算符的描述。可以包括运算符的功能、限制或用例。

displayName

字符串

以显示格式显示的运算符名称。

icon

数组

此运算符的图标。

icon[]

对象

install

对象

NamedInstallStrategy 表示 ClusterServiceVersion 资源中指定安装策略的块。

installModes

数组

InstallModes 指定支持的安装类型

installModes[]

对象

InstallMode 将 InstallModeType 与一个标志关联,该标志表示 CSV 是否支持该类型

keywords

数组(字符串)

描述运算符的关键字列表。

labels

对象(字符串)

可以用来组织和分类(范围和选择)对象的字符串键和值映射。

links

数组

与运算符相关的链接列表。

links[]

对象

maintainers

数组

维护运算符的组织实体列表。

maintainers[]

对象

maturity

字符串

minKubeVersion

字符串

nativeAPIs

数组

nativeAPIs[]

对象

GroupVersionKind 明确标识一种类型。它不会匿名包含 GroupVersion 以避免自动强制转换。它不使用 GroupVersion 以避免自定义编组

provider

对象

运算符背后的发布实体。

relatedImages

数组

列出您的运算符可能需要执行其功能的任何相关映像或其他容器映像。此列表还应包括操作数映像。所有映像引用都应通过摘要 (SHA) 而不是标签指定。此字段仅在目录创建期间使用,在集群运行时不起作用。

relatedImages[]

对象

replaces

字符串

被替换的 CSV 的名称。应与旧 CSV 的 metadata.Name 字段匹配。

选择器

对象

相关资源的标签选择器。

跳过

数组(字符串)

在升级图中应跳过的一个或多个 CSV 的名称。应与应跳过的 CSV 的 metadata.Name 字段匹配。此字段仅在目录创建期间使用,在集群运行时不起作用。

版本

字符串

webhookdefinitions

数组

webhookdefinitions[]

对象

WebhookDescription 向 OLM 提供有关所需 Webhook 的详细信息

.spec.apiservicedefinitions

描述

APIServiceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有扩展 API。

类型

对象

属性 类型 描述

拥有的

数组

拥有的[]

对象

APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息

必需的

数组

必需的[]

对象

APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息

.spec.apiservicedefinitions.owned

描述
类型

数组

.spec.apiservicedefinitions.owned[]

描述

APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

操作描述符

数组

操作描述符[]

对象

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

containerPort

整数

deploymentName

字符串

description

字符串

displayName

字符串

字符串

kind

字符串

名称

字符串

资源

数组

资源[]

对象

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

规格描述符

数组

规格描述符[]

对象

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

状态描述符

数组

状态描述符[]

对象

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

版本

字符串

.spec.apiservicedefinitions.owned[].actionDescriptors

描述
类型

数组

.spec.apiservicedefinitions.owned[].actionDescriptors[]

描述

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.apiservicedefinitions.owned[].resources

描述
类型

数组

.spec.apiservicedefinitions.owned[].resources[]

描述

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

kind

字符串

被引用资源类型的 Kind。

名称

字符串

被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。

版本

字符串

被引用资源类型的 API 版本。

.spec.apiservicedefinitions.owned[].specDescriptors

描述
类型

数组

.spec.apiservicedefinitions.owned[].specDescriptors[]

描述

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.apiservicedefinitions.owned[].statusDescriptors

描述
类型

数组

.spec.apiservicedefinitions.owned[].statusDescriptors[]

描述

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.apiservicedefinitions.required

描述
类型

数组

.spec.apiservicedefinitions.required[]

描述

APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

操作描述符

数组

操作描述符[]

对象

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

containerPort

整数

deploymentName

字符串

description

字符串

displayName

字符串

字符串

kind

字符串

名称

字符串

资源

数组

资源[]

对象

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

规格描述符

数组

规格描述符[]

对象

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

状态描述符

数组

状态描述符[]

对象

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

版本

字符串

.spec.apiservicedefinitions.required[].actionDescriptors

描述
类型

数组

.spec.apiservicedefinitions.required[].actionDescriptors[]

描述

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.apiservicedefinitions.required[].resources

描述
类型

数组

.spec.apiservicedefinitions.required[].resources[]

描述

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

kind

字符串

被引用资源类型的 Kind。

名称

字符串

被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。

版本

字符串

被引用资源类型的 API 版本。

.spec.apiservicedefinitions.required[].specDescriptors

描述
类型

数组

.spec.apiservicedefinitions.required[].specDescriptors[]

描述

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.apiservicedefinitions.required[].statusDescriptors

描述
类型

数组

.spec.apiservicedefinitions.required[].statusDescriptors[]

描述

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.cleanup

描述

Cleanup 指定 CSV 被删除时的清理行为

类型

对象

必需
  • 已启用

属性 类型 描述

已启用

布尔值

.spec.customresourcedefinitions

描述

CustomResourceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有 CRD。

如果 CRD 出现在 Owned 列表中,则表示隐式需要。

类型

对象

属性 类型 描述

拥有的

数组

拥有的[]

对象

CRDDescription 向 OLM 提供有关 CRD 的详细信息

必需的

数组

必需的[]

对象

CRDDescription 向 OLM 提供有关 CRD 的详细信息

.spec.customresourcedefinitions.owned

描述
类型

数组

.spec.customresourcedefinitions.owned[]

描述

CRDDescription 向 OLM 提供有关 CRD 的详细信息

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

操作描述符

数组

操作描述符[]

对象

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

description

字符串

displayName

字符串

kind

字符串

名称

字符串

资源

数组

资源[]

对象

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

规格描述符

数组

规格描述符[]

对象

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

状态描述符

数组

状态描述符[]

对象

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

版本

字符串

.spec.customresourcedefinitions.owned[].actionDescriptors

描述
类型

数组

.spec.customresourcedefinitions.owned[].actionDescriptors[]

描述

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.customresourcedefinitions.owned[].resources

描述
类型

数组

.spec.customresourcedefinitions.owned[].resources[]

描述

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

kind

字符串

被引用资源类型的 Kind。

名称

字符串

被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。

版本

字符串

被引用资源类型的 API 版本。

.spec.customresourcedefinitions.owned[].specDescriptors

描述
类型

数组

.spec.customresourcedefinitions.owned[].specDescriptors[]

描述

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.customresourcedefinitions.owned[].statusDescriptors

描述
类型

数组

.spec.customresourcedefinitions.owned[].statusDescriptors[]

描述

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.customresourcedefinitions.required

描述
类型

数组

.spec.customresourcedefinitions.required[]

描述

CRDDescription 向 OLM 提供有关 CRD 的详细信息

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

操作描述符

数组

操作描述符[]

对象

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

description

字符串

displayName

字符串

kind

字符串

名称

字符串

资源

数组

资源[]

对象

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

规格描述符

数组

规格描述符[]

对象

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

状态描述符

数组

状态描述符[]

对象

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

版本

字符串

.spec.customresourcedefinitions.required[].actionDescriptors

描述
类型

数组

.spec.customresourcedefinitions.required[].actionDescriptors[]

描述

ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.customresourcedefinitions.required[].resources

描述
类型

数组

.spec.customresourcedefinitions.required[].resources[]

描述

APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。

类型

对象

必需
  • kind

  • 名称

  • 版本

属性 类型 描述

kind

字符串

被引用资源类型的 Kind。

名称

字符串

被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。

版本

字符串

被引用资源类型的 API 版本。

.spec.customresourcedefinitions.required[].specDescriptors

描述
类型

数组

.spec.customresourcedefinitions.required[].specDescriptors[]

描述

SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.customresourcedefinitions.required[].statusDescriptors

描述
类型

数组

.spec.customresourcedefinitions.required[].statusDescriptors[]

描述

StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它

类型

对象

必需
  • 路径

属性 类型 描述

description

字符串

displayName

字符串

路径

字符串

字符串

RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。

x-描述符

数组(字符串)

.spec.icon

描述

此运算符的图标。

类型

数组

.spec.icon[]

描述
类型

对象

必需
  • base64data

  • mediatype

属性 类型 描述

base64data

字符串

mediatype

字符串

.spec.install

描述

NamedInstallStrategy 表示 ClusterServiceVersion 资源中指定安装策略的块。

类型

对象

必需
  • 策略

属性 类型 描述

spec

对象

StrategyDetailsDeployment 表示 Deployment InstallStrategy 的已解析详细信息。

策略

字符串

.spec.install.spec

描述

StrategyDetailsDeployment 表示 Deployment InstallStrategy 的已解析详细信息。

类型

对象

必需
  • 部署

属性 类型 描述

集群权限

数组

集群权限[]

对象

StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户

部署

数组

部署[]

对象

StrategyDeploymentSpec 包含 ALM 应创建的部署的名称、规范和标签

权限

数组

权限[]

对象

StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户

.spec.install.spec.clusterPermissions

描述
类型

数组

.spec.install.spec.clusterPermissions[]

描述

StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户

类型

对象

必需
  • 规则

  • serviceAccountName

属性 类型 描述

规则

数组

规则[]

对象

PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。

serviceAccountName

字符串

.spec.install.spec.clusterPermissions[].rules

描述
类型

数组

.spec.install.spec.clusterPermissions[].rules[]

描述

PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。

类型

对象

必需
  • 动词

属性 类型 描述

apiGroups

数组(字符串)

APIGroups 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中枚举的资源之一请求的任何操作。“”表示核心 API 组,“*”表示所有 API 组。

nonResourceURLs

数组(字符串)

NonResourceURLs 是用户应该有权访问的一组部分 URL。允许使用 *,但只能作为路径中的完整最后一步。由于非资源 URL 没有命名空间,因此此字段仅适用于从 ClusterRoleBinding 引用的 ClusterRole。规则可以应用于 API 资源(例如“pod”或“secret”)或非资源 URL 路径(例如“/api”),但不能同时应用两者。

资源名称

数组(字符串)

ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。

资源

数组(字符串)

Resources 是此规则适用的资源列表。“*”表示所有资源。

动词

数组(字符串)

Verbs 是适用于此规则中包含的所有 ResourceKinds 的 Verbs 列表。“*”表示所有动词。

.spec.install.spec.deployments

描述
类型

数组

.spec.install.spec.deployments[]

描述

StrategyDeploymentSpec 包含 ALM 应创建的部署的名称、规范和标签

类型

对象

必需
  • 名称

  • spec

属性 类型 描述

标签

对象(字符串)

Set 是 label:value 的映射。它实现了 Labels。

名称

字符串

spec

对象

DeploymentSpec 是部署所需行为的规范。

.spec.install.spec.deployments[].spec

描述

DeploymentSpec 是部署所需行为的规范。

类型

对象

必需
  • 选择器

  • 模板

属性 类型 描述

minReadySeconds

整数

新创建的 pod 在没有任何容器崩溃的情况下应准备就绪的最小秒数,才能被视为可用。默认为 0(pod 一旦准备就绪即被视为可用)

已暂停

布尔值

指示部署已暂停。

progressDeadlineSeconds

整数

部署在被视为失败之前取得进展的最大时间(以秒为单位)。部署控制器将继续处理失败的部署,并且具有 ProgressDeadlineExceeded 原因的条件将显示在部署状态中。请注意,在部署暂停期间不会估计进度。默认为 600 秒。

副本

整数

所需 pod 的数量。这是一个指针,用于区分显式零和未指定。默认为 1。

revisionHistoryLimit

整数

要保留以允许回滚的旧 ReplicaSet 的数量。这是一个指针,用于区分显式零和未指定。默认为 10。

选择器

对象

pod 的标签选择器。现有 ReplicaSet(其 pod 由此选择器选择)将受此部署影响。它必须与 pod 模板的标签匹配。

策略

对象

用于将现有 pod 替换为新 pod 的部署策略。

模板

对象

模板描述将创建的 pod。唯一允许的 template.spec.restartPolicy 值为“Always”。

.spec.install.spec.deployments[].spec.selector

描述

pod 的标签选择器。现有 ReplicaSet(其 pod 由此选择器选择)将受此部署影响。它必须与 pod 模板的标签匹配。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.selector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.selector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.strategy

描述

用于将现有 pod 替换为新 pod 的部署策略。

类型

对象

属性 类型 描述

滚动更新

对象

滚动更新配置参数。仅在 DeploymentStrategyType = RollingUpdate 时存在。--- TODO:更新此项以遵循我们对 oneOf 的约定,无论我们决定使用什么。

类型

字符串

部署类型。可以是“Recreate”或“RollingUpdate”。默认为 RollingUpdate。

.spec.install.spec.deployments[].spec.strategy.rollingUpdate

描述

滚动更新配置参数。仅在 DeploymentStrategyType = RollingUpdate 时存在。--- TODO:更新此项以遵循我们对 oneOf 的约定,无论我们决定使用什么。

类型

对象

属性 类型 描述

maxSurge

整数或字符串

可以调度高于所需 pod 数的最大 pod 数。值可以是绝对数字(例如:5)或所需 pod 的百分比(例如:10%)。如果 MaxUnavailable 为 0,则不能为 0。绝对数字是通过向上舍入从百分比计算得出的。默认为 25%。例如:当此值设置为 30% 时,当滚动更新开始时,可以立即扩展新的 ReplicaSet,以便新旧 pod 的总数不超过所需 pod 的 130%。一旦旧 pod 被杀死,就可以进一步扩展新的 ReplicaSet,确保更新期间任何时候运行的 pod 总数最多为所需 pod 的 130%。

maxUnavailable

整数或字符串

更新期间不可用的 Pod 的最大数量。该值可以是绝对数字(例如:5)或所需 Pod 的百分比(例如:10%)。绝对数字通过将百分比向下取整计算得出。如果 MaxSurge 为 0,则此值不能为 0。默认值为 25%。示例:当此值设置为 30% 时,滚动更新开始时,旧的 ReplicaSet 可以立即缩减到所需 Pod 的 70%。一旦新的 Pod 准备就绪,旧的 ReplicaSet 可以进一步缩减,然后扩展新的 ReplicaSet,从而确保在更新期间,始终可用的 Pod 总数至少为所需 Pod 的 70%。

.spec.install.spec.deployments[].spec.template

描述

模板描述将创建的 pod。唯一允许的 template.spec.restartPolicy 值为“Always”。

类型

对象

属性 类型 描述

metadata

``

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

spec

对象

Pod 预期行为的规范。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

.spec.install.spec.deployments[].spec.template.spec

描述
类型

对象

必需
  • 容器

属性 类型 描述

activeDeadlineSeconds

整数

Pod 在节点上相对于 StartTime 可以处于活动状态的可选持续时间(以秒为单位),在此时间之后,系统将主动尝试将其标记为失败并终止关联的容器。该值必须为正整数。

affinity

对象

如果指定,则为 Pod 的调度约束

automountServiceAccountToken

布尔值

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

容器

数组

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

containers[]

对象

您希望在 Pod 中运行的单个应用程序容器。

dnsConfig

对象

指定 Pod 的 DNS 参数。此处指定的参数将根据 DNSPolicy 合并到生成的 DNS 配置中。

dnsPolicy

字符串

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

enableServiceLinks

布尔值

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

ephemeralContainers

数组

在此 Pod 中运行的临时容器列表。可以在现有 Pod 中运行临时容器,以执行用户启动的操作(例如调试)。创建 Pod 时不能指定此列表,并且不能通过更新 Pod 规范来修改它。为了向现有 Pod 添加临时容器,请使用 Pod 的 ephemeralcontainers 子资源。

ephemeralContainers[]

对象

EphemeralContainer 是一个临时容器,您可以将其添加到现有的 Pod 中,以进行用户启动的活动,例如调试。临时容器没有资源或调度保证,并且它们在退出时或在删除或重新启动 Pod 时不会重新启动。如果临时容器导致 Pod 超出其资源分配,则 kubelet 可能会驱逐该 Pod。

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

hostAliases

数组

HostAliases 是可选的主机和 IP 列表,如果指定,将注入到 Pod 的 hosts 文件中。

hostAliases[]

对象

HostAlias 保存 IP 和主机名之间的映射,该映射将作为 Pod 的 hosts 文件中的条目注入。

hostIPC

布尔值

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

hostNetwork

布尔值

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

hostPID

布尔值

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

hostUsers

布尔值

使用主机用户命名空间。可选:默认为 true。如果设置为 true 或不存在,则 Pod 将在主机用户命名空间中运行,这对于 Pod 需要仅主机用户命名空间可用的功能(例如,使用 CAP_SYS_MODULE 加载内核模块)时很有用。当设置为 false 时,将为 Pod 创建新的 userns。设置为 false 对于缓解容器突破漏洞非常有用,即使允许用户以 root 身份运行其容器,而实际上在主机上没有 root 权限。此字段是 alpha 级别的,并且仅由启用 UserNamespacesSupport 功能的服务器支持。

hostname

字符串

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

imagePullSecrets

数组

ImagePullSecrets 是对同一命名空间中用于拉取此 PodSpec 使用的任何映像的密钥的可选引用列表。如果指定,这些密钥将传递给各个拉取器实现供其使用。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

imagePullSecrets[]

对象

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

initContainers

数组

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

initContainers[]

对象

您希望在 Pod 中运行的单个应用程序容器。

nodeName

字符串

NodeName 是将此 Pod 调度到特定节点上的请求。如果它非空,则调度程序只需将此 Pod 调度到该节点上,假设它符合资源要求。

nodeSelector

对象(字符串)

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

os

对象

指定 Pod 中容器的操作系统。如果设置了此项,则某些 Pod 和容器字段将受到限制。

如果 OS 字段设置为 linux,则必须取消设置以下字段:-securityContext.windowsOptions

如果 OS 字段设置为 windows,则必须取消设置以下字段:- spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[].securityContext.appArmorProfile - spec.containers[].securityContext.seLinuxOptions - spec.containers[].securityContext.seccompProfile - spec.containers[].securityContext.capabilities - spec.containers[].securityContext.readOnlyRootFilesystem - spec.containers[].securityContext.privileged - spec.containers[].securityContext.allowPrivilegeEscalation - spec.containers[].securityContext.procMount - spec.containers[].securityContext.runAsUser - spec.containers[].securityContext.runAsGroup

overhead

整数或字符串

Overhead 表示与运行给定 RuntimeClass 的 Pod 相关的资源开销。此字段将在准入时由 RuntimeClass 准入控制器自动填充。如果启用了 RuntimeClass 准入控制器,则不得在 Pod 创建请求中设置 overhead。RuntimeClass 准入控制器将拒绝已设置 overhead 的 Pod 创建请求。如果在 PodSpec 中配置并选择了 RuntimeClass,则 Overhead 将设置为相应 RuntimeClass 中定义的值,否则将保持未设置状态并视为零。更多信息:https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md

preemptionPolicy

字符串

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

priority

整数

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

priorityClassName

字符串

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

readinessGates

数组

如果指定,将评估所有就绪门以确定 Pod 是否就绪。当 Pod 的所有容器都就绪并且就绪门中指定的所有条件的 status 等于 "True" 时,Pod 就绪。更多信息:https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates

readinessGates[]

对象

PodReadinessGate 包含对 Pod 条件的引用

resourceClaims

数组

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

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

此字段是不可变的。

resourceClaims[]

对象

PodResourceClaim 通过 ClaimSource 引用恰好一个 ResourceClaim。它为 ResourceClaim 添加一个名称,该名称唯一标识 Pod 内的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称引用它。

restartPolicy

字符串

Pod 内所有容器的重启策略。值为 Always、OnFailure、Never 之一。在某些情况下,可能只允许这些值的子集。默认为 Always。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

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 创建时设置,并且只能在之后删除。

schedulingGates[]

对象

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

securityContext

对象

SecurityContext 保存 Pod 级别的安全属性和常见的容器设置。可选:默认为空。请参阅每字段默认值的类型描述。

serviceAccount

字符串

DeprecatedServiceAccount 是 ServiceAccountName 的已弃用别名。已弃用:请改用 serviceAccountName。

serviceAccountName

字符串

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

setHostnameAsFQDN

布尔值

如果为 true,则 Pod 的主机名将配置为 Pod 的 FQDN(完全限定域名),而不是叶子名称(默认)。在 Linux 容器中,这意味着在内核的 hostname 字段(struct utsname 的 nodename 字段)中设置 FQDN。在 Windows 容器中,这意味着将注册表项 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters 的主机名注册表值设置为 FQDN。如果 Pod 没有 FQDN,则此设置无效。默认为 false。

shareProcessNamespace

布尔值

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

subdomain

字符串

如果指定,完全限定的 Pod 主机名将为 "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>"。如果未指定,则 Pod 将根本没有域名。

terminationGracePeriodSeconds

整数

Pod 需要优雅终止的可选持续时间,以秒为单位。可以在删除请求中减少此值。该值必须为非负整数。值零表示通过 kill 信号立即停止(没有关闭机会)。如果此值为 nil,则将使用默认的宽限期。宽限期是指在向 Pod 中运行的进程发送终止信号之后,以及使用 kill 信号强制停止进程之间的时间长度,以秒为单位。设置此值的时间应长于进程的预期清理时间。默认为 30 秒。

tolerations

数组

如果指定,则为 Pod 的容忍度。

tolerations[]

对象

附加此容忍度的 Pod 可以容忍任何匹配 <key,value,effect> 三元组的污点,匹配运算符为 <operator>。

topologySpreadConstraints

数组

TopologySpreadConstraints 描述了一组 Pod 应如何在拓扑域中分布。调度程序将以符合约束的方式调度 Pod。所有 topologySpreadConstraints 都使用 AND 运算。

topologySpreadConstraints[]

对象

TopologySpreadConstraint 指定如何在给定的拓扑中传播匹配的 Pod。

volumes

数组

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

volumes[]

对象

Volume 表示 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。

.spec.install.spec.deployments[].spec.template.spec.affinity

描述

如果指定,则为 Pod 的调度约束

类型

对象

属性 类型 描述

nodeAffinity

对象

描述 Pod 的节点亲和性调度规则。

podAffinity

对象

描述 Pod 亲和性调度规则(例如,将此 Pod 与其他一些 Pod 在同一节点、区域等中共同定位)。

podAntiAffinity

对象

描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他一些 Pod 放在同一节点、区域等中)。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity

描述

描述 Pod 的节点亲和性调度规则。

类型

对象

属性 类型 描述

preferredDuringSchedulingIgnoredDuringExecution

数组

调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但可以选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加“权重”来计算总和,如果节点与相应的 matchExpressions 匹配;总和最大的节点是最优先的。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

空的首选调度项匹配所有具有隐式权重 0 的对象(即,它是一个空操作)。空的(null)首选调度项不匹配任何对象(即,也是一个空操作)。

requiredDuringSchedulingIgnoredDuringExecution

对象

如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述

调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但可以选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加“权重”来计算总和,如果节点与相应的 matchExpressions 匹配;总和最大的节点是最优先的。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述

空的首选调度项匹配所有具有隐式权重 0 的对象(即,它是一个空操作)。空的(null)首选调度项不匹配任何对象(即,也是一个空操作)。

类型

对象

必需
  • preference

  • weight

属性 类型 描述

preference

对象

与相应权重关联的节点选择器项。

weight

整数

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

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference

描述

与相应权重关联的节点选择器项。

类型

对象

属性 类型 描述

matchExpressions

数组

按节点标签列出的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

matchFields

数组

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

matchFields[]

对象

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions

描述

按节点标签列出的节点选择器要求列表。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]

描述

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

选择器应用到的标签键。

运算符

字符串

表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组(字符串)

字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]

描述

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

选择器应用到的标签键。

运算符

字符串

表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组(字符串)

字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述

如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。

类型

对象

必需
  • nodeSelectorTerms

属性 类型 描述

nodeSelectorTerms

数组

必需。节点选择器项列表。这些项使用 OR 运算。

nodeSelectorTerms[]

对象

空的或 null 的节点选择器项不匹配任何对象。它们的要求使用 AND 运算。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的子集。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms

描述

必需。节点选择器项列表。这些项使用 OR 运算。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]

描述

空的或 null 的节点选择器项不匹配任何对象。它们的要求使用 AND 运算。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的子集。

类型

对象

属性 类型 描述

matchExpressions

数组

按节点标签列出的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

matchFields

数组

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

matchFields[]

对象

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions

描述

按节点标签列出的节点选择器要求列表。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]

描述

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

选择器应用到的标签键。

运算符

字符串

表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组(字符串)

字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]

描述

节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

选择器应用到的标签键。

运算符

字符串

表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。

数组(字符串)

字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity

描述

描述 Pod 亲和性调度规则(例如,将此 Pod 与其他一些 Pod 在同一节点、区域等中共同定位)。

类型

对象

属性 类型 描述

preferredDuringSchedulingIgnoredDuringExecution

数组

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

preferredDuringSchedulingIgnoredDuringExecution[]

对象

每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。

requiredDuringSchedulingIgnoredDuringExecution

数组

如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。当存在多个元素时,每个 podAffinityTerm 对应的节点列表会相交,即必须满足所有项。

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述

每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。

类型

对象

必需
  • podAffinityTerm

  • weight

属性 类型 描述

podAffinityTerm

对象

必需。与相应权重关联的 Pod 亲和性项。

weight

整数

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

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

描述

必需。与相应权重关联的 Pod 亲和性项。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

matchLabelKeys

数组(字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组(字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

namespaces

数组(字符串)

namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

字符串

此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

描述

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

描述

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述

如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。当存在多个元素时,每个 podAffinityTerm 对应的节点列表会相交,即必须满足所有项。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述

定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

matchLabelKeys

数组(字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组(字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

namespaces

数组(字符串)

namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

字符串

此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

描述

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

描述

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity

描述

描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他一些 Pod 放在同一节点、区域等中)。

类型

对象

属性 类型 描述

preferredDuringSchedulingIgnoredDuringExecution

数组

调度器会倾向于将 Pod 调度到满足此字段指定的反亲和性表达式的节点,但它可能会选择违反一个或多个表达式的节点。最优先的节点是具有最大权重总和的节点,即,对于每个满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的节点,通过迭代此字段的元素并添加 “weight” 到总和中来计算总和,如果节点具有与相应的 podAffinityTerm 匹配的 Pod;总和最高的节点是最优先的。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。

requiredDuringSchedulingIgnoredDuringExecution

数组

如果在调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的反亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点中驱逐出去。当存在多个元素时,与每个 podAffinityTerm 对应的节点列表会进行交集,即必须满足所有条件。

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution

描述

调度器会倾向于将 Pod 调度到满足此字段指定的反亲和性表达式的节点,但它可能会选择违反一个或多个表达式的节点。最优先的节点是具有最大权重总和的节点,即,对于每个满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的节点,通过迭代此字段的元素并添加 “weight” 到总和中来计算总和,如果节点具有与相应的 podAffinityTerm 匹配的 Pod;总和最高的节点是最优先的。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]

描述

每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。

类型

对象

必需
  • podAffinityTerm

  • weight

属性 类型 描述

podAffinityTerm

对象

必需。与相应权重关联的 Pod 亲和性项。

weight

整数

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

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm

描述

必需。与相应权重关联的 Pod 亲和性项。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

matchLabelKeys

数组(字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组(字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

namespaces

数组(字符串)

namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

字符串

此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector

描述

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector

描述

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

描述

如果在调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的反亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点中驱逐出去。当存在多个元素时,与每个 podAffinityTerm 对应的节点列表会进行交集,即必须满足所有条件。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]

描述

定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。

类型

对象

必需
  • topologyKey

属性 类型 描述

labelSelector

对象

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

matchLabelKeys

数组(字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 matchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 matchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

mismatchLabelKeys

数组(字符串)

MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 合并为 key notin (value),以选择现有 Pod 组,这些 Pod 将用于传入 Pod 的 Pod(反)亲和性。传入 Pod 标签中不存在的键将被忽略。默认值为空。同一个键禁止同时存在于 mismatchLabelKeys 和 labelSelector 中。此外,当 labelSelector 未设置时,不能设置 mismatchLabelKeys。这是一个 alpha 字段,需要启用 MatchLabelKeysInPodAffinity 功能门。

namespaceSelector

对象

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

namespaces

数组(字符串)

namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。

topologyKey

字符串

此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector

描述

针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector

描述

一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.containers

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[]

描述

您希望在 Pod 中运行的单个应用程序容器。

类型

对象

必需
  • 名称

属性 类型 描述

args

数组(字符串)

入口点的参数。如果未提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 会被缩减为单个 $,从而可以转义 $(VAR_NAME) 语法:即,“$(VAR_NAME)” 将生成字符串字面量“$(VAR_NAME)”。转义的引用永远不会被扩展,无论变量是否存在。不能更新。更多信息:https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

数组(字符串)

入口点数组。不在 shell 中执行。如果未提供,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 会被缩减为单个 $,从而可以转义 $(VAR_NAME) 语法:即,“$(VAR_NAME)” 将生成字符串字面量“$(VAR_NAME)”。转义的引用永远不会被扩展,无论变量是否存在。不能更新。更多信息:https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

数组

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

env[]

对象

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

envFrom

数组

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

envFrom[]

对象

EnvFromSource 表示一组 ConfigMap 的源

image

字符串

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

imagePullPolicy

字符串

镜像拉取策略。可以是 Always、Never 或 IfNotPresent 中的一个。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images

lifecycle

对象

管理系统应针对容器生命周期事件采取的操作。不能更新。

livenessProbe

对象

容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

名称

字符串

容器的名称,指定为 DNS_LABEL。一个 Pod 中的每个容器必须有一个唯一的名称 (DNS_LABEL)。不能更新。

ports

数组

要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

ports[]

对象

ContainerPort 表示单个容器中的网络端口。

readinessProbe

对象

定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resizePolicy

数组

容器的资源调整策略。

resizePolicy[]

对象

ContainerResizePolicy 表示容器的资源调整策略。

资源

对象

此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

restartPolicy

字符串

RestartPolicy 定义 Pod 中各个容器的重启行为。此字段只能为初始化容器设置,且唯一允许的值为 “Always”。对于非初始化容器或未指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将初始化容器的 RestartPolicy 设置为 “Always” 将产生以下效果:此初始化容器将在退出时不断重启,直到所有常规容器终止。一旦所有常规容器完成,所有重启策略为 “Always” 的初始化容器都将被关闭。此生命周期与普通的初始化容器不同,通常被称为“边车”容器。虽然此初始化容器仍然在初始化容器序列中启动,但它不会等待容器完成,而是继续执行下一个初始化容器。相反,下一个初始化容器在此初始化容器启动后或任何启动探测成功完成后立即启动。

securityContext

对象

SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

startupProbe

对象

StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

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

字符串

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

tty

布尔值

此容器是否应为其自身分配一个 TTY,还需要 'stdin' 为 true。默认为 false。

volumeDevices

数组

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

volumeDevices[]

对象

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

volumeMounts

数组

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

volumeMounts[]

对象

VolumeMount 描述了容器内 Volume 的装载。

workingDir

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].env

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].env[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

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

字符串

变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “$(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。默认为 “”。

valueFrom

对象

环境变量值的来源。如果 value 不为空,则不能使用。

.spec.install.spec.deployments[].spec.template.spec.containers[].env[].valueFrom

描述

环境变量值的来源。如果 value 不为空,则不能使用。

类型

对象

属性 类型 描述

configMapKeyRef

对象

选择 ConfigMap 的键。

fieldRef

对象

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

resourceFieldRef

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

secretKeyRef

对象

选择 Pod 命名空间中 secret 的键

.spec.install.spec.deployments[].spec.template.spec.containers[].env[].valueFrom.configMapKeyRef

描述

选择 ConfigMap 的键。

类型

对象

必需
属性 类型 描述

字符串

要选择的键。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

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

.spec.install.spec.deployments[].spec.template.spec.containers[].env[].valueFrom.fieldRef

描述

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

类型

对象

必需
  • fieldPath

属性 类型 描述

apiVersion

字符串

FieldPath 编写的模式版本,默认为 “v1”。

fieldPath

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].env[].valueFrom.resourceFieldRef

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

类型

对象

必需
  • resource

属性 类型 描述

containerName

字符串

容器名称:卷是必需的,环境变量是可选的

divisor

整数或字符串

指定暴露资源的输出格式,默认为 “1”

resource

字符串

必需:要选择的资源

.spec.install.spec.deployments[].spec.template.spec.containers[].env[].valueFrom.secretKeyRef

描述

选择 Pod 命名空间中 secret 的键

类型

对象

必需
属性 类型 描述

字符串

要从中选择的 secret 的键。必须是有效的 secret 键。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其键

.spec.install.spec.deployments[].spec.template.spec.containers[].envFrom

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].envFrom[]

描述

EnvFromSource 表示一组 ConfigMap 的源

类型

对象

属性 类型 描述

configMapRef

对象

要从中选择的 ConfigMap

prefix

字符串

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

secretRef

对象

要从中选择的 Secret

.spec.install.spec.deployments[].spec.template.spec.containers[].envFrom[].configMapRef

描述

要从中选择的 ConfigMap

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap

.spec.install.spec.deployments[].spec.template.spec.containers[].envFrom[].secretRef

描述

要从中选择的 Secret

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle

描述

管理系统应针对容器生命周期事件采取的操作。不能更新。

类型

对象

属性 类型 描述

postStart

对象

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

对象

PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart

描述

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

httpGet

对象

HTTPGet 指定要执行的 http 请求。

sleep

对象

Sleep 表示容器在终止前应休眠的时间。

tcpSocket

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart.sleep

描述

Sleep 表示容器在终止前应休眠的时间。

类型

对象

必需
属性 类型 描述

整数

秒是睡眠的秒数。

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.postStart.tcpSocket

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop

描述

PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

httpGet

对象

HTTPGet 指定要执行的 http 请求。

sleep

对象

Sleep 表示容器在终止前应休眠的时间。

tcpSocket

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop.sleep

描述

Sleep 表示容器在终止前应休眠的时间。

类型

对象

必需
属性 类型 描述

整数

秒是睡眠的秒数。

.spec.install.spec.deployments[].spec.template.spec.containers[].lifecycle.preStop.tcpSocket

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe

描述

容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.containers[].livenessProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.containers[].ports

描述

要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].ports[]

描述

ContainerPort 表示单个容器中的网络端口。

类型

对象

必需
  • containerPort

属性 类型 描述

containerPort

整数

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

hostIP

字符串

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

hostPort

整数

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

名称

字符串

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

protocol

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe

描述

定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.containers[].readinessProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.containers[].resizePolicy

描述

容器的资源调整策略。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].resizePolicy[]

描述

ContainerResizePolicy 表示容器的资源调整策略。

类型

对象

必需
  • resourceName

  • restartPolicy

属性 类型 描述

resourceName

字符串

此资源调整策略适用的资源名称。支持的值:cpu、内存。

restartPolicy

字符串

当指定资源调整大小时应用的重启策略。如果未指定,则默认为 NotRequired。

.spec.install.spec.deployments[].spec.template.spec.containers[].resources

描述

此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

类型

对象

属性 类型 描述

claims

数组

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

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

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

claims[]

对象

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

limits

整数或字符串

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

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.install.spec.deployments[].spec.template.spec.containers[].resources.claims

描述

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

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

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].resources.claims[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].securityContext

描述

SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

类型

对象

属性 类型 描述

allowPrivilegeEscalation

布尔值

AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的特权。此布尔值直接控制是否将在容器进程上设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以 Privileged 模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

appArmorProfile

对象

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

capabilities

对象

运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

privileged

布尔值

在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

procMount

字符串

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

readOnlyRootFilesystem

布尔值

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

runAsGroup

整数

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

runAsNonRoot

布尔值

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

runAsUser

整数

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

seLinuxOptions

对象

要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seccompProfile

对象

此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

windowsOptions

对象

应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.install.spec.deployments[].spec.template.spec.containers[].securityContext.appArmorProfile

描述

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。

类型

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.install.spec.deployments[].spec.template.spec.containers[].securityContext.capabilities

描述

运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

类型

对象

属性 类型 描述

add

数组(字符串)

添加的功能

drop

数组(字符串)

移除的功能

.spec.install.spec.deployments[].spec.template.spec.containers[].securityContext.seLinuxOptions

描述

要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

属性 类型 描述

level

字符串

Level 是应用于容器的 SELinux 级别标签。

role

字符串

Role 是应用于容器的 SELinux 角色标签。

类型

字符串

Type 是应用于容器的 SELinux 类型标签。

user

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.install.spec.deployments[].spec.template.spec.containers[].securityContext.seccompProfile

描述

此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。

类型

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

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

.spec.install.spec.deployments[].spec.template.spec.containers[].securityContext.windowsOptions

描述

应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

类型

对象

属性 类型 描述

gmsaCredentialSpec

字符串

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

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。

runAsUserName

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe

描述

StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.containers[].startupProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.containers[].volumeDevices

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].volumeDevices[]

描述

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

类型

对象

必需
  • devicePath

  • 名称

属性 类型 描述

devicePath

字符串

devicePath 是设备将映射到的容器内部的路径。

名称

字符串

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

.spec.install.spec.deployments[].spec.template.spec.containers[].volumeMounts

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.containers[].volumeMounts[]

描述

VolumeMount 描述了容器内 Volume 的装载。

类型

对象

必需
  • mountPath

  • 名称

属性 类型 描述

mountPath

字符串

卷应挂载在容器内的路径。不得包含“:”。

mountPropagation

字符串

mountPropagation 确定如何将挂载从主机传播到容器以及反向传播。如果未设置,则使用 MountPropagationNone。此字段在 1.10 版本中是 beta 版。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。

名称

字符串

这必须与卷的名称匹配。

readOnly

布尔值

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

recursiveReadOnly

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段没有意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不以递归方式使挂载只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式使挂载只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式使挂载只读,否则不会启动 Pod,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

字符串

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

subPathExpr

字符串

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

.spec.install.spec.deployments[].spec.template.spec.dnsConfig

描述

指定 Pod 的 DNS 参数。此处指定的参数将根据 DNSPolicy 合并到生成的 DNS 配置中。

类型

对象

属性 类型 描述

nameservers

数组(字符串)

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

options

数组

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

options[]

对象

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

searches

数组(字符串)

用于主机名查找的 DNS 搜索域列表。这将附加到从 DNSPolicy 生成的基本搜索路径。重复的搜索路径将被删除。

.spec.install.spec.deployments[].spec.template.spec.dnsConfig.options

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.dnsConfig.options[]

描述

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

类型

对象

属性 类型 描述

名称

字符串

必需。

字符串

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers

描述

在此 Pod 中运行的临时容器列表。可以在现有 Pod 中运行临时容器,以执行用户启动的操作(例如调试)。创建 Pod 时不能指定此列表,并且不能通过更新 Pod 规范来修改它。为了向现有 Pod 添加临时容器,请使用 Pod 的 ephemeralcontainers 子资源。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[]

描述

EphemeralContainer 是一个临时容器,您可以将其添加到现有的 Pod 中,以进行用户启动的活动,例如调试。临时容器没有资源或调度保证,并且它们在退出时或在删除或重新启动 Pod 时不会重新启动。如果临时容器导致 Pod 超出其资源分配,则 kubelet 可能会驱逐该 Pod。

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

类型

对象

必需
  • 名称

属性 类型 描述

args

数组(字符串)

入口点的参数。如果未提供,则使用镜像的 CMD。使用容器的环境展开变量引用 $(VAR_NAME)。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。无论变量是否存在,转义的引用都永远不会展开。无法更新。更多信息:https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

数组(字符串)

入口点数组。不在 shell 中执行。如果未提供,则使用镜像的 ENTRYPOINT。使用容器的环境展开变量引用 $(VAR_NAME)。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。无论变量是否存在,转义的引用都永远不会展开。无法更新。更多信息:https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

数组

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

env[]

对象

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

envFrom

数组

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

envFrom[]

对象

EnvFromSource 表示一组 ConfigMap 的源

image

字符串

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

imagePullPolicy

字符串

镜像拉取策略。可以是 Always、Never 或 IfNotPresent 中的一个。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images

lifecycle

对象

临时容器不允许使用生命周期。

livenessProbe

对象

临时容器不允许使用探测器。

名称

字符串

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

ports

数组

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

ports[]

对象

ContainerPort 表示单个容器中的网络端口。

readinessProbe

对象

临时容器不允许使用探测器。

resizePolicy

数组

容器的资源调整策略。

resizePolicy[]

对象

ContainerResizePolicy 表示容器的资源调整策略。

资源

对象

临时容器不允许使用资源。临时容器使用已分配给 Pod 的备用资源。

restartPolicy

字符串

容器的重启策略,用于管理 Pod 中每个容器的重启行为。这只能为 init 容器设置。不能在临时容器上设置此字段。

securityContext

对象

可选:SecurityContext 定义应运行临时容器的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。

startupProbe

对象

临时容器不允许使用探测器。

stdin

布尔值

此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置,则容器中读取 stdin 将始终导致 EOF。默认为 false。

stdinOnce

布尔值

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

targetContainerName

字符串

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

容器运行时必须实现对此特性的支持。如果运行时不支持命名空间目标,则设置此字段的结果是未定义的。

terminationMessagePath

字符串

可选:将容器的终止消息写入的文件装载到容器的文件系统中的路径。写入的消息旨在作为简短的最终状态,例如断言失败消息。如果大于 4096 字节,节点将对其进行截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。

terminationMessagePolicy

字符串

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

tty

布尔值

此容器是否应为其自身分配一个 TTY,还需要 'stdin' 为 true。默认为 false。

volumeDevices

数组

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

volumeDevices[]

对象

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

volumeMounts

数组

要挂载到容器文件系统中的 Pod 卷。临时容器不允许使用子路径挂载。不能更新。

volumeMounts[]

对象

VolumeMount 描述了容器内 Volume 的装载。

workingDir

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

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

字符串

变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “$(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。默认为 “”。

valueFrom

对象

环境变量值的来源。如果 value 不为空,则不能使用。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env[].valueFrom

描述

环境变量值的来源。如果 value 不为空,则不能使用。

类型

对象

属性 类型 描述

configMapKeyRef

对象

选择 ConfigMap 的键。

fieldRef

对象

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

resourceFieldRef

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

secretKeyRef

对象

选择 Pod 命名空间中 secret 的键

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env[].valueFrom.configMapKeyRef

描述

选择 ConfigMap 的键。

类型

对象

必需
属性 类型 描述

字符串

要选择的键。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env[].valueFrom.fieldRef

描述

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

类型

对象

必需
  • fieldPath

属性 类型 描述

apiVersion

字符串

FieldPath 编写的模式版本,默认为 “v1”。

fieldPath

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env[].valueFrom.resourceFieldRef

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

类型

对象

必需
  • resource

属性 类型 描述

containerName

字符串

容器名称:卷是必需的,环境变量是可选的

divisor

整数或字符串

指定暴露资源的输出格式,默认为 “1”

resource

字符串

必需:要选择的资源

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].env[].valueFrom.secretKeyRef

描述

选择 Pod 命名空间中 secret 的键

类型

对象

必需
属性 类型 描述

字符串

要从中选择的 secret 的键。必须是有效的 secret 键。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其键

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].envFrom

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].envFrom[]

描述

EnvFromSource 表示一组 ConfigMap 的源

类型

对象

属性 类型 描述

configMapRef

对象

要从中选择的 ConfigMap

prefix

字符串

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

secretRef

对象

要从中选择的 Secret

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].envFrom[].configMapRef

描述

要从中选择的 ConfigMap

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].envFrom[].secretRef

描述

要从中选择的 Secret

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle

描述

临时容器不允许使用生命周期。

类型

对象

属性 类型 描述

postStart

对象

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

对象

PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart

描述

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

httpGet

对象

HTTPGet 指定要执行的 http 请求。

sleep

对象

Sleep 表示容器在终止前应休眠的时间。

tcpSocket

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart.sleep

描述

Sleep 表示容器在终止前应休眠的时间。

类型

对象

必需
属性 类型 描述

整数

秒是睡眠的秒数。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.postStart.tcpSocket

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop

描述

PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

httpGet

对象

HTTPGet 指定要执行的 http 请求。

sleep

对象

Sleep 表示容器在终止前应休眠的时间。

tcpSocket

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop.sleep

描述

Sleep 表示容器在终止前应休眠的时间。

类型

对象

必需
属性 类型 描述

整数

秒是睡眠的秒数。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].lifecycle.preStop.tcpSocket

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe

描述

临时容器不允许使用探测器。

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].livenessProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].ports

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].ports[]

描述

ContainerPort 表示单个容器中的网络端口。

类型

对象

必需
  • containerPort

属性 类型 描述

containerPort

整数

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

hostIP

字符串

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

hostPort

整数

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

名称

字符串

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

protocol

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe

描述

临时容器不允许使用探测器。

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].readinessProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].resizePolicy

描述

容器的资源调整策略。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].resizePolicy[]

描述

ContainerResizePolicy 表示容器的资源调整策略。

类型

对象

必需
  • resourceName

  • restartPolicy

属性 类型 描述

resourceName

字符串

此资源调整策略适用的资源名称。支持的值:cpu、内存。

restartPolicy

字符串

当指定资源调整大小时应用的重启策略。如果未指定,则默认为 NotRequired。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].resources

描述

临时容器不允许使用资源。临时容器使用已分配给 Pod 的备用资源。

类型

对象

属性 类型 描述

claims

数组

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

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

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

claims[]

对象

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

limits

整数或字符串

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

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].resources.claims

描述

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

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

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].resources.claims[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].securityContext

描述

可选:SecurityContext 定义应运行临时容器的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。

类型

对象

属性 类型 描述

allowPrivilegeEscalation

布尔值

AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的特权。此布尔值直接控制是否将在容器进程上设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以 Privileged 模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

appArmorProfile

对象

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

capabilities

对象

运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

privileged

布尔值

在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

procMount

字符串

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

readOnlyRootFilesystem

布尔值

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

runAsGroup

整数

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

runAsNonRoot

布尔值

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

runAsUser

整数

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

seLinuxOptions

对象

要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seccompProfile

对象

此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

windowsOptions

对象

应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].securityContext.appArmorProfile

描述

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。

类型

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].securityContext.capabilities

描述

运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

类型

对象

属性 类型 描述

add

数组(字符串)

添加的功能

drop

数组(字符串)

移除的功能

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].securityContext.seLinuxOptions

描述

要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

属性 类型 描述

level

字符串

Level 是应用于容器的 SELinux 级别标签。

role

字符串

Role 是应用于容器的 SELinux 角色标签。

类型

字符串

Type 是应用于容器的 SELinux 类型标签。

user

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].securityContext.seccompProfile

描述

此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。

类型

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].securityContext.windowsOptions

描述

应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

类型

对象

属性 类型 描述

gmsaCredentialSpec

字符串

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

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。

runAsUserName

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe

描述

临时容器不允许使用探测器。

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].startupProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].volumeDevices

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].volumeDevices[]

描述

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

类型

对象

必需
  • devicePath

  • 名称

属性 类型 描述

devicePath

字符串

devicePath 是设备将映射到的容器内部的路径。

名称

字符串

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

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].volumeMounts

描述

要挂载到容器文件系统中的 Pod 卷。临时容器不允许使用子路径挂载。不能更新。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.ephemeralContainers[].volumeMounts[]

描述

VolumeMount 描述了容器内 Volume 的装载。

类型

对象

必需
  • mountPath

  • 名称

属性 类型 描述

mountPath

字符串

卷应挂载在容器内的路径。不得包含“:”。

mountPropagation

字符串

mountPropagation 确定如何将挂载从主机传播到容器以及反向传播。如果未设置,则使用 MountPropagationNone。此字段在 1.10 版本中是 beta 版。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。

名称

字符串

这必须与卷的名称匹配。

readOnly

布尔值

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

recursiveReadOnly

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段没有意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不以递归方式使挂载只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式使挂载只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式使挂载只读,否则不会启动 Pod,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

字符串

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

subPathExpr

字符串

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

.spec.install.spec.deployments[].spec.template.spec.hostAliases

描述

HostAliases 是可选的主机和 IP 列表,如果指定,将注入到 Pod 的 hosts 文件中。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.hostAliases[]

描述

HostAlias 保存 IP 和主机名之间的映射,该映射将作为 Pod 的 hosts 文件中的条目注入。

类型

对象

必需
  • ip

属性 类型 描述

主机名

数组(字符串)

上述 IP 地址的主机名。

ip

字符串

主机文件条目的 IP 地址。

.spec.install.spec.deployments[].spec.template.spec.imagePullSecrets

描述

ImagePullSecrets 是对同一命名空间中用于拉取此 PodSpec 使用的任何映像的密钥的可选引用列表。如果指定,这些密钥将传递给各个拉取器实现供其使用。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

类型

数组

.spec.install.spec.deployments[].spec.template.spec.imagePullSecrets[]

描述

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

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.initContainers

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[]

描述

您希望在 Pod 中运行的单个应用程序容器。

类型

对象

必需
  • 名称

属性 类型 描述

args

数组(字符串)

入口点的参数。如果未提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 会被缩减为单个 $,从而可以转义 $(VAR_NAME) 语法:即,“$(VAR_NAME)” 将生成字符串字面量“$(VAR_NAME)”。转义的引用永远不会被扩展,无论变量是否存在。不能更新。更多信息:https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

数组(字符串)

入口点数组。不在 shell 中执行。如果未提供,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME) 使用容器的环境进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 会被缩减为单个 $,从而可以转义 $(VAR_NAME) 语法:即,“$(VAR_NAME)” 将生成字符串字面量“$(VAR_NAME)”。转义的引用永远不会被扩展,无论变量是否存在。不能更新。更多信息:https://kubernetes.ac.cn/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

数组

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

env[]

对象

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

envFrom

数组

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

envFrom[]

对象

EnvFromSource 表示一组 ConfigMap 的源

image

字符串

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

imagePullPolicy

字符串

镜像拉取策略。可以是 Always、Never 或 IfNotPresent 中的一个。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images

lifecycle

对象

管理系统应针对容器生命周期事件采取的操作。不能更新。

livenessProbe

对象

容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

名称

字符串

容器的名称,指定为 DNS_LABEL。一个 Pod 中的每个容器必须有一个唯一的名称 (DNS_LABEL)。不能更新。

ports

数组

要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

ports[]

对象

ContainerPort 表示单个容器中的网络端口。

readinessProbe

对象

定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resizePolicy

数组

容器的资源调整策略。

resizePolicy[]

对象

ContainerResizePolicy 表示容器的资源调整策略。

资源

对象

此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

restartPolicy

字符串

RestartPolicy 定义 Pod 中各个容器的重启行为。此字段只能为初始化容器设置,且唯一允许的值为 “Always”。对于非初始化容器或未指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将初始化容器的 RestartPolicy 设置为 “Always” 将产生以下效果:此初始化容器将在退出时不断重启,直到所有常规容器终止。一旦所有常规容器完成,所有重启策略为 “Always” 的初始化容器都将被关闭。此生命周期与普通的初始化容器不同,通常被称为“边车”容器。虽然此初始化容器仍然在初始化容器序列中启动,但它不会等待容器完成,而是继续执行下一个初始化容器。相反,下一个初始化容器在此初始化容器启动后或任何启动探测成功完成后立即启动。

securityContext

对象

SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

startupProbe

对象

StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

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

字符串

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

tty

布尔值

此容器是否应为其自身分配一个 TTY,还需要 'stdin' 为 true。默认为 false。

volumeDevices

数组

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

volumeDevices[]

对象

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

volumeMounts

数组

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

volumeMounts[]

对象

VolumeMount 描述了容器内 Volume 的装载。

workingDir

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

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

字符串

变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “$(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。默认为 “”。

valueFrom

对象

环境变量值的来源。如果 value 不为空,则不能使用。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env[].valueFrom

描述

环境变量值的来源。如果 value 不为空,则不能使用。

类型

对象

属性 类型 描述

configMapKeyRef

对象

选择 ConfigMap 的键。

fieldRef

对象

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

resourceFieldRef

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

secretKeyRef

对象

选择 Pod 命名空间中 secret 的键

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env[].valueFrom.configMapKeyRef

描述

选择 ConfigMap 的键。

类型

对象

必需
属性 类型 描述

字符串

要选择的键。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env[].valueFrom.fieldRef

描述

选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。

类型

对象

必需
  • fieldPath

属性 类型 描述

apiVersion

字符串

FieldPath 编写的模式版本,默认为 “v1”。

fieldPath

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env[].valueFrom.resourceFieldRef

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。

类型

对象

必需
  • resource

属性 类型 描述

containerName

字符串

容器名称:卷是必需的,环境变量是可选的

divisor

整数或字符串

指定暴露资源的输出格式,默认为 “1”

resource

字符串

必需:要选择的资源

.spec.install.spec.deployments[].spec.template.spec.initContainers[].env[].valueFrom.secretKeyRef

描述

选择 Pod 命名空间中 secret 的键

类型

对象

必需
属性 类型 描述

字符串

要从中选择的 secret 的键。必须是有效的 secret 键。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret 或其键

.spec.install.spec.deployments[].spec.template.spec.initContainers[].envFrom

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].envFrom[]

描述

EnvFromSource 表示一组 ConfigMap 的源

类型

对象

属性 类型 描述

configMapRef

对象

要从中选择的 ConfigMap

prefix

字符串

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

secretRef

对象

要从中选择的 Secret

.spec.install.spec.deployments[].spec.template.spec.initContainers[].envFrom[].configMapRef

描述

要从中选择的 ConfigMap

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 ConfigMap

.spec.install.spec.deployments[].spec.template.spec.initContainers[].envFrom[].secretRef

描述

要从中选择的 Secret

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

指定是否必须定义 Secret

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle

描述

管理系统应针对容器生命周期事件采取的操作。不能更新。

类型

对象

属性 类型 描述

postStart

对象

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

对象

PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart

描述

PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

httpGet

对象

HTTPGet 指定要执行的 http 请求。

sleep

对象

Sleep 表示容器在终止前应休眠的时间。

tcpSocket

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart.sleep

描述

Sleep 表示容器在终止前应休眠的时间。

类型

对象

必需
属性 类型 描述

整数

秒是睡眠的秒数。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.postStart.tcpSocket

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop

描述

PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

httpGet

对象

HTTPGet 指定要执行的 http 请求。

sleep

对象

Sleep 表示容器在终止前应休眠的时间。

tcpSocket

对象

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop.sleep

描述

Sleep 表示容器在终止前应休眠的时间。

类型

对象

必需
属性 类型 描述

整数

秒是睡眠的秒数。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].lifecycle.preStop.tcpSocket

描述

已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe

描述

容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.initContainers[].livenessProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].ports

描述

要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].ports[]

描述

ContainerPort 表示单个容器中的网络端口。

类型

对象

必需
  • containerPort

属性 类型 描述

containerPort

整数

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

hostIP

字符串

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

hostPort

整数

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

名称

字符串

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

protocol

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe

描述

定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.initContainers[].readinessProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].resizePolicy

描述

容器的资源调整策略。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].resizePolicy[]

描述

ContainerResizePolicy 表示容器的资源调整策略。

类型

对象

必需
  • resourceName

  • restartPolicy

属性 类型 描述

resourceName

字符串

此资源调整策略适用的资源名称。支持的值:cpu、内存。

restartPolicy

字符串

当指定资源调整大小时应用的重启策略。如果未指定,则默认为 NotRequired。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].resources

描述

此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

类型

对象

属性 类型 描述

claims

数组

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

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

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

claims[]

对象

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

limits

整数或字符串

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

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.install.spec.deployments[].spec.template.spec.initContainers[].resources.claims

描述

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

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

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].resources.claims[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].securityContext

描述

SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/

类型

对象

属性 类型 描述

allowPrivilegeEscalation

布尔值

AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的特权。此布尔值直接控制是否将在容器进程上设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以 Privileged 模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

appArmorProfile

对象

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

capabilities

对象

运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

privileged

布尔值

在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

procMount

字符串

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

readOnlyRootFilesystem

布尔值

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

runAsGroup

整数

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

runAsNonRoot

布尔值

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

runAsUser

整数

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

seLinuxOptions

对象

要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seccompProfile

对象

此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

windowsOptions

对象

应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].securityContext.appArmorProfile

描述

appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。

类型

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].securityContext.capabilities

描述

运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。

类型

对象

属性 类型 描述

add

数组(字符串)

添加的功能

drop

数组(字符串)

移除的功能

.spec.install.spec.deployments[].spec.template.spec.initContainers[].securityContext.seLinuxOptions

描述

要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

属性 类型 描述

level

字符串

Level 是应用于容器的 SELinux 级别标签。

role

字符串

Role 是应用于容器的 SELinux 角色标签。

类型

字符串

Type 是应用于容器的 SELinux 类型标签。

user

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].securityContext.seccompProfile

描述

此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。

类型

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].securityContext.windowsOptions

描述

应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

类型

对象

属性 类型 描述

gmsaCredentialSpec

字符串

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

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。

runAsUserName

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe

描述

StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

类型

对象

属性 类型 描述

exec

对象

Exec 指定要执行的操作。

failureThreshold

整数

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

grpc

对象

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

httpGet

对象

HTTPGet 指定要执行的 http 请求。

initialDelaySeconds

整数

容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

整数

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

successThreshold

整数

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

tcpSocket

对象

TCPSocket 指定涉及 TCP 端口的操作。

terminationGracePeriodSeconds

整数

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

timeoutSeconds

整数

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe.exec

描述

Exec 指定要执行的操作。

类型

对象

属性 类型 描述

command

数组(字符串)

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe.grpc

描述

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

类型

对象

必需
  • port

属性 类型 描述

port

整数

gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。

service

字符串

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

如果未指定,则默认行为由 gRPC 定义。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe.httpGet

描述

HTTPGet 指定要执行的 http 请求。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。

httpHeaders

数组

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

httpHeaders[]

对象

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

路径

字符串

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

port

整数或字符串

要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

scheme

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe.httpGet.httpHeaders

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe.httpGet.httpHeaders[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。

字符串

头部字段的值

.spec.install.spec.deployments[].spec.template.spec.initContainers[].startupProbe.tcpSocket

描述

TCPSocket 指定涉及 TCP 端口的操作。

类型

对象

必需
  • port

属性 类型 描述

host

字符串

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

port

整数或字符串

容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。

.spec.install.spec.deployments[].spec.template.spec.initContainers[].volumeDevices

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].volumeDevices[]

描述

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

类型

对象

必需
  • devicePath

  • 名称

属性 类型 描述

devicePath

字符串

devicePath 是设备将映射到的容器内部的路径。

名称

字符串

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

.spec.install.spec.deployments[].spec.template.spec.initContainers[].volumeMounts

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.initContainers[].volumeMounts[]

描述

VolumeMount 描述了容器内 Volume 的装载。

类型

对象

必需
  • mountPath

  • 名称

属性 类型 描述

mountPath

字符串

卷应挂载在容器内的路径。不得包含“:”。

mountPropagation

字符串

mountPropagation 确定如何将挂载从主机传播到容器以及反向传播。如果未设置,则使用 MountPropagationNone。此字段在 1.10 版本中是 beta 版。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。

名称

字符串

这必须与卷的名称匹配。

readOnly

布尔值

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

recursiveReadOnly

字符串

RecursiveReadOnly 指定是否应递归处理只读挂载。

如果 ReadOnly 为 false,则此字段没有意义,必须未指定。

如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不以递归方式使挂载只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式使挂载只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式使挂载只读,否则不会启动 Pod,并且会生成错误以指示原因。

如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。

如果未指定此字段,则将其视为等效于 Disabled。

subPath

字符串

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

subPathExpr

字符串

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

.spec.install.spec.deployments[].spec.template.spec.os

描述

指定 Pod 中容器的操作系统。如果设置了此项,则某些 Pod 和容器字段将受到限制。

如果 OS 字段设置为 linux,则必须取消设置以下字段:-securityContext.windowsOptions

如果 OS 字段设置为 windows,则必须取消设置以下字段:- spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[].securityContext.appArmorProfile - spec.containers[].securityContext.seLinuxOptions - spec.containers[].securityContext.seccompProfile - spec.containers[].securityContext.capabilities - spec.containers[].securityContext.readOnlyRootFilesystem - spec.containers[].securityContext.privileged - spec.containers[].securityContext.allowPrivilegeEscalation - spec.containers[].securityContext.procMount - spec.containers[].securityContext.runAsUser - spec.containers[].securityContext.runAsGroup

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

Name 是操作系统的名称。当前支持的值为 linux 和 windows。未来可能会定义其他值,可以为以下值之一:https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration 客户端应能处理其他值,并将此字段中无法识别的值视为 os: null

.spec.install.spec.deployments[].spec.template.spec.readinessGates

描述

如果指定,将评估所有就绪门以确定 Pod 是否就绪。当 Pod 的所有容器都就绪并且就绪门中指定的所有条件的 status 等于 "True" 时,Pod 就绪。更多信息:https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates

类型

数组

.spec.install.spec.deployments[].spec.template.spec.readinessGates[]

描述

PodReadinessGate 包含对 Pod 条件的引用

类型

对象

必需
  • conditionType

属性 类型 描述

conditionType

字符串

ConditionType 指的是 Pod 的条件列表中具有匹配类型的条件。

.spec.install.spec.deployments[].spec.template.spec.resourceClaims

描述

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

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

此字段是不可变的。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.resourceClaims[]

描述

PodResourceClaim 通过 ClaimSource 引用恰好一个 ResourceClaim。它为 ResourceClaim 添加一个名称,该名称唯一标识 Pod 内的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称引用它。

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

Name 在 Pod 内部唯一标识此资源声明。这必须是 DNS_LABEL。

source

对象

Source 描述了在哪里可以找到 ResourceClaim。

.spec.install.spec.deployments[].spec.template.spec.resourceClaims[].source

描述

Source 描述了在哪里可以找到 ResourceClaim。

类型

对象

属性 类型 描述

resourceClaimName

字符串

ResourceClaimName 是与此 Pod 位于同一命名空间中的 ResourceClaim 对象的名称。

resourceClaimTemplateName

字符串

ResourceClaimTemplateName 是与此 Pod 位于同一命名空间中的 ResourceClaimTemplate 对象的名称。

该模板将用于创建一个新的 ResourceClaim,它将绑定到此 Pod。当此 Pod 被删除时,ResourceClaim 也将被删除。Pod 名称和资源名称,以及一个生成的组件,将用于为 ResourceClaim 形成一个唯一的名称,该名称将记录在 pod.status.resourceClaimStatuses 中。

此字段是不可变的,并且在创建 ResourceClaim 后,控制平面不会对相应的 ResourceClaim 进行任何更改。

.spec.install.spec.deployments[].spec.template.spec.schedulingGates

描述

SchedulingGates 是一个不透明的值列表,如果指定,将阻止调度 Pod。如果 schedulingGates 不为空,则 Pod 将保持在 SchedulingGated 状态,并且调度程序不会尝试调度该 Pod。

SchedulingGates 只能在 Pod 创建时设置,并且只能在之后删除。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.schedulingGates[]

描述

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

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

调度门的名字。每个调度门必须具有唯一的 name 字段。

.spec.install.spec.deployments[].spec.template.spec.securityContext

描述

SecurityContext 保存 Pod 级别的安全属性和常见的容器设置。可选:默认为空。请参阅每字段默认值的类型描述。

类型

对象

属性 类型 描述

appArmorProfile

对象

appArmorProfile 是此 Pod 中容器要使用的 AppArmor 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

fsGroup

整数

一个特殊的补充组,适用于 Pod 中的所有容器。某些卷类型允许 Kubelet 将该卷的所有权更改为由 Pod 拥有

1. 拥有 GID 将是 FSGroup 2. 设置 setgid 位(在卷中创建的新文件将由 FSGroup 拥有)3. 权限位与 rw-rw---- 进行 OR 运算

如果未设置,则 Kubelet 不会修改任何卷的所有权和权限。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

fsGroupChangePolicy

字符串

fsGroupChangePolicy 定义在 Pod 内部公开之前更改卷的所有权和权限的行为。此字段仅适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对临时卷类型(如:secret、configmaps 和 emptydir)没有影响。有效值为“OnRootMismatch”和“Always”。如果未指定,则使用“Always”。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

runAsGroup

整数

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

runAsNonRoot

布尔值

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

runAsUser

整数

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

seLinuxOptions

对象

要应用于所有容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

seccompProfile

对象

此 Pod 中容器要使用的 seccomp 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

supplementalGroups

数组(整数)

除了容器的主 GID、fsGroup(如果已指定)以及容器镜像中为容器进程的 uid 定义的组成员身份之外,应用于每个容器中运行的第一个进程的组列表。如果未指定,则不会向任何容器添加额外的组。请注意,即使未包含在此列表中,容器镜像中为容器进程的 uid 定义的组成员身份仍然有效。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

sysctls

数组

Sysctls 保存用于 Pod 的命名空间 sysctl 列表。具有不受支持的 sysctl(由容器运行时)的 Pod 可能会启动失败。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

sysctls[]

对象

Sysctl 定义要设置的内核参数

windowsOptions

对象

应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器的 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

.spec.install.spec.deployments[].spec.template.spec.securityContext.appArmorProfile

描述

appArmorProfile 是此 Pod 中容器要使用的 AppArmor 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。

类型

字符串

type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。

.spec.install.spec.deployments[].spec.template.spec.securityContext.seLinuxOptions

描述

要应用于所有容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

属性 类型 描述

level

字符串

Level 是应用于容器的 SELinux 级别标签。

role

字符串

Role 是应用于容器的 SELinux 角色标签。

类型

字符串

Type 是应用于容器的 SELinux 类型标签。

user

字符串

User 是应用于容器的 SELinux 用户标签。

.spec.install.spec.deployments[].spec.template.spec.securityContext.seccompProfile

描述

此 Pod 中容器要使用的 seccomp 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

对象

必需
  • 类型

属性 类型 描述

localhostProfile

字符串

localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。

类型

字符串

type 指示将应用哪种 seccomp 配置文件。有效选项为

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

.spec.install.spec.deployments[].spec.template.spec.securityContext.sysctls

描述

Sysctls 保存用于 Pod 的命名空间 sysctl 列表。具有不受支持的 sysctl(由容器运行时)的 Pod 可能会启动失败。请注意,当 spec.os.name 为 windows 时,无法设置此字段。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.securityContext.sysctls[]

描述

Sysctl 定义要设置的内核参数

类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

要设置的属性的名称

字符串

要设置的属性的值

.spec.install.spec.deployments[].spec.template.spec.securityContext.windowsOptions

描述

应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器的 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。

类型

对象

属性 类型 描述

gmsaCredentialSpec

字符串

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

gmsaCredentialSpecName

字符串

GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。

hostProcess

布尔值

HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。

runAsUserName

字符串

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

.spec.install.spec.deployments[].spec.template.spec.tolerations

描述

如果指定,则为 Pod 的容忍度。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.tolerations[]

描述

附加此容忍度的 Pod 可以容忍任何匹配 <key,value,effect> 三元组的污点,匹配运算符为 <operator>。

类型

对象

属性 类型 描述

effect

字符串

Effect 表示要匹配的污点效应。空表示匹配所有污点效应。指定时,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。

字符串

Key 是容忍度所应用的污点键。空表示匹配所有污点键。如果键为空,则 operator 必须为 Exists;这种组合表示匹配所有值和所有键。

运算符

字符串

Operator 表示键与值之间的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,以便 Pod 可以容忍特定类别的所有污点。

tolerationSeconds

整数

TolerationSeconds 表示容忍度(必须是 NoExecute 效应,否则此字段将被忽略)容忍污点的时间段。默认情况下,它未设置,这意味着永久容忍污点(不驱逐)。系统会将零和负值视为 0(立即驱逐)。

字符串

Value 是容忍度匹配的污点值。如果 operator 为 Exists,则该值应为空,否则只是一个常规字符串。

.spec.install.spec.deployments[].spec.template.spec.topologySpreadConstraints

描述

TopologySpreadConstraints 描述了一组 Pod 应如何在拓扑域中分布。调度程序将以符合约束的方式调度 Pod。所有 topologySpreadConstraints 都使用 AND 运算。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.topologySpreadConstraints[]

描述

TopologySpreadConstraint 指定如何在给定的拓扑中传播匹配的 Pod。

类型

对象

必需
  • maxSkew

  • topologyKey

  • whenUnsatisfiable

属性 类型 描述

labelSelector

对象

LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 会被计数,以确定其对应拓扑域中的 Pod 数量。

matchLabelKeys

数组(字符串)

MatchLabelKeys 是一组 Pod 标签键,用于选择将计算扩展的 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 进行 AND 运算,以选择一组现有的 Pod,在这些 Pod 上将计算传入 Pod 的扩展。禁止在 MatchLabelKeys 和 LabelSelector 中同时存在相同的键。当未设置 LabelSelector 时,不能设置 MatchLabelKeys。传入 Pod 标签中不存在的键将被忽略。空列表或 null 表示仅与 labelSelector 进行匹配。

这是一个 beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。

maxSkew

整数

MaxSkew 描述了 Pod 不均匀分布的程度。当 whenUnsatisfiable=DoNotSchedule 时,它是目标拓扑中匹配 Pod 的数量与全局最小值之间允许的最大差异。全局最小值是符合条件的域中匹配 Pod 的最小数量,如果符合条件的域的数量小于 MinDomains,则为零。例如,在一个 3 区域集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 2/2/1:在这种情况下,全局最小值为 1。| 区域 1 | 区域 2 | 区域 3 | | P P | P P | P | - 如果 MaxSkew 为 1,则传入的 Pod 只能调度到区域 3 以变为 2/2/2;将其调度到区域 1(区域 2)会使区域 1(区域 2)上的 ActualSkew(3-1) 违反 MaxSkew(1)。- 如果 MaxSkew 为 2,则可以将传入的 Pod 调度到任何区域。当 whenUnsatisfiable=ScheduleAnyway 时,它用于赋予满足它的拓扑更高的优先级。这是一个必填字段。默认值为 1,不允许为 0。

minDomains

整数

MinDomains 表示符合条件的域的最小数量。当具有匹配拓扑键的符合条件的域的数量小于 minDomains 时,Pod 拓扑扩展会将“全局最小值”视为 0,然后执行 Skew 的计算。并且当具有匹配拓扑键的符合条件的域的数量等于或大于 minDomains 时,此值对调度没有影响。因此,当符合条件的域的数量小于 minDomains 时,调度程序不会将超过 maxSkew 的 Pod 调度到这些域。如果值为 nil,则约束的行为与 MinDomains 等于 1 时相同。有效值是大于 0 的整数。当值不为 nil 时,WhenUnsatisfiable 必须为 DoNotSchedule。

例如,在一个 3 区域集群中,MaxSkew 设置为 2,MinDomains 设置为 5,并且具有相同 labelSelector 的 Pod 分布为 2/2/2:| 区域 1 | 区域 2 | 区域 3 | | P P | P P | P P | 域的数量小于 5 (MinDomains),因此“全局最小值”被视为 0。在这种情况下,不能调度具有相同 labelSelector 的新 Pod,因为如果将新 Pod 调度到三个区域中的任何一个,计算出的偏差将为 3 (3 - 0),这将违反 MaxSkew。

nodeAffinityPolicy

字符串

NodeAffinityPolicy 指示在计算 Pod 拓扑扩展偏差时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项包括:- Honor:仅将与 nodeAffinity/nodeSelector 匹配的节点包括在计算中。- Ignore:忽略 nodeAffinity/nodeSelector。将所有节点都包括在计算中。

如果此值为 nil,则行为等效于 Honor 策略。这是一个 beta 级功能,默认情况下通过 NodeInclusionPolicyInPodTopologySpread 功能标志启用。

nodeTaintsPolicy

字符串

NodeTaintsPolicy 指示在计算 Pod 拓扑扩展偏差时,我们将如何处理节点污点。选项包括:- Honor:包括没有污点的节点,以及传入 Pod 具有容忍度的已污染节点。- Ignore:忽略节点污点。将包括所有节点。

如果此值为 nil,则行为等效于 Ignore 策略。这是一个 beta 级功能,默认情况下通过 NodeInclusionPolicyInPodTopologySpread 功能标志启用。

topologyKey

字符串

TopologyKey 是节点标签的键。具有此键和相同值的标签的节点被认为在同一拓扑中。我们将每个 <key, value> 视为一个“桶”,并尝试将平衡数量的 Pod 放入每个桶中。我们将域定义为拓扑的特定实例。此外,我们将符合条件的域定义为满足 nodeAffinityPolicy 和 nodeTaintsPolicy 要求的域。例如,如果 TopologyKey 是“kubernetes.io/hostname”,则每个节点都是该拓扑的一个域。并且,如果 TopologyKey 是“topology.kubernetes.io/zone”,则每个区域都是该拓扑的一个域。这是一个必填字段。

whenUnsatisfiable

字符串

WhenUnsatisfiable 指示在 Pod 不满足扩展约束时如何处理。- DoNotSchedule(默认)告诉调度程序不要调度它。- ScheduleAnyway 告诉调度程序将 Pod 调度在任何位置,但会优先考虑有助于减少偏差的拓扑。当且仅当该 Pod 的每个可能的节点分配都会在某些拓扑上违反“MaxSkew”时,才会认为传入 Pod 的约束“无法满足”。例如,在一个 3 区域集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 3/1/1:| 区域 1 | 区域 2 | 区域 3 | | P P P | P | P | 如果 WhenUnsatisfiable 设置为 DoNotSchedule,则传入的 Pod 只能调度到区域 2(区域 3)以变为 3/2/1(3/1/2),因为区域 2(区域 3)上的 ActualSkew(2-1) 满足 MaxSkew(1)。换句话说,集群仍然可能不平衡,但调度程序不会使其更加不平衡。这是一个必填字段。

.spec.install.spec.deployments[].spec.template.spec.topologySpreadConstraints[].labelSelector

描述

LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 会被计数,以确定其对应拓扑域中的 Pod 数量。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.topologySpreadConstraints[].labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.topologySpreadConstraints[].labelSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.volumes

描述

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

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[]

描述

Volume 表示 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。

类型

对象

必需
  • 名称

属性 类型 描述

awsElasticBlockStore

对象

awsElasticBlockStore 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

azureDisk

对象

azureDisk 表示主机上安装的 Azure 数据磁盘,并绑定安装到 Pod。

azureFile

对象

azureFile 表示主机上安装的 Azure 文件服务,并绑定安装到 Pod。

cephfs

对象

cephFS 表示主机上安装的 Ceph FS,它与 Pod 的生命周期共享

cinder

对象

cinder 表示附加到 kubelet 主机并安装的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

configMap

对象

configMap 表示一个应该填充此卷的 configMap

csi

对象

csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(Beta 功能)。

downwardAPI

对象

downwardAPI 表示关于 Pod 的向下 API,该 API 应该填充此卷

emptyDir

对象

emptyDir 表示一个与 Pod 的生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

ephemeral

对象

ephemeral 表示一个由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 相关联 - 它将在 Pod 启动之前创建,并在删除 Pod 时删除。

如果以下情况,请使用此项:a) 仅当 Pod 运行时需要该卷;b) 需要常规卷的功能,如从快照还原或容量跟踪;c) 通过存储类指定存储驱动程序;d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷配置(有关此卷类型与 PersistentVolumeClaim 之间的连接的更多信息,请参阅 EphemeralVolumeSource)。

对于生命周期长于单个 Pod 的卷,请使用 PersistentVolumeClaim 或特定于供应商的 API 之一。

如果打算以这种方式使用 CSI 驱动程序,请使用 CSI 进行轻量级本地临时卷 - 有关更多信息,请参阅驱动程序的文档。

Pod 可以同时使用两种类型的临时卷和持久卷。

fc

对象

fc 表示一个连接到 kubelet 主机并随后暴露给 Pod 的光纤通道资源。

flexVolume

对象

flexVolume 表示使用基于 exec 的插件进行配置/连接的通用卷资源。

flocker

对象

flocker 表示一个连接到 kubelet 主机的 Flocker 卷。这取决于正在运行的 Flocker 控制服务

gcePersistentDisk

对象

gcePersistentDisk 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

gitRepo

对象

gitRepo 表示特定修订版的 git 存储库。已弃用:GitRepo 已弃用。要使用 git 存储库配置容器,请将 EmptyDir 安装到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 安装到 Pod 的容器中。

glusterfs

对象

glusterfs 代表主机上的 Glusterfs 挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md

hostPath

对象

hostPath 代表主机上一个预先存在的文件或目录,它直接暴露给容器。这通常用于系统代理或其他有权访问主机的特权组件。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以将主机目录挂载为读/写。

iscsi

对象

iscsi 代表一个附加到 kubelet 主机并暴露给 Pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md

名称

字符串

卷的名称。必须是 DNS_LABEL 并且在 Pod 中唯一。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names

nfs

对象

nfs 代表主机上的 NFS 挂载点,其生命周期与 Pod 共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

persistentVolumeClaim

对象

persistentVolumeClaimVolumeSource 代表对同一命名空间中的 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

photonPersistentDisk

对象

photonPersistentDisk 代表一个附加并挂载到 kubelets 主机上的 PhotonController 持久磁盘

portworxVolume

对象

portworxVolume 代表一个附加并挂载到 kubelets 主机上的 portworx 卷

projected

对象

用于将所有资源(secrets,configmaps 和 downward API)合并的 projected 项目

quobyte

对象

quobyte 代表主机上的 Quobyte 挂载点,其生命周期与 Pod 共享

rbd

对象

rbd 代表主机上的 Rados 块设备挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md

scaleIO

对象

scaleIO 代表一个附加并挂载到 Kubernetes 节点上的 ScaleIO 持久卷。

secret

对象

secret 代表一个应填充此卷的 Secret。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret

storageos

对象

storageOS 代表一个附加并挂载到 Kubernetes 节点上的 StorageOS 卷。

vsphereVolume

对象

vsphereVolume 代表一个附加并挂载到 kubelets 主机上的 vSphere 卷

.spec.install.spec.deployments[].spec.template.spec.volumes[].awsElasticBlockStore

描述

awsElasticBlockStore 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

类型

对象

必需
  • volumeID

属性 类型 描述

fsType

字符串

fsType 是你要挂载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore TODO:我们如何防止文件系统中的错误损害机器

partition

整数

partition 是你要挂载的卷中的分区。如果省略,默认是按卷名称挂载。示例:对于卷 /dev/sda1,你将分区指定为“1”。类似地,/dev/sda 的卷分区为“0”(或者你可以将属性留空)。

readOnly

布尔值

readOnly 值 true 将强制 VolumeMounts 中的 readOnly 设置。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

volumeID

字符串

volumeID 是 AWS(Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

.spec.install.spec.deployments[].spec.template.spec.volumes[].azureDisk

描述

azureDisk 表示主机上安装的 Azure 数据磁盘,并绑定安装到 Pod。

类型

对象

必需
  • diskName

  • diskURI

属性 类型 描述

cachingMode

字符串

cachingMode 是主机缓存模式:None,Read Only,Read Write。

diskName

字符串

diskName 是 Blob 存储中数据磁盘的名称

diskURI

字符串

diskURI 是 Blob 存储中数据磁盘的 URI

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如。“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

kind

字符串

kind 期望的值为 Shared:每个存储帐户多个 Blob 磁盘 Dedicated:每个存储帐户单个 Blob 磁盘 Managed:Azure 托管数据磁盘(仅在托管可用性集中)。默认为 shared

readOnly

布尔值

readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。

.spec.install.spec.deployments[].spec.template.spec.volumes[].azureFile

描述

azureFile 表示主机上安装的 Azure 文件服务,并绑定安装到 Pod。

类型

对象

必需
  • secretName

  • shareName

属性 类型 描述

readOnly

布尔值

readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。

secretName

字符串

secretName 是包含 Azure 存储帐户名称和密钥的 Secret 的名称

shareName

字符串

shareName 是 Azure 共享名称

.spec.install.spec.deployments[].spec.template.spec.volumes[].cephfs

描述

cephFS 表示主机上安装的 Ceph FS,它与 Pod 的生命周期共享

类型

对象

必需
  • monitors

属性 类型 描述

monitors

数组(字符串)

monitors 是必需的:Monitors 是 Ceph 监视器的集合。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

路径

字符串

path 是可选的:用作挂载的根目录,而不是完整的 Ceph 树,默认为 /

readOnly

布尔值

readOnly 是可选的:默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretFile

字符串

secretFile 是可选的:SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretRef

对象

secretRef 是可选的:SecretRef 是对用户身份验证 Secret 的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

user

字符串

user 是可选的:User 是 rados 用户名,默认为 admin。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

.spec.install.spec.deployments[].spec.template.spec.volumes[].cephfs.secretRef

描述

secretRef 是可选的:SecretRef 是对用户身份验证 Secret 的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].cinder

描述

cinder 表示附加到 kubelet 主机并安装的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

类型

对象

必需
  • volumeID

属性 类型 描述

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

readOnly

布尔值

readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

secretRef

对象

secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 Secret 对象。

volumeID

字符串

volumeID 用于标识 Cinder 中的卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

.spec.install.spec.deployments[].spec.template.spec.volumes[].cinder.secretRef

描述

secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 Secret 对象。

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].configMap

描述

configMap 表示一个应该填充此卷的 configMap

类型

对象

属性 类型 描述

defaultMode

整数

defaultMode 是可选的:默认情况下,用于设置创建文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

items

数组

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。

items[]

对象

将字符串键映射到卷中的路径。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

optional 指定是否必须定义 ConfigMap 或其键

.spec.install.spec.deployments[].spec.template.spec.volumes[].configMap.items

描述

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].configMap.items[]

描述

将字符串键映射到卷中的路径。

类型

对象

必需
  • 路径

属性 类型 描述

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

路径

字符串

path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。

.spec.install.spec.deployments[].spec.template.spec.volumes[].csi

描述

csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(Beta 功能)。

类型

对象

必需
  • driver

属性 类型 描述

driver

字符串

driver 是处理此卷的 CSI 驱动程序的名称。请咨询你的管理员以获取在集群中注册的正确名称。

fsType

字符串

fsType 要挂载的文件系统类型。例如。“ext4”、“xfs”、“ntfs”。如果未提供,则将空值传递给关联的 CSI 驱动程序,该驱动程序将确定要应用的默认文件系统。

nodePublishSecretRef

对象

nodePublishSecretRef 是对包含敏感信息的 Secret 对象的引用,该信息将传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 Secret,则可以为空。如果 Secret 对象包含多个 Secret,则会传递所有 Secret 引用。

readOnly

布尔值

readOnly 指定卷的只读配置。默认为 false(读/写)。

volumeAttributes

对象(字符串)

volumeAttributes 存储传递给 CSI 驱动程序的特定于驱动程序的属性。请查阅你的驱动程序的文档以获取支持的值。

.spec.install.spec.deployments[].spec.template.spec.volumes[].csi.nodePublishSecretRef

描述

nodePublishSecretRef 是对包含敏感信息的 Secret 对象的引用,该信息将传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 Secret,则可以为空。如果 Secret 对象包含多个 Secret,则会传递所有 Secret 引用。

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].downwardAPI

描述

downwardAPI 表示关于 Pod 的向下 API,该 API 应该填充此卷

类型

对象

属性 类型 描述

defaultMode

整数

可选:默认情况下,要在创建的文件上使用的模式位。必须是可选的:默认情况下,要在创建的文件上使用的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

items

数组

Items 是向下 API 卷文件的列表

items[]

对象

DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息

.spec.install.spec.deployments[].spec.template.spec.volumes[].downwardAPI.items

描述

Items 是向下 API 卷文件的列表

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].downwardAPI.items[]

描述

DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息

类型

对象

必需
  • 路径

属性 类型 描述

fieldRef

对象

必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。

mode

整数

可选:用于设置此文件权限的模式位,必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

路径

字符串

必需:Path 是要创建的文件的相对路径名称。不得是绝对路径或包含 '..' 路径。必须是 utf-8 编码。相对路径的第一项不得以 '..' 开头

resourceFieldRef

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

.spec.install.spec.deployments[].spec.template.spec.volumes[].downwardAPI.items[].fieldRef

描述

必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。

类型

对象

必需
  • fieldPath

属性 类型 描述

apiVersion

字符串

FieldPath 编写的模式版本,默认为 “v1”。

fieldPath

字符串

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

.spec.install.spec.deployments[].spec.template.spec.volumes[].downwardAPI.items[].resourceFieldRef

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

类型

对象

必需
  • resource

属性 类型 描述

containerName

字符串

容器名称:卷是必需的,环境变量是可选的

divisor

整数或字符串

指定暴露资源的输出格式,默认为 “1”

resource

字符串

必需:要选择的资源

.spec.install.spec.deployments[].spec.template.spec.volumes[].emptyDir

描述

emptyDir 表示一个与 Pod 的生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

类型

对象

属性 类型 描述

medium

字符串

medium 表示该目录应使用何种类型的存储介质。默认值为 "",表示使用节点的默认介质。必须为空字符串(默认)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

sizeLimit

整数或字符串

sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 值与 Pod 中所有容器的内存限制总和之间的最小值。默认值为 nil,表示未定义限制。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral

描述

ephemeral 表示一个由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 相关联 - 它将在 Pod 启动之前创建,并在删除 Pod 时删除。

如果以下情况,请使用此项:a) 仅当 Pod 运行时需要该卷;b) 需要常规卷的功能,如从快照还原或容量跟踪;c) 通过存储类指定存储驱动程序;d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷配置(有关此卷类型与 PersistentVolumeClaim 之间的连接的更多信息,请参阅 EphemeralVolumeSource)。

对于生命周期长于单个 Pod 的卷,请使用 PersistentVolumeClaim 或特定于供应商的 API 之一。

如果打算以这种方式使用 CSI 驱动程序,请使用 CSI 进行轻量级本地临时卷 - 有关更多信息,请参阅驱动程序的文档。

Pod 可以同时使用两种类型的临时卷和持久卷。

类型

对象

属性 类型 描述

volumeClaimTemplate

对象

将用于创建独立的 PVC 以配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是 <pod name>-<volume name>,其中 <volume name> 是来自 PodSpec.Volumes 数组条目的名称。如果连接的名称对于 PVC 无效(例如,太长),Pod 验证将拒绝该 Pod。

Pod 将不会使用名称相同且不属于该 Pod 的现有 PVC,以避免错误地使用无关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果希望 Pod 使用这样预先创建的 PVC,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新该 PVC。通常这没有必要,但在手动重建损坏的集群时可能很有用。

此字段为只读,Kubernetes 在创建 PVC 后不会对其进行任何更改。

必需,不得为 nil。

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate

描述

将用于创建独立的 PVC 以配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是 <pod name>-<volume name>,其中 <volume name> 是来自 PodSpec.Volumes 数组条目的名称。如果连接的名称对于 PVC 无效(例如,太长),Pod 验证将拒绝该 Pod。

Pod 将不会使用名称相同且不属于该 Pod 的现有 PVC,以避免错误地使用无关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果希望 Pod 使用这样预先创建的 PVC,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新该 PVC。通常这没有必要,但在手动重建损坏的集群时可能很有用。

此字段为只读,Kubernetes 在创建 PVC 后不会对其进行任何更改。

必需,不得为 nil。

类型

对象

必需
  • spec

属性 类型 描述

metadata

对象

可能包含在创建 PVC 时复制到 PVC 中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。

spec

对象

PersistentVolumeClaim 的规范。整个内容将原封不动地复制到从此模板创建的 PVC 中。与 PersistentVolumeClaim 中相同的字段在此处也有效。

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.metadata

描述

可能包含在创建 PVC 时复制到 PVC 中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。

类型

对象

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec

描述

PersistentVolumeClaim 的规范。整个内容将原封不动地复制到从此模板创建的 PVC 中。与 PersistentVolumeClaim 中相同的字段在此处也有效。

类型

对象

属性 类型 描述

accessModes

数组(字符串)

accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

对象

dataSource 字段可用于指定以下任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 的内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 的内容将复制到 dataSource。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

dataSourceRef

对象

dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象,也可以是 PersistentVolumeClaim 对象。当指定此字段时,仅当指定对象的类型与某些已安装的卷填充器或动态 provisioner 匹配时,卷绑定才会成功。此字段将取代 dataSource 字段的功能,因此如果两个字段均非空,则它们必须具有相同的值。为了向后兼容,当未在 dataSourceRef 中指定命名空间时,如果其中一个为空而另一个非空,则两个字段(dataSource 和 dataSourceRef)将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* 虽然 dataSource 仅允许两种特定类型的对象,但 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略不允许的值(删除它们),但 dataSourceRef 保留所有值,并且如果指定了不允许的值,则会生成错误。* 虽然 dataSource 仅允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(Beta) 使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha) 使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 功能门。

资源

对象

resources 表示卷应具有的最小资源。如果启用 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

选择器

对象

selector 是对要考虑绑定的卷的标签查询。

storageClassName

字符串

storageClassName 是声明所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassName

字符串

volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用相应的 VolumeAttributesClass 中定义的属性创建或更新卷。这与 storageClassName 的用途不同,它可以在声明创建后更改。空字符串值表示不会将 VolumeAttributesClass 应用于声明,但不允许在设置此字段后将其重置为空字符串。如果未指定且 PersistentVolumeClaim 未绑定,则如果存在默认的 VolumeAttributesClass,则持久卷控制器将设置它。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态(如 modifyVolumeStatus 字段所反映的),直到此类资源存在为止。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha) 使用此字段需要启用 VolumeAttributesClass 功能门。

volumeMode

字符串

volumeMode 定义了声明所需的卷类型。当声明规范中未包含 Filesystem 值时,则表示 Filesystem。

volumeName

字符串

volumeName 是对此声明提供支持的 PersistentVolume 的绑定引用。

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource

描述

dataSource 字段可用于指定以下任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 的内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 的内容将复制到 dataSource。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。

类型

对象

必需
  • kind

  • 名称

属性 类型 描述

apiGroup

字符串

APIGroup 是引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,则需要 APIGroup。

kind

字符串

Kind 是引用的资源的类型

名称

字符串

Name 是引用的资源的名称

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef

描述

dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象,也可以是 PersistentVolumeClaim 对象。当指定此字段时,仅当指定对象的类型与某些已安装的卷填充器或动态 provisioner 匹配时,卷绑定才会成功。此字段将取代 dataSource 字段的功能,因此如果两个字段均非空,则它们必须具有相同的值。为了向后兼容,当未在 dataSourceRef 中指定命名空间时,如果其中一个为空而另一个非空,则两个字段(dataSource 和 dataSourceRef)将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* 虽然 dataSource 仅允许两种特定类型的对象,但 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略不允许的值(删除它们),但 dataSourceRef 保留所有值,并且如果指定了不允许的值,则会生成错误。* 虽然 dataSource 仅允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(Beta) 使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha) 使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 功能门。

类型

对象

必需
  • kind

  • 名称

属性 类型 描述

apiGroup

字符串

APIGroup 是引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,则需要 APIGroup。

kind

字符串

Kind 是引用的资源的类型

名称

字符串

Name 是引用的资源的名称

namespace

字符串

Namespace 是引用的资源的命名空间。请注意,当指定命名空间时,引用的命名空间中需要 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha) 此字段需要启用 CrossNamespaceVolumeDataSource 功能门。

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources

描述

resources 表示卷应具有的最小资源。如果启用 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources

类型

对象

属性 类型 描述

limits

整数或字符串

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

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector

描述

selector 是对要考虑绑定的卷的标签查询。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.volumes[].fc

描述

fc 表示一个连接到 kubelet 主机并随后暴露给 Pod 的光纤通道资源。

类型

对象

属性 类型 描述

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。TODO:我们如何防止文件系统中的错误危及机器

lun

整数

lun 是可选的:FC 目标 lun 编号

readOnly

布尔值

readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

targetWWNs

数组(字符串)

targetWWNs 是可选的:FC 目标全球名称 (WWN)

wwids

数组(字符串)

wwids 是可选的:FC 卷全球标识符 (wwid)。必须设置 wwids 或 targetWWNs 和 lun 的组合,但不能同时设置两者。

.spec.install.spec.deployments[].spec.template.spec.volumes[].flexVolume

描述

flexVolume 表示使用基于 exec 的插件进行配置/连接的通用卷资源。

类型

对象

必需
  • driver

属性 类型 描述

driver

字符串

driver 是用于此卷的驱动程序的名称。

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认文件系统取决于 FlexVolume 脚本。

options

对象(字符串)

options 是可选的:此字段保存任何额外的命令选项。

readOnly

布尔值

readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

secretRef

对象

secretRef 是可选的:secretRef 是对包含要传递给插件脚本的敏感信息的 secret 对象的引用。如果未指定 secret 对象,则此项可以为空。如果 secret 对象包含多个 secret,则所有 secret 都会传递给插件脚本。

.spec.install.spec.deployments[].spec.template.spec.volumes[].flexVolume.secretRef

描述

secretRef 是可选的:secretRef 是对包含要传递给插件脚本的敏感信息的 secret 对象的引用。如果未指定 secret 对象,则此项可以为空。如果 secret 对象包含多个 secret,则所有 secret 都会传递给插件脚本。

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].flocker

描述

flocker 表示一个连接到 kubelet 主机的 Flocker 卷。这取决于正在运行的 Flocker 控制服务

类型

对象

属性 类型 描述

datasetName

字符串

datasetName 是存储为元数据的名称的数据集名称 → Flocker 的数据集名称应被视为已弃用

datasetUUID

字符串

datasetUUID 是数据集的 UUID。这是 Flocker 数据集的唯一标识符

.spec.install.spec.deployments[].spec.template.spec.volumes[].gcePersistentDisk

描述

gcePersistentDisk 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

类型

对象

必需
  • pdName

属性 类型 描述

fsType

字符串

fsType 是您要挂载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk TODO:我们如何防止文件系统中的错误损害机器

partition

整数

partition 是您要挂载的卷中的分区。如果省略,则默认按卷名称挂载。示例:对于卷 /dev/sda1,您将分区指定为“1”。类似地,/dev/sda 的卷分区是“0”(或者您可以将该属性留空)。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

pdName

字符串

pdName 是 GCE 中 PD 资源的唯一名称。用于在 GCE 中标识磁盘。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

readOnly

布尔值

readOnly 此处将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

.spec.install.spec.deployments[].spec.template.spec.volumes[].gitRepo

描述

gitRepo 表示特定修订版的 git 存储库。已弃用:GitRepo 已弃用。要使用 git 存储库配置容器,请将 EmptyDir 安装到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 安装到 Pod 的容器中。

类型

对象

必需
  • repository

属性 类型 描述

directory

字符串

directory 是目标目录名称。不能包含或以 '..' 开头。如果提供 '.',则卷目录将是 git 存储库。否则,如果指定,则卷将在给定名称的子目录中包含 git 存储库。

repository

字符串

repository 是 URL

revision

字符串

revision 是指定修订的提交哈希值。

.spec.install.spec.deployments[].spec.template.spec.volumes[].glusterfs

描述

glusterfs 代表主机上的 Glusterfs 挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md

类型

对象

必需
  • endpoints

  • 路径

属性 类型 描述

endpoints

字符串

endpoints 是详细描述 Glusterfs 拓扑的端点名称。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

路径

字符串

path 是 Glusterfs 卷路径。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

readOnly

布尔值

readOnly 此处将强制以只读权限挂载 Glusterfs 卷。默认为 false。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

.spec.install.spec.deployments[].spec.template.spec.volumes[].hostPath

描述

hostPath 代表主机上一个预先存在的文件或目录,它直接暴露给容器。这通常用于系统代理或其他有权访问主机的特权组件。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以将主机目录挂载为读/写。

类型

对象

必需
  • 路径

属性 类型 描述

路径

字符串

path 是主机上目录的路径。如果该路径是符号链接,它将遵循链接到实际路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

类型

字符串

type 用于 HostPath 卷。默认为 ""。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

.spec.install.spec.deployments[].spec.template.spec.volumes[].iscsi

描述

iscsi 代表一个附加到 kubelet 主机并暴露给 Pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md

类型

对象

必需
  • iqn

  • lun

  • targetPortal

属性 类型 描述

chapAuthDiscovery

布尔值

chapAuthDiscovery 定义是否支持 iSCSI 发现 CHAP 身份验证

chapAuthSession

布尔值

chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证

fsType

字符串

fsType 是您要挂载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#iscsi TODO:我们如何防止文件系统中的错误损害机器

initiatorName

字符串

initiatorName 是自定义 iSCSI 发起程序名称。如果 initiatorName 与 iscsiInterface 同时指定,则将为连接创建新的 iSCSI 接口 <目标门户>:<卷名称>。

iqn

字符串

iqn 是目标 iSCSI 限定名称。

iscsiInterface

字符串

iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default' (tcp)。

lun

整数

lun 表示 iSCSI 目标 LUN 号。

portals

数组(字符串)

portals 是 iSCSI 目标门户列表。如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。

readOnly

布尔值

readOnly 此处将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。

secretRef

对象

secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP 密钥

targetPortal

字符串

targetPortal 是 iSCSI 目标门户。如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。

.spec.install.spec.deployments[].spec.template.spec.volumes[].iscsi.secretRef

描述

secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP 密钥

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].nfs

描述

nfs 代表主机上的 NFS 挂载点,其生命周期与 Pod 共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

类型

对象

必需
  • 路径

  • server

属性 类型 描述

路径

字符串

path 是由 NFS 服务器导出的路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

readOnly

布尔值

readOnly 此处将强制以只读权限挂载 NFS 导出。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

server

字符串

server 是 NFS 服务器的主机名或 IP 地址。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

.spec.install.spec.deployments[].spec.template.spec.volumes[].persistentVolumeClaim

描述

persistentVolumeClaimVolumeSource 代表对同一命名空间中的 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

类型

对象

必需
  • claimName

属性 类型 描述

claimName

字符串

claimName 是与使用此卷的 Pod 位于同一命名空间中的 PersistentVolumeClaim 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

布尔值

readOnly 将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。

.spec.install.spec.deployments[].spec.template.spec.volumes[].photonPersistentDisk

描述

photonPersistentDisk 代表一个附加并挂载到 kubelets 主机上的 PhotonController 持久磁盘

类型

对象

必需
  • pdID

属性 类型 描述

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

pdID

字符串

pdID 是标识 Photon Controller 持久磁盘的 ID

.spec.install.spec.deployments[].spec.template.spec.volumes[].portworxVolume

描述

portworxVolume 代表一个附加并挂载到 kubelets 主机上的 portworx 卷

类型

对象

必需
  • volumeID

属性 类型 描述

fsType

字符串

fSType 表示要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”。如果未指定,则隐式推断为“ext4”。

readOnly

布尔值

readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。

volumeID

字符串

volumeID 唯一标识 Portworx 卷

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected

描述

用于将所有资源(secrets,configmaps 和 downward API)合并的 projected 项目

类型

对象

属性 类型 描述

defaultMode

整数

defaultMode 是用于默认设置所创建文件权限的模式位。必须是 0000 到 0777 之间的八进制值,或者是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 要求模式位使用十进制值。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能是设置了其他模式位。

sources

数组

sources 是卷投影列表

sources[]

对象

可以与其他支持的卷类型一起投影的投影

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources

描述

sources 是卷投影列表

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[]

描述

可以与其他支持的卷类型一起投影的投影

类型

对象

属性 类型 描述

clusterTrustBundle

对象

ClusterTrustBundle 允许 Pod 访问自动更新的文件中 ClusterTrustBundle 对象的 .spec.trustBundle 字段。

Alpha,由 ClusterTrustBundleProjection 功能门控制。

ClusterTrustBundle 对象可以通过名称选择,也可以通过签名者名称和标签选择器的组合选择。

Kubelet 对写入 Pod 文件系统中的 PEM 内容执行积极的规范化。将删除诸如块间注释和块头之类的深奥 PEM 功能。证书将被去重。文件中证书的顺序是任意的,并且 Kubelet 可能会随着时间的推移更改顺序。

configMap

对象

configMap 关于要投影的 configMap 数据的信息

downwardAPI

对象

downwardAPI 关于要投影的 downwardAPI 数据的信息

secret

对象

secret 关于要投影的 secret 数据的信息

serviceAccountToken

对象

serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].clusterTrustBundle

描述

ClusterTrustBundle 允许 Pod 访问自动更新的文件中 ClusterTrustBundle 对象的 .spec.trustBundle 字段。

Alpha,由 ClusterTrustBundleProjection 功能门控制。

ClusterTrustBundle 对象可以通过名称选择,也可以通过签名者名称和标签选择器的组合选择。

Kubelet 对写入 Pod 文件系统中的 PEM 内容执行积极的规范化。将删除诸如块间注释和块头之类的深奥 PEM 功能。证书将被去重。文件中证书的顺序是任意的,并且 Kubelet 可能会随着时间的推移更改顺序。

类型

对象

必需
  • 路径

属性 类型 描述

labelSelector

对象

选择与此标签选择器匹配的所有 ClusterTrustBundle。仅当设置了 signerName 时才生效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置但为空,则解释为“匹配所有内容”。

名称

字符串

按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 互斥。

optional

布尔值

如果为 true,则如果引用的 ClusterTrustBundle 不可用,则不要阻止 Pod 启动。如果使用 name,则允许不存在命名的 ClusterTrustBundle。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零个 ClusterTrustBundle。

路径

字符串

从卷根写入捆绑包的相对路径。

signerName

字符串

选择与此签名者名称匹配的所有 ClusterTrustBundle。与 name 互斥。所有选定的 ClusterTrustBundle 的内容将被统一和去重。

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].clusterTrustBundle.labelSelector

描述

选择与此标签选择器匹配的所有 ClusterTrustBundle。仅当设置了 signerName 时才生效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置但为空,则解释为“匹配所有内容”。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].configMap

描述

configMap 关于要投影的 configMap 数据的信息

类型

对象

属性 类型 描述

items

数组

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。

items[]

对象

将字符串键映射到卷中的路径。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

optional 指定是否必须定义 ConfigMap 或其键

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].configMap.items

描述

items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].configMap.items[]

描述

将字符串键映射到卷中的路径。

类型

对象

必需
  • 路径

属性 类型 描述

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

路径

字符串

path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].downwardAPI

描述

downwardAPI 关于要投影的 downwardAPI 数据的信息

类型

对象

属性 类型 描述

items

数组

Items 是 DownwardAPIVolume 文件的列表

items[]

对象

DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].downwardAPI.items

描述

Items 是 DownwardAPIVolume 文件的列表

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].downwardAPI.items[]

描述

DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息

类型

对象

必需
  • 路径

属性 类型 描述

fieldRef

对象

必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。

mode

整数

可选:用于设置此文件权限的模式位,必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

路径

字符串

必需:Path 是要创建的文件的相对路径名称。不得是绝对路径或包含 '..' 路径。必须是 utf-8 编码。相对路径的第一项不得以 '..' 开头

resourceFieldRef

对象

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef

描述

必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。

类型

对象

必需
  • fieldPath

属性 类型 描述

apiVersion

字符串

FieldPath 编写的模式版本,默认为 “v1”。

fieldPath

字符串

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

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef

描述

选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。

类型

对象

必需
  • resource

属性 类型 描述

containerName

字符串

容器名称:卷是必需的,环境变量是可选的

divisor

整数或字符串

指定暴露资源的输出格式,默认为 “1”

resource

字符串

必需:要选择的资源

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].secret

描述

secret 关于要投影的 secret 数据的信息

类型

对象

属性 类型 描述

items

数组

如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

items[]

对象

将字符串键映射到卷中的路径。

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

optional

布尔值

optional 字段指定是否必须定义 Secret 或其键

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].secret.items

描述

如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].secret.items[]

描述

将字符串键映射到卷中的路径。

类型

对象

必需
  • 路径

属性 类型 描述

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

路径

字符串

path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。

.spec.install.spec.deployments[].spec.template.spec.volumes[].projected.sources[].serviceAccountToken

描述

serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息

类型

对象

必需
  • 路径

属性 类型 描述

audience

字符串

audience 是令牌的预期受众。令牌的接收者必须使用令牌的受众中指定的标识符标识自己,否则应拒绝该令牌。受众默认为 apiserver 的标识符。

expirationSeconds

整数

expirationSeconds 是服务帐户令牌的请求有效时长。当令牌接近过期时,kubelet 卷插件将主动轮换服务帐户令牌。如果令牌的使用时间超过其生存时间的 80% 或令牌的使用时间超过 24 小时,kubelet 将开始尝试轮换令牌。默认为 1 小时,且必须至少为 10 分钟。

路径

字符串

path 是相对于文件挂载点将令牌投影到的路径。

.spec.install.spec.deployments[].spec.template.spec.volumes[].quobyte

描述

quobyte 代表主机上的 Quobyte 挂载点,其生命周期与 Pod 共享

类型

对象

必需
  • registry

  • volume

属性 类型 描述

字符串

将卷访问映射到的组。默认为无组

readOnly

布尔值

这里的 readOnly 将强制 Quobyte 卷以只读权限挂载。默认为 false。

registry

字符串

registry 表示作为 host:port 对的字符串指定的单个或多个 Quobyte Registry 服务(多个条目用逗号分隔),它充当卷的中央注册表

tenant

字符串

在后端拥有给定 Quobyte 卷的租户。与动态配置的 Quobyte 卷一起使用,值由插件设置

user

字符串

将卷访问映射到的用户。默认为服务帐户用户

volume

字符串

volume 是一个字符串,通过名称引用已创建的 Quobyte 卷。

.spec.install.spec.deployments[].spec.template.spec.volumes[].rbd

描述

rbd 代表主机上的 Rados 块设备挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md

类型

对象

必需
  • image

  • monitors

属性 类型 描述

fsType

字符串

fsType 是你要挂载的卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#rbd TODO:我们如何防止文件系统中的错误损害机器

image

字符串

image 是 rados 映像名称。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

keyring

字符串

keyring 是 RBDUser 的密钥环路径。默认值为 /etc/ceph/keyring。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

monitors

数组(字符串)

monitors 是 Ceph 监视器的集合。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

pool

字符串

pool 是 rados 池名称。默认值为 rbd。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

readOnly

布尔值

这里的 readOnly 将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

secretRef

对象

secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则会覆盖密钥环。默认值为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

user

字符串

user 是 rados 用户名。默认值为 admin。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

.spec.install.spec.deployments[].spec.template.spec.volumes[].rbd.secretRef

描述

secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则会覆盖密钥环。默认值为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].scaleIO

描述

scaleIO 代表一个附加并挂载到 Kubernetes 节点上的 ScaleIO 持久卷。

类型

对象

必需
  • gateway

  • secretRef

  • system

属性 类型 描述

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认值为“xfs”。

gateway

字符串

gateway 是 ScaleIO API 网关的主机地址。

protectionDomain

字符串

protectionDomain 是配置的存储的 ScaleIO 保护域的名称。

readOnly

布尔值

readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。

secretRef

对象

secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果未提供此项,则登录操作将失败。

sslEnabled

布尔值

sslEnabled 标志启用/禁用与网关的 SSL 通信,默认为 false

storageMode

字符串

storageMode 指示卷的存储应该是 ThickProvisioned 还是 ThinProvisioned。默认值为 ThinProvisioned。

storagePool

字符串

storagePool 是与保护域关联的 ScaleIO 存储池。

system

字符串

system 是在 ScaleIO 中配置的存储系统的名称。

volumeName

字符串

volumeName 是在 ScaleIO 系统中已创建的、与此卷源关联的卷的名称。

.spec.install.spec.deployments[].spec.template.spec.volumes[].scaleIO.secretRef

描述

secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果未提供此项,则登录操作将失败。

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].secret

描述

secret 代表一个应填充此卷的 Secret。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret

类型

对象

属性 类型 描述

defaultMode

整数

defaultMode 是可选的:用于设置默认情况下创建的文件的权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要十进制值作为模式位。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,并且结果可能是设置了其他模式位。

items

数组

如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

items[]

对象

将字符串键映射到卷中的路径。

optional

布尔值

optional 字段指定是否必须定义 Secret 或其键

secretName

字符串

secretName 是要使用的 pod 命名空间中的 Secret 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret

.spec.install.spec.deployments[].spec.template.spec.volumes[].secret.items

描述

如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。

类型

数组

.spec.install.spec.deployments[].spec.template.spec.volumes[].secret.items[]

描述

将字符串键映射到卷中的路径。

类型

对象

必需
  • 路径

属性 类型 描述

字符串

key 是要投影的键。

mode

整数

mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。

路径

字符串

path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。

.spec.install.spec.deployments[].spec.template.spec.volumes[].storageos

描述

storageOS 代表一个附加并挂载到 Kubernetes 节点上的 StorageOS 卷。

类型

对象

属性 类型 描述

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

readOnly

布尔值

readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。

secretRef

对象

secretRef 指定用于获取 StorageOS API 凭据的密钥。如果未指定,将尝试默认值。

volumeName

字符串

volumeName 是 StorageOS 卷的人可读名称。卷名称在命名空间内是唯一的。

volumeNamespace

字符串

volumeNamespace 指定 StorageOS 中卷的范围。如果未指定命名空间,则将使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称作用域以实现更紧密的集成。将 VolumeName 设置为任何名称以覆盖默认行为。如果不在 StorageOS 中使用命名空间,则设置为“default”。在 StorageOS 中不存在的命名空间将被创建。

.spec.install.spec.deployments[].spec.template.spec.volumes[].storageos.secretRef

描述

secretRef 指定用于获取 StorageOS API 凭据的密钥。如果未指定,将尝试默认值。

类型

对象

属性 类型 描述

名称

字符串

引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 kubebuilder:default https://github.com/kubernetes-sigs/kubebuilder/issues/3896

.spec.install.spec.deployments[].spec.template.spec.volumes[].vsphereVolume

描述

vsphereVolume 代表一个附加并挂载到 kubelets 主机上的 vSphere 卷

类型

对象

必需
  • volumePath

属性 类型 描述

fsType

字符串

fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。

storagePolicyID

字符串

storagePolicyID 是与 StoragePolicyName 关联的基于存储策略的管理 (SPBM) 配置文件 ID。

storagePolicyName

字符串

storagePolicyName 是基于存储策略的管理 (SPBM) 配置文件名称。

volumePath

字符串

volumePath 是标识 vSphere 卷 vmdk 的路径

.spec.install.spec.permissions

描述
类型

数组

.spec.install.spec.permissions[]

描述

StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户

类型

对象

必需
  • 规则

  • serviceAccountName

属性 类型 描述

规则

数组

规则[]

对象

PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。

serviceAccountName

字符串

.spec.install.spec.permissions[].rules

描述
类型

数组

.spec.install.spec.permissions[].rules[]

描述

PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。

类型

对象

必需
  • 动词

属性 类型 描述

apiGroups

数组(字符串)

APIGroups 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中枚举的资源之一请求的任何操作。“”表示核心 API 组,“*”表示所有 API 组。

nonResourceURLs

数组(字符串)

NonResourceURLs 是用户应该有权访问的一组部分 URL。允许使用 *,但只能作为路径中的完整最后一步。由于非资源 URL 没有命名空间,因此此字段仅适用于从 ClusterRoleBinding 引用的 ClusterRole。规则可以应用于 API 资源(例如“pod”或“secret”)或非资源 URL 路径(例如“/api”),但不能同时应用两者。

资源名称

数组(字符串)

ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。

资源

数组(字符串)

Resources 是此规则适用的资源列表。“*”表示所有资源。

动词

数组(字符串)

Verbs 是适用于此规则中包含的所有 ResourceKinds 的 Verbs 列表。“*”表示所有动词。

.spec.installModes

描述

InstallModes 指定支持的安装类型

类型

数组

.spec.installModes[]

描述

InstallMode 将 InstallModeType 与一个标志关联,该标志表示 CSV 是否支持该类型

类型

对象

必需
  • supported

  • 类型

属性 类型 描述

supported

布尔值

类型

字符串

InstallModeType 是 CSV 安装支持的安装模式类型

描述

与运算符相关的链接列表。

类型

数组

描述
类型

对象

属性 类型 描述

名称

字符串

url

字符串

.spec.maintainers

描述

维护运算符的组织实体列表。

类型

数组

.spec.maintainers[]

描述
类型

对象

属性 类型 描述

email

字符串

名称

字符串

.spec.nativeAPIs

描述
类型

数组

.spec.nativeAPIs[]

描述

GroupVersionKind 明确标识一种类型。它不会匿名包含 GroupVersion 以避免自动强制转换。它不使用 GroupVersion 以避免自定义编组

类型

对象

必需
  • kind

  • 版本

属性 类型 描述

字符串

kind

字符串

版本

字符串

.spec.provider

描述

运算符背后的发布实体。

类型

对象

属性 类型 描述

名称

字符串

url

字符串

.spec.relatedImages

描述

列出您的运算符可能需要执行其功能的任何相关映像或其他容器映像。此列表还应包括操作数映像。所有映像引用都应通过摘要 (SHA) 而不是标签指定。此字段仅在目录创建期间使用,在集群运行时不起作用。

类型

数组

.spec.relatedImages[]

描述
类型

对象

必需
  • image

  • 名称

属性 类型 描述

image

字符串

名称

字符串

.spec.selector

描述

相关资源的标签选择器。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.selector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.selector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.webhookdefinitions

描述
类型

数组

.spec.webhookdefinitions[]

描述

WebhookDescription 向 OLM 提供有关所需 Webhook 的详细信息

类型

对象

必需
  • admissionReviewVersions

  • generateName

  • sideEffects

  • 类型

属性 类型 描述

admissionReviewVersions

数组(字符串)

containerPort

整数

conversionCRDs

数组(字符串)

deploymentName

字符串

failurePolicy

字符串

FailurePolicyType 指定一个失败策略,该策略定义如何处理来自准入端点的未识别错误。

generateName

字符串

matchPolicy

字符串

MatchPolicyType 指定匹配策略的类型。

objectSelector

对象

标签选择器是对一组资源的标签查询。matchLabels 和 matchExpressions 的结果是 AND 的。一个空的标签选择器匹配所有对象。一个空的标签选择器不匹配任何对象。

reinvocationPolicy

字符串

ReinvocationPolicyType 指定准入钩子使用的策略类型。

规则

数组

规则[]

对象

RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。

sideEffects

字符串

SideEffectClass 指定 webhook 可能具有的副作用类型。

targetPort

整数或字符串

timeoutSeconds

整数

类型

字符串

WebhookAdmissionType 是 OLM 支持的准入 webhook 的类型

webhookPath

字符串

.spec.webhookdefinitions[].objectSelector

描述

标签选择器是对一组资源的标签查询。matchLabels 和 matchExpressions 的结果是 AND 的。一个空的标签选择器匹配所有对象。一个空的标签选择器不匹配任何对象。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。

.spec.webhookdefinitions[].objectSelector.matchExpressions

描述

matchExpressions 是标签选择器要求列表。这些要求是 ANDed。

类型

数组

.spec.webhookdefinitions[].objectSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。

类型

对象

必需
  • 运算符

属性 类型 描述

字符串

key 是选择器应用到的标签键。

运算符

字符串

运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。

.spec.webhookdefinitions[].rules

描述
类型

数组

.spec.webhookdefinitions[].rules[]

描述

RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。

类型

对象

属性 类型 描述

apiGroups

数组(字符串)

APIGroups 是资源所属的 API 组。'' 代表所有组。如果存在 '',则切片的长度必须为 1。必需。

apiVersions

数组(字符串)

APIVersions 是资源所属的 API 版本。'' 代表所有版本。如果存在 '',则切片的长度必须为 1。必需。

operations

数组(字符串)

Operations 是准入钩子关心的操作 - CREATE、UPDATE、DELETE、CONNECT 或 * 代表所有这些操作以及将来添加的任何准入操作。如果存在 '*',则切片的长度必须为 1。必需。

资源

数组(字符串)

Resources 是此规则适用的资源列表。

例如:'pods' 表示 pods。'pods/log' 表示 pods 的日志子资源。'' 表示所有资源,但不包括子资源。'pods/' 表示 pods 的所有子资源。'/scale' 表示所有 scale 子资源。'/*' 表示所有资源及其子资源。

如果存在通配符,则验证规则将确保资源之间不重叠。

根据封闭对象,可能不允许使用子资源。必需。

scope

字符串

scope 指定此规则的作用域。有效值为“Cluster”、“Namespaced”和“”。“Cluster”表示只有集群范围的资源才会匹配此规则。命名空间 API 对象是集群范围的。“Namespaced”表示只有命名空间资源才会匹配此规则。“”表示没有作用域限制。子资源匹配其父资源的作用域。默认为“*”。

.status

描述

ClusterServiceVersionStatus 表示有关 CSV 状态的信息。状态可能滞后于系统的实际状态。

类型

对象

属性 类型 描述

certsLastUpdated

字符串

上次更新拥有的 APIService 证书的时间

certsRotateAt

字符串

下次轮换拥有的 APIService 证书的时间

cleanup

对象

CleanupStatus 表示 CSV 待删除时有关清理状态的信息

conditions

数组

条件列表,状态转换的历史记录

conditions[]

对象

条件以 ClusterServiceVersion 上的状态转换记录的形式出现在状态中

lastTransitionTime

字符串

状态上次从一个状态转换到另一个状态的时间。

lastUpdateTime

字符串

我们上次更新状态的时间

message

字符串

一条人类可读的消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。

phase

字符串

ClusterServiceVersion 的当前状态

reason

字符串

一条简短的 CamelCase 消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。例如“RequirementsNotMet”

requirementStatus

数组

此 CSV 的每个要求的状态

requirementStatus[]

对象

.status.cleanup

描述

CleanupStatus 表示 CSV 待删除时有关清理状态的信息

类型

对象

属性 类型 描述

pendingDeletion

数组

PendingDeletion 是待删除且被终结器阻止的自定义资源对象列表。这表示阻止 CSV 删除或运算符卸载的清理进度。

pendingDeletion[]

对象

ResourceList 表示属于同一 Group/Kind 的资源列表

.status.cleanup.pendingDeletion

描述

PendingDeletion 是待删除且被终结器阻止的自定义资源对象列表。这表示阻止 CSV 删除或运算符卸载的清理进度。

类型

数组

.status.cleanup.pendingDeletion[]

描述

ResourceList 表示属于同一 Group/Kind 的资源列表

类型

对象

必需
  • instances

  • kind

属性 类型 描述

字符串

instances

数组

instances[]

对象

kind

字符串

.status.cleanup.pendingDeletion[].instances

描述
类型

数组

.status.cleanup.pendingDeletion[].instances[]

描述
类型

对象

必需
  • 名称

属性 类型 描述

名称

字符串

namespace

字符串

对于集群范围的资源,Namespace 可以为空

.status.conditions

描述

条件列表,状态转换的历史记录

类型

数组

.status.conditions[]

描述

条件以 ClusterServiceVersion 上的状态转换记录的形式出现在状态中

类型

对象

属性 类型 描述

lastTransitionTime

字符串

状态上次从一个状态转换到另一个状态的时间。

lastUpdateTime

字符串

我们上次更新状态的时间

message

字符串

一条人类可读的消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。

phase

字符串

ClusterServiceVersion 的条件

reason

字符串

一条简短的 CamelCase 消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。例如“RequirementsNotMet”

.status.requirementStatus

描述

此 CSV 的每个要求的状态

类型

数组

.status.requirementStatus[]

描述
类型

对象

必需
  • kind

  • message

  • 名称

  • status

  • 版本

属性 类型 描述

dependents

数组

dependents[]

对象

DependentStatus 是相关要求的状态(以防止无限嵌套)

字符串

kind

字符串

message

字符串

名称

字符串

status

字符串

StatusReason 是 RequirementStatus 或 DependentStatus 的状态的 camelcased 原因

uuid

字符串

版本

字符串

.status.requirementStatus[].dependents

描述
类型

数组

.status.requirementStatus[].dependents[]

描述

DependentStatus 是相关要求的状态(以防止无限嵌套)

类型

对象

必需
  • kind

  • status

  • 版本

属性 类型 描述

字符串

kind

字符串

message

字符串

status

字符串

StatusReason 是 RequirementStatus 或 DependentStatus 的状态的 camelcased 原因

uuid

字符串

版本

字符串

API 端点

以下 API 端点可用

  • /apis/operators.coreos.com/v1alpha1/clusterserviceversions

    • GET: 列出 ClusterServiceVersion 类型的对象

  • /apis/operators.coreos.com/v1alpha1/namespaces/{namespace}/clusterserviceversions

    • DELETE: 删除 ClusterServiceVersion 的集合

    • GET: 列出 ClusterServiceVersion 类型的对象

    • POST: 创建一个 ClusterServiceVersion

  • /apis/operators.coreos.com/v1alpha1/namespaces/{namespace}/clusterserviceversions/{name}

    • DELETE: 删除一个 ClusterServiceVersion

    • GET: 读取指定的 ClusterServiceVersion

    • PATCH: 部分更新指定的 ClusterServiceVersion

    • PUT: 替换指定的 ClusterServiceVersion

  • /apis/operators.coreos.com/v1alpha1/namespaces/{namespace}/clusterserviceversions/{name}/status

    • GET: 读取指定的 ClusterServiceVersion 的状态

    • PATCH: 部分更新指定的 ClusterServiceVersion 的状态

    • PUT: 替换指定的 ClusterServiceVersion 的状态

/apis/operators.coreos.com/v1alpha1/clusterserviceversions

HTTP 方法

GET

描述

列出 ClusterServiceVersion 类型的对象

表 1. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersionList 架构

401 - 未授权

/apis/operators.coreos.com/v1alpha1/namespaces/{namespace}/clusterserviceversions

HTTP 方法

DELETE

描述

删除 ClusterServiceVersion 的集合

表 2. HTTP 响应
HTTP 代码 响应主体

200 - OK

Status 架构

401 - 未授权

HTTP 方法

GET

描述

列出 ClusterServiceVersion 类型的对象

表 3. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersionList 架构

401 - 未授权

HTTP 方法

POST

描述

创建一个 ClusterServiceVersion

表 4. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 5. 主体参数
参数 类型 描述

body

ClusterServiceVersion 架构

表 6. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

201 - 已创建

ClusterServiceVersion 架构

202 - 已接受

ClusterServiceVersion 架构

401 - 未授权

/apis/operators.coreos.com/v1alpha1/namespaces/{namespace}/clusterserviceversions/{name}

表 7. 全局路径参数
参数 类型 描述

名称

字符串

ClusterServiceVersion 的名称

HTTP 方法

DELETE

描述

删除一个 ClusterServiceVersion

表 8. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 9. HTTP 响应
HTTP 代码 响应主体

200 - OK

Status 架构

202 - 已接受

Status 架构

401 - 未授权

HTTP 方法

GET

描述

读取指定的 ClusterServiceVersion

表 10. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ClusterServiceVersion

表 11. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 12. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ClusterServiceVersion

表 13. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 14. 主体参数
参数 类型 描述

body

ClusterServiceVersion 架构

表 15. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

201 - 已创建

ClusterServiceVersion 架构

401 - 未授权

/apis/operators.coreos.com/v1alpha1/namespaces/{namespace}/clusterserviceversions/{name}/status

表 16. 全局路径参数
参数 类型 描述

名称

字符串

ClusterServiceVersion 的名称

HTTP 方法

GET

描述

读取指定的 ClusterServiceVersion 的状态

表 17. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ClusterServiceVersion 的状态

表 18. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 19. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ClusterServiceVersion 的状态

表 20. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。

表 21. 主体参数
参数 类型 描述

body

ClusterServiceVersion 架构

表 22. HTTP 响应
HTTP 代码 响应主体

200 - OK

ClusterServiceVersion 架构

201 - 已创建

ClusterServiceVersion 架构

401 - 未授权