ClusterServiceVersion 是 ClusterServiceVersionSpec
类型的自定义资源。
ClusterServiceVersion 是 ClusterServiceVersionSpec
类型的自定义资源。
对象
metadata
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义此对象的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出此值。不能更新。使用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
ClusterServiceVersionSpec 声明告诉 OLM 如何安装可以管理给定版本的应用程序的运算符。 |
|
|
ClusterServiceVersionStatus 表示有关 CSV 状态的信息。状态可能滞后于系统的实际状态。 |
ClusterServiceVersionSpec 声明告诉 OLM 如何安装可以管理给定版本的应用程序的运算符。
对象
displayName
install
属性 | 类型 | 描述 |
---|---|---|
|
|
Annotations 是一个非结构化的键值映射,与资源一起存储,外部工具可以设置该映射来存储和检索任意元数据。 |
|
|
APIServiceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有扩展 API。 |
|
|
Cleanup 指定 CSV 被删除时的清理行为 |
|
|
CustomResourceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有 CRD。 如果 CRD 出现在 Owned 列表中,则表示隐式需要。 |
|
|
运算符的描述。可以包括运算符的功能、限制或用例。 |
|
|
以显示格式显示的运算符名称。 |
|
|
此运算符的图标。 |
|
|
|
|
|
NamedInstallStrategy 表示 ClusterServiceVersion 资源中指定安装策略的块。 |
|
|
InstallModes 指定支持的安装类型 |
|
|
InstallMode 将 InstallModeType 与一个标志关联,该标志表示 CSV 是否支持该类型 |
|
|
描述运算符的关键字列表。 |
|
|
可以用来组织和分类(范围和选择)对象的字符串键和值映射。 |
|
|
与运算符相关的链接列表。 |
|
|
|
|
|
维护运算符的组织实体列表。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GroupVersionKind 明确标识一种类型。它不会匿名包含 GroupVersion 以避免自动强制转换。它不使用 GroupVersion 以避免自定义编组 |
|
|
运算符背后的发布实体。 |
|
|
列出您的运算符可能需要执行其功能的任何相关映像或其他容器映像。此列表还应包括操作数映像。所有映像引用都应通过摘要 (SHA) 而不是标签指定。此字段仅在目录创建期间使用,在集群运行时不起作用。 |
|
|
|
|
|
被替换的 CSV 的名称。应与旧 CSV 的 |
|
|
相关资源的标签选择器。 |
|
|
在升级图中应跳过的一个或多个 CSV 的名称。应与应跳过的 CSV 的 |
|
|
|
|
|
|
|
|
WebhookDescription 向 OLM 提供有关所需 Webhook 的详细信息 |
APIServiceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有扩展 API。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息 |
|
|
|
|
|
APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息 |
APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息
对象
组
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。 |
|
|
|
|
|
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它 |
|
|
|
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它 |
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。
对象
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
被引用资源类型的 Kind。 |
|
|
被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。 |
|
|
被引用资源类型的 API 版本。 |
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
APIServiceDescription 向 OLM 提供有关通过聚合提供的 API 的详细信息
对象
组
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。 |
|
|
|
|
|
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它 |
|
|
|
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它 |
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。
对象
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
被引用资源类型的 Kind。 |
|
|
被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。 |
|
|
被引用资源类型的 API 版本。 |
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
CustomResourceDefinitions 声明 ClusterServiceVersion 正在运行的运算符管理或需要的所有 CRD。
如果 CRD 出现在 Owned 列表中,则表示隐式需要。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
CRDDescription 向 OLM 提供有关 CRD 的详细信息 |
|
|
|
|
|
CRDDescription 向 OLM 提供有关 CRD 的详细信息 |
CRDDescription 向 OLM 提供有关 CRD 的详细信息
对象
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。 |
|
|
|
|
|
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它 |
|
|
|
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它 |
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。
对象
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
被引用资源类型的 Kind。 |
|
|
被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。 |
|
|
被引用资源类型的 API 版本。 |
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
CRDDescription 向 OLM 提供有关 CRD 的详细信息
对象
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。 |
|
|
|
|
|
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它 |
|
|
|
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它 |
|
|
ActionDescriptor 描述了可以在自定义资源实例上执行的声明性操作
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
APIResourceReference 是对引用者使用的 Kubernetes 资源类型的引用。
对象
kind
名称
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
被引用资源类型的 Kind。 |
|
|
被引用资源类型的复数名称 (CustomResourceDefinition.Spec.Names[].Plural)。如果被引用资源类型不是自定义资源,则为空字符串。 |
|
|
被引用资源类型的 API 版本。 |
SpecDescriptor 描述了 CRD 的 spec 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
StatusDescriptor 描述了 CRD 的 status 块中的一个字段,以便 OLM 可以使用它
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
RawMessage 是原始编码的 JSON 值。它实现了 [Marshaler] 和 [Unmarshaler],可用于延迟 JSON 解码或预先计算 JSON 编码。 |
|
|
NamedInstallStrategy 表示 ClusterServiceVersion 资源中指定安装策略的块。
对象
策略
属性 | 类型 | 描述 |
---|---|---|
|
|
StrategyDetailsDeployment 表示 Deployment InstallStrategy 的已解析详细信息。 |
|
|
StrategyDetailsDeployment 表示 Deployment InstallStrategy 的已解析详细信息。
对象
部署
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户 |
|
|
|
|
|
StrategyDeploymentSpec 包含 ALM 应创建的部署的名称、规范和标签 |
|
|
|
|
|
StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户 |
StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户
对象
规则
serviceAccountName
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。 |
|
|
PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。
对象
动词
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroups 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中枚举的资源之一请求的任何操作。“”表示核心 API 组,“*”表示所有 API 组。 |
|
|
NonResourceURLs 是用户应该有权访问的一组部分 URL。允许使用 *,但只能作为路径中的完整最后一步。由于非资源 URL 没有命名空间,因此此字段仅适用于从 ClusterRoleBinding 引用的 ClusterRole。规则可以应用于 API 资源(例如“pod”或“secret”)或非资源 URL 路径(例如“/api”),但不能同时应用两者。 |
|
|
ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。 |
|
|
Resources 是此规则适用的资源列表。“*”表示所有资源。 |
|
|
Verbs 是适用于此规则中包含的所有 ResourceKinds 的 Verbs 列表。“*”表示所有动词。 |
StrategyDeploymentSpec 包含 ALM 应创建的部署的名称、规范和标签
对象
名称
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
Set 是 label:value 的映射。它实现了 Labels。 |
|
|
|
|
|
DeploymentSpec 是部署所需行为的规范。 |
DeploymentSpec 是部署所需行为的规范。
对象
选择器
模板
属性 | 类型 | 描述 |
---|---|---|
|
|
新创建的 pod 在没有任何容器崩溃的情况下应准备就绪的最小秒数,才能被视为可用。默认为 0(pod 一旦准备就绪即被视为可用) |
|
|
指示部署已暂停。 |
|
|
部署在被视为失败之前取得进展的最大时间(以秒为单位)。部署控制器将继续处理失败的部署,并且具有 ProgressDeadlineExceeded 原因的条件将显示在部署状态中。请注意,在部署暂停期间不会估计进度。默认为 600 秒。 |
|
|
所需 pod 的数量。这是一个指针,用于区分显式零和未指定。默认为 1。 |
|
|
要保留以允许回滚的旧 ReplicaSet 的数量。这是一个指针,用于区分显式零和未指定。默认为 10。 |
|
|
pod 的标签选择器。现有 ReplicaSet(其 pod 由此选择器选择)将受此部署影响。它必须与 pod 模板的标签匹配。 |
|
|
用于将现有 pod 替换为新 pod 的部署策略。 |
|
|
模板描述将创建的 pod。唯一允许的 template.spec.restartPolicy 值为“Always”。 |
pod 的标签选择器。现有 ReplicaSet(其 pod 由此选择器选择)将受此部署影响。它必须与 pod 模板的标签匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
用于将现有 pod 替换为新 pod 的部署策略。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
滚动更新配置参数。仅在 DeploymentStrategyType = RollingUpdate 时存在。--- TODO:更新此项以遵循我们对 oneOf 的约定,无论我们决定使用什么。 |
|
|
部署类型。可以是“Recreate”或“RollingUpdate”。默认为 RollingUpdate。 |
滚动更新配置参数。仅在 DeploymentStrategyType = RollingUpdate 时存在。--- TODO:更新此项以遵循我们对 oneOf 的约定,无论我们决定使用什么。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
可以调度高于所需 pod 数的最大 pod 数。值可以是绝对数字(例如:5)或所需 pod 的百分比(例如:10%)。如果 MaxUnavailable 为 0,则不能为 0。绝对数字是通过向上舍入从百分比计算得出的。默认为 25%。例如:当此值设置为 30% 时,当滚动更新开始时,可以立即扩展新的 ReplicaSet,以便新旧 pod 的总数不超过所需 pod 的 130%。一旦旧 pod 被杀死,就可以进一步扩展新的 ReplicaSet,确保更新期间任何时候运行的 pod 总数最多为所需 pod 的 130%。 |
|
|
更新期间不可用的 Pod 的最大数量。该值可以是绝对数字(例如:5)或所需 Pod 的百分比(例如:10%)。绝对数字通过将百分比向下取整计算得出。如果 MaxSurge 为 0,则此值不能为 0。默认值为 25%。示例:当此值设置为 30% 时,滚动更新开始时,旧的 ReplicaSet 可以立即缩减到所需 Pod 的 70%。一旦新的 Pod 准备就绪,旧的 ReplicaSet 可以进一步缩减,然后扩展新的 ReplicaSet,从而确保在更新期间,始终可用的 Pod 总数至少为所需 Pod 的 70%。 |
模板描述将创建的 pod。唯一允许的 template.spec.restartPolicy 值为“Always”。
对象
属性 | 类型 | 描述 |
---|---|---|
|
`` |
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
Pod 预期行为的规范。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
对象
容器
属性 | 类型 | 描述 |
---|---|---|
|
|
Pod 在节点上相对于 StartTime 可以处于活动状态的可选持续时间(以秒为单位),在此时间之后,系统将主动尝试将其标记为失败并终止关联的容器。该值必须为正整数。 |
|
|
如果指定,则为 Pod 的调度约束 |
|
|
AutomountServiceAccountToken 指示是否应自动挂载服务帐户令牌。 |
|
|
属于 Pod 的容器列表。目前无法添加或删除容器。一个 Pod 中必须至少有一个容器。无法更新。 |
|
|
您希望在 Pod 中运行的单个应用程序容器。 |
|
|
指定 Pod 的 DNS 参数。此处指定的参数将根据 DNSPolicy 合并到生成的 DNS 配置中。 |
|
|
设置 Pod 的 DNS 策略。默认为 "ClusterFirst"。有效值为 'ClusterFirstWithHostNet'、'ClusterFirst'、'Default' 或 'None'。DNSConfig 中给出的 DNS 参数将与 DNSPolicy 选择的策略合并。要将 DNS 选项与 hostNetwork 一起设置,必须显式将 DNS 策略指定为 'ClusterFirstWithHostNet'。 |
|
|
EnableServiceLinks 指示是否应将有关服务的信息注入到 Pod 的环境变量中,以匹配 Docker 链接的语法。可选:默认为 true。 |
|
|
在此 Pod 中运行的临时容器列表。可以在现有 Pod 中运行临时容器,以执行用户启动的操作(例如调试)。创建 Pod 时不能指定此列表,并且不能通过更新 Pod 规范来修改它。为了向现有 Pod 添加临时容器,请使用 Pod 的 ephemeralcontainers 子资源。 |
|
|
EphemeralContainer 是一个临时容器,您可以将其添加到现有的 Pod 中,以进行用户启动的活动,例如调试。临时容器没有资源或调度保证,并且它们在退出时或在删除或重新启动 Pod 时不会重新启动。如果临时容器导致 Pod 超出其资源分配,则 kubelet 可能会驱逐该 Pod。 要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重新启动。 |
|
|
HostAliases 是可选的主机和 IP 列表,如果指定,将注入到 Pod 的 hosts 文件中。 |
|
|
HostAlias 保存 IP 和主机名之间的映射,该映射将作为 Pod 的 hosts 文件中的条目注入。 |
|
|
使用主机的 ipc 命名空间。可选:默认为 false。 |
|
|
为此 Pod 请求主机网络。使用主机的网络命名空间。如果设置了此选项,则必须指定将使用的端口。默认为 false。 |
|
|
使用主机的 pid 命名空间。可选:默认为 false。 |
|
|
使用主机用户命名空间。可选:默认为 true。如果设置为 true 或不存在,则 Pod 将在主机用户命名空间中运行,这对于 Pod 需要仅主机用户命名空间可用的功能(例如,使用 CAP_SYS_MODULE 加载内核模块)时很有用。当设置为 false 时,将为 Pod 创建新的 userns。设置为 false 对于缓解容器突破漏洞非常有用,即使允许用户以 root 身份运行其容器,而实际上在主机上没有 root 权限。此字段是 alpha 级别的,并且仅由启用 UserNamespacesSupport 功能的服务器支持。 |
|
|
指定 Pod 的主机名。如果未指定,则 Pod 的主机名将设置为系统定义的值。 |
|
|
ImagePullSecrets 是对同一命名空间中用于拉取此 PodSpec 使用的任何映像的密钥的可选引用列表。如果指定,这些密钥将传递给各个拉取器实现供其使用。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
|
|
LocalObjectReference 包含足够的信息,可让您在同一命名空间中查找引用的对象。 |
|
|
属于 Pod 的初始化容器列表。初始化容器在容器启动之前按顺序执行。如果任何初始化容器失败,则认为 Pod 失败,并根据其 restartPolicy 处理。初始化容器或普通容器的名称在所有容器中必须是唯一的。初始化容器可能没有生命周期操作、就绪探针、存活探针或启动探针。在调度期间,将考虑初始化容器的 resourceRequirements,方法是找到每种资源类型的最高请求/限制,然后使用该值或普通容器总和的最大值。限制以类似的方式应用于初始化容器。目前无法添加或删除初始化容器。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ |
|
|
您希望在 Pod 中运行的单个应用程序容器。 |
|
|
NodeName 是将此 Pod 调度到特定节点上的请求。如果它非空,则调度程序只需将此 Pod 调度到该节点上,假设它符合资源要求。 |
|
|
NodeSelector 是一个选择器,必须为 true,Pod 才能适合节点。选择器必须与节点的标签匹配,才能将 Pod 调度到该节点上。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/assign-pod-node/ |
|
|
指定 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 表示与运行给定 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 是抢占优先级较低的 Pod 的策略。值为 Never、PreemptLowerPriority 之一。如果未设置,则默认为 PreemptLowerPriority。 |
|
|
优先级值。各种系统组件使用此字段来查找 Pod 的优先级。当启用优先级准入控制器时,它会阻止用户设置此字段。准入控制器会从 PriorityClassName 填充此字段。值越高,优先级越高。 |
|
|
如果指定,则指示 Pod 的优先级。"system-node-critical" 和 "system-cluster-critical" 是两个特殊关键字,表示最高优先级,前者是最高优先级。任何其他名称都必须通过创建具有该名称的 PriorityClass 对象来定义。如果未指定,则 Pod 优先级将为默认值或零(如果没有默认值)。 |
|
|
如果指定,将评估所有就绪门以确定 Pod 是否就绪。当 Pod 的所有容器都就绪并且就绪门中指定的所有条件的 status 等于 "True" 时,Pod 就绪。更多信息:https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates |
|
|
PodReadinessGate 包含对 Pod 条件的引用 |
|
|
ResourceClaims 定义在允许 Pod 启动之前必须分配和保留哪些 ResourceClaims。这些资源将提供给按名称使用它们的那些容器。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。 |
|
|
PodResourceClaim 通过 ClaimSource 引用恰好一个 ResourceClaim。它为 ResourceClaim 添加一个名称,该名称唯一标识 Pod 内的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称引用它。 |
|
|
Pod 内所有容器的重启策略。值为 Always、OnFailure、Never 之一。在某些情况下,可能只允许这些值的子集。默认为 Always。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy |
|
|
RuntimeClassName 引用 node.k8s.io 组中的 RuntimeClass 对象,该对象应用来运行此 Pod。如果没有任何 RuntimeClass 资源与命名类匹配,则不会运行 Pod。如果未设置或为空,将使用“legacy”RuntimeClass,这是一个带有空定义的隐式类,它使用默认的运行时处理程序。更多信息:https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class |
|
|
如果指定,则 Pod 将由指定的调度程序分派。如果未指定,则 Pod 将由默认调度程序分派。 |
|
|
SchedulingGates 是一个不透明的值列表,如果指定,将阻止调度 Pod。如果 schedulingGates 不为空,则 Pod 将保持在 SchedulingGated 状态,并且调度程序不会尝试调度该 Pod。 SchedulingGates 只能在 Pod 创建时设置,并且只能在之后删除。 |
|
|
PodSchedulingGate 与 Pod 关联以保护其调度。 |
|
|
SecurityContext 保存 Pod 级别的安全属性和常见的容器设置。可选:默认为空。请参阅每字段默认值的类型描述。 |
|
|
DeprecatedServiceAccount 是 ServiceAccountName 的已弃用别名。已弃用:请改用 serviceAccountName。 |
|
|
ServiceAccountName 是用于运行此 Pod 的 ServiceAccount 的名称。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/configure-service-account/ |
|
|
如果为 true,则 Pod 的主机名将配置为 Pod 的 FQDN(完全限定域名),而不是叶子名称(默认)。在 Linux 容器中,这意味着在内核的 hostname 字段(struct utsname 的 nodename 字段)中设置 FQDN。在 Windows 容器中,这意味着将注册表项 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters 的主机名注册表值设置为 FQDN。如果 Pod 没有 FQDN,则此设置无效。默认为 false。 |
|
|
在 Pod 中的所有容器之间共享一个进程命名空间。设置此选项后,容器将能够查看和发出同一 Pod 中其他容器的进程信号,并且每个容器中的第一个进程将不会被分配 PID 1。HostPID 和 ShareProcessNamespace 不能同时设置。可选:默认为 false。 |
|
|
如果指定,完全限定的 Pod 主机名将为 "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>"。如果未指定,则 Pod 将根本没有域名。 |
|
|
Pod 需要优雅终止的可选持续时间,以秒为单位。可以在删除请求中减少此值。该值必须为非负整数。值零表示通过 kill 信号立即停止(没有关闭机会)。如果此值为 nil,则将使用默认的宽限期。宽限期是指在向 Pod 中运行的进程发送终止信号之后,以及使用 kill 信号强制停止进程之间的时间长度,以秒为单位。设置此值的时间应长于进程的预期清理时间。默认为 30 秒。 |
|
|
如果指定,则为 Pod 的容忍度。 |
|
|
附加此容忍度的 Pod 可以容忍任何匹配 <key,value,effect> 三元组的污点,匹配运算符为 <operator>。 |
|
|
TopologySpreadConstraints 描述了一组 Pod 应如何在拓扑域中分布。调度程序将以符合约束的方式调度 Pod。所有 topologySpreadConstraints 都使用 AND 运算。 |
|
|
TopologySpreadConstraint 指定如何在给定的拓扑中传播匹配的 Pod。 |
|
|
可以由属于 Pod 的容器挂载的卷列表。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes |
|
|
Volume 表示 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。 |
如果指定,则为 Pod 的调度约束
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
描述 Pod 的节点亲和性调度规则。 |
|
|
描述 Pod 亲和性调度规则(例如,将此 Pod 与其他一些 Pod 在同一节点、区域等中共同定位)。 |
|
|
描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他一些 Pod 放在同一节点、区域等中)。 |
描述 Pod 的节点亲和性调度规则。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但可以选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加“权重”来计算总和,如果节点与相应的 matchExpressions 匹配;总和最大的节点是最优先的。 |
|
|
空的首选调度项匹配所有具有隐式权重 0 的对象(即,它是一个空操作)。空的(null)首选调度项不匹配任何对象(即,也是一个空操作)。 |
|
|
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。 |
调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但可以选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加“权重”来计算总和,如果节点与相应的 matchExpressions 匹配;总和最大的节点是最优先的。
数组
空的首选调度项匹配所有具有隐式权重 0 的对象(即,它是一个空操作)。空的(null)首选调度项不匹配任何对象(即,也是一个空操作)。
对象
preference
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
与相应权重关联的节点选择器项。 |
|
|
与匹配的相应 nodeSelectorTerm 关联的权重,范围为 1-100。 |
与相应权重关联的节点选择器项。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
按节点标签列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。 |
|
|
按节点字段列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。 |
按节点标签列出的节点选择器要求列表。
数组
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。 |
按节点字段列出的节点选择器要求列表。
数组
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。 |
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。
对象
nodeSelectorTerms
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。节点选择器项列表。这些项使用 OR 运算。 |
|
|
空的或 null 的节点选择器项不匹配任何对象。它们的要求使用 AND 运算。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的子集。 |
必需。节点选择器项列表。这些项使用 OR 运算。
数组
空的或 null 的节点选择器项不匹配任何对象。它们的要求使用 AND 运算。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的子集。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
按节点标签列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。 |
|
|
按节点字段列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。 |
按节点标签列出的节点选择器要求列表。
数组
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。 |
按节点字段列出的节点选择器要求列表。
数组
节点选择器要求是一个包含值、键和将键和值相关联的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在策略合并补丁期间被替换。 |
描述 Pod 亲和性调度规则(例如,将此 Pod 与其他一些 Pod 在同一节点、区域等中共同定位)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但可以选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加“权重”来计算总和,如果节点具有与相应的 podAffinityTerm 匹配的 Pod;总和最大的节点是最优先的。 |
|
|
每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。 |
|
|
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。当存在多个元素时,每个 podAffinityTerm 对应的节点列表会相交,即必须满足所有项。 |
|
|
定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。 |
调度程序将优先将 Pod 调度到满足此字段指定的亲和性表达式的节点,但可以选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加“权重”来计算总和,如果节点具有与相应的 podAffinityTerm 匹配的 Pod;总和最大的节点是最优先的。
数组
每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。
对象
podAffinityTerm
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。与相应权重关联的 Pod 亲和性项。 |
|
|
与匹配的相应 podAffinityTerm 关联的权重,范围为 1-100。 |
必需。与相应权重关联的 Pod 亲和性项。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。 |
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。当存在多个元素时,每个 podAffinityTerm 对应的节点列表会相交,即必须满足所有项。
数组
定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。 |
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
描述 Pod 反亲和性调度规则(例如,避免将此 Pod 与其他一些 Pod 放在同一节点、区域等中)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度器会倾向于将 Pod 调度到满足此字段指定的反亲和性表达式的节点,但它可能会选择违反一个或多个表达式的节点。最优先的节点是具有最大权重总和的节点,即,对于每个满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的节点,通过迭代此字段的元素并添加 “weight” 到总和中来计算总和,如果节点具有与相应的 podAffinityTerm 匹配的 Pod;总和最高的节点是最优先的。 |
|
|
每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。 |
|
|
如果在调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的反亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点中驱逐出去。当存在多个元素时,与每个 podAffinityTerm 对应的节点列表会进行交集,即必须满足所有条件。 |
|
|
定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。 |
调度器会倾向于将 Pod 调度到满足此字段指定的反亲和性表达式的节点,但它可能会选择违反一个或多个表达式的节点。最优先的节点是具有最大权重总和的节点,即,对于每个满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的节点,通过迭代此字段的元素并添加 “weight” 到总和中来计算总和,如果节点具有与相应的 podAffinityTerm 匹配的 Pod;总和最高的节点是最优先的。
数组
每个节点上所有匹配的 WeightedPodAffinityTerm 字段的权重相加,以找到最优先的节点。
对象
podAffinityTerm
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。与相应权重关联的 Pod 亲和性项。 |
|
|
与匹配的相应 podAffinityTerm 关联的权重,范围为 1-100。 |
必需。与相应权重关联的 Pod 亲和性项。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。 |
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
如果在调度时未满足此字段指定的反亲和性要求,则 Pod 将不会被调度到该节点上。如果在 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的反亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点中驱逐出去。当存在多个元素时,与每个 podAffinityTerm 对应的节点列表会进行交集,即必须满足所有条件。
数组
定义一组 Pod(即与给定命名空间相关的标签选择器匹配的 Pod),此 Pod 应与这些 Pod 共同定位(亲和性)或不共同定位(反亲和性),其中共同定位被定义为在标签键 <topologyKey> 的值与该组 Pod 的任何 Pod 运行的任何节点的值匹配的节点上运行。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组 Pod 标签键,用于选择将考虑哪些 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 |
|
|
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定该术语应用的命名空间的静态列表。该术语应用于此字段中列出的命名空间和 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中匹配 labelSelector 的 Pod 同位(亲和性)或不同位(反亲和性),其中同位定义为运行在具有拓扑键(topologyKey)标签值的节点上,该值与任何选定 Pod 运行的节点的标签值相匹配。不允许使用空的 topologyKey。 |
针对一组资源(在此示例中为 Pod)的标签查询。如果为 null,则此 PodAffinityTerm 与任何 Pod 都不匹配。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
一个标签查询,用于查询该术语应用的命名空间集合。该术语应用于此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
属于 Pod 的容器列表。目前无法添加或删除容器。一个 Pod 中必须至少有一个容器。无法更新。
数组
您希望在 Pod 中运行的单个应用程序容器。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供,则使用容器镜像的 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 |
|
|
入口点数组。不在 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 |
|
|
要在容器中设置的环境变量列表。不能更新。 |
|
|
EnvVar 表示容器中存在的环境变量。 |
|
|
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的键都将被报告为一个事件。当一个键在多个源中存在时,与最后一个源关联的值将优先。具有重复键的 Env 定义的值将优先。不能更新。 |
|
|
EnvFromSource 表示一组 ConfigMap 的源 |
|
|
容器镜像名称。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理来默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
|
镜像拉取策略。可以是 Always、Never 或 IfNotPresent 中的一个。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images |
|
|
管理系统应针对容器生命周期事件采取的操作。不能更新。 |
|
|
容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
容器的名称,指定为 DNS_LABEL。一个 Pod 中的每个容器必须有一个唯一的名称 (DNS_LABEL)。不能更新。 |
|
|
要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
|
ContainerPort 表示单个容器中的网络端口。 |
|
|
定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
容器的资源调整策略。 |
|
|
ContainerResizePolicy 表示容器的资源调整策略。 |
|
|
此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
RestartPolicy 定义 Pod 中各个容器的重启行为。此字段只能为初始化容器设置,且唯一允许的值为 “Always”。对于非初始化容器或未指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将初始化容器的 RestartPolicy 设置为 “Always” 将产生以下效果:此初始化容器将在退出时不断重启,直到所有常规容器终止。一旦所有常规容器完成,所有重启策略为 “Always” 的初始化容器都将被关闭。此生命周期与普通的初始化容器不同,通常被称为“边车”容器。虽然此初始化容器仍然在初始化容器序列中启动,但它不会等待容器完成,而是继续执行下一个初始化容器。相反,下一个初始化容器在此初始化容器启动后或任何启动探测成功完成后立即启动。 |
|
|
SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/ |
|
|
StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置,则容器中读取 stdin 将始终导致 EOF。默认为 false。 |
|
|
容器运行时是否应在单个附加打开后关闭 stdin 通道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设置为 true,则 stdin 在容器启动时打开,在第一个客户端附加到 stdin 之前为空,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重新启动。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false。 |
|
|
可选:将容器的终止消息写入的文件装载到容器的文件系统中的路径。写入的消息旨在作为简短的最终状态,例如断言失败消息。如果大于 4096 字节,节点将对其进行截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
|
指示如何填充终止消息。File 将使用 terminationMessagePath 的内容填充成功和失败时的容器状态消息。如果终止消息文件为空且容器以错误退出,则 FallbackToLogsOnError 将使用容器日志输出的最后一块。日志输出限制为 2048 字节或 80 行,以较小者为准。默认为 File。无法更新。 |
|
|
此容器是否应为其自身分配一个 TTY,还需要 'stdin' 为 true。默认为 false。 |
|
|
volumeDevices 是容器要使用的块设备列表。 |
|
|
volumeDevice 描述了容器内原始块设备的映射。 |
|
|
要装载到容器文件系统中的 Pod 卷。无法更新。 |
|
|
VolumeMount 描述了容器内 Volume 的装载。 |
|
|
容器的工作目录。如果未指定,将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
EnvVar 表示容器中存在的环境变量。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 C_IDENTIFIER。 |
|
|
变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “$(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。默认为 “”。 |
|
|
环境变量值的来源。如果 value 不为空,则不能使用。 |
环境变量值的来源。如果 value 不为空,则不能使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择 ConfigMap 的键。 |
|
|
选择 Pod 的字段:支持 metadata.name、metadata.namespace、 |
|
|
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。 |
|
|
选择 Pod 命名空间中 secret 的键 |
选择 ConfigMap 的键。
对象
键
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']
、metadata.annotations['<KEY>']
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 编写的模式版本,默认为 “v1”。 |
|
|
要选择的指定 API 版本中字段的路径。 |
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷是必需的,环境变量是可选的 |
|
|
指定暴露资源的输出格式,默认为 “1” |
|
|
必需:要选择的资源 |
选择 Pod 命名空间中 secret 的键
对象
键
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 secret 的键。必须是有效的 secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的键都将被报告为一个事件。当一个键在多个源中存在时,与最后一个源关联的值将优先。具有重复键的 Env 定义的值将优先。不能更新。
数组
EnvFromSource 表示一组 ConfigMap 的源
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 ConfigMap |
|
|
一个可选的标识符,用于添加到 ConfigMap 中的每个键。必须是 C_IDENTIFIER。 |
|
|
要从中选择的 Secret |
要从中选择的 ConfigMap
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap |
要从中选择的 Secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret |
管理系统应针对容器生命周期事件采取的操作。不能更新。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
Sleep 表示容器在终止前应休眠的时间。
对象
秒
属性 | 类型 | 描述 |
---|---|---|
|
|
秒是睡眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
Sleep 表示容器在终止前应休眠的时间。
对象
秒
属性 | 类型 | 描述 |
---|---|---|
|
|
秒是睡眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
数组
ContainerPort 表示单个容器中的网络端口。
对象
containerPort
属性 | 类型 | 描述 |
---|---|---|
|
|
要在 pod 的 IP 地址上公开的端口号。这必须是有效的端口号,0 < x < 65536。 |
|
|
要将外部端口绑定到的主机 IP。 |
|
|
要在主机上公开的端口号。如果指定,则这必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要此项。 |
|
|
如果指定,则这必须是 IANA_SVC_NAME 并且在 pod 内唯一。pod 中的每个命名端口必须具有唯一的名称。端口的名称,可由服务引用。 |
|
|
端口的协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。 |
定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
ContainerResizePolicy 表示容器的资源调整策略。
对象
resourceName
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略适用的资源名称。支持的值:cpu、内存。 |
|
|
当指定资源调整大小时应用的重启策略。如果未指定,则默认为 NotRequired。 |
此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出了此容器使用的在 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出了此容器使用的在 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内部可用。 |
SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的特权。此布尔值直接控制是否将在容器进程上设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以 Privileged 模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
procMount 表示要用于容器的 proc 挂载类型。默认值是 DefaultProcMount,它对只读路径和屏蔽路径使用容器运行时默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
指示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root) 身份运行,如果以 root 身份运行则会启动容器失败。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
|
|
运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。 |
|
|
type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。 |
运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
添加的功能 |
|
|
移除的功能 |
要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。 |
|
|
type 指示将应用哪种 seccomp 配置文件。有效选项为 Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范的内容。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。 |
|
|
在 Windows 中运行容器进程的入口点的 UserName。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevices 是容器要使用的块设备列表。
数组
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是设备将映射到的容器内部的路径。 |
|
|
name 必须与 Pod 中 persistentVolumeClaim 的名称匹配 |
要装载到容器文件系统中的 Pod 卷。无法更新。
数组
VolumeMount 描述了容器内 Volume 的装载。
对象
mountPath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
卷应挂载在容器内的路径。不得包含“:”。 |
|
|
mountPropagation 确定如何将挂载从主机传播到容器以及反向传播。如果未设置,则使用 MountPropagationNone。此字段在 1.10 版本中是 beta 版。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
这必须与卷的名称匹配。 |
|
|
如果为 true,则以只读方式挂载,否则(为 false 或未指定)以读写方式挂载。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应递归处理只读挂载。 如果 ReadOnly 为 false,则此字段没有意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不以递归方式使挂载只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式使挂载只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式使挂载只读,否则不会启动 Pod,并且会生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为等效于 Disabled。 |
|
|
应从中挂载容器卷的卷内的路径。默认为 ""(卷的根目录)。 |
|
|
应从中挂载容器卷的卷内的展开路径。行为类似于 SubPath,但使用容器的环境展开环境变量引用 $(VAR_NAME)。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
指定 Pod 的 DNS 参数。此处指定的参数将根据 DNSPolicy 合并到生成的 DNS 配置中。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
DNS 名称服务器 IP 地址列表。这将附加到从 DNSPolicy 生成的基本名称服务器。重复的名称服务器将被删除。 |
|
|
DNS 解析器选项列表。这将与从 DNSPolicy 生成的基本选项合并。重复的条目将被删除。Options 中给出的解析选项将覆盖基本 DNSPolicy 中出现的选项。 |
|
|
PodDNSConfigOption 定义 Pod 的 DNS 解析器选项。 |
|
|
用于主机名查找的 DNS 搜索域列表。这将附加到从 DNSPolicy 生成的基本搜索路径。重复的搜索路径将被删除。 |
DNS 解析器选项列表。这将与从 DNSPolicy 生成的基本选项合并。重复的条目将被删除。Options 中给出的解析选项将覆盖基本 DNSPolicy 中出现的选项。
数组
PodDNSConfigOption 定义 Pod 的 DNS 解析器选项。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。 |
|
|
在此 Pod 中运行的临时容器列表。可以在现有 Pod 中运行临时容器,以执行用户启动的操作(例如调试)。创建 Pod 时不能指定此列表,并且不能通过更新 Pod 规范来修改它。为了向现有 Pod 添加临时容器,请使用 Pod 的 ephemeralcontainers 子资源。
数组
EphemeralContainer 是一个临时容器,您可以将其添加到现有的 Pod 中,以进行用户启动的活动,例如调试。临时容器没有资源或调度保证,并且它们在退出时或在删除或重新启动 Pod 时不会重新启动。如果临时容器导致 Pod 超出其资源分配,则 kubelet 可能会驱逐该 Pod。
要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重新启动。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供,则使用镜像的 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 |
|
|
入口点数组。不在 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 |
|
|
要在容器中设置的环境变量列表。不能更新。 |
|
|
EnvVar 表示容器中存在的环境变量。 |
|
|
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的键都将被报告为一个事件。当一个键在多个源中存在时,与最后一个源关联的值将优先。具有重复键的 Env 定义的值将优先。不能更新。 |
|
|
EnvFromSource 表示一组 ConfigMap 的源 |
|
|
容器镜像名称。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images |
|
|
镜像拉取策略。可以是 Always、Never 或 IfNotPresent 中的一个。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images |
|
|
临时容器不允许使用生命周期。 |
|
|
临时容器不允许使用探测器。 |
|
|
指定为 DNS_LABEL 的临时容器的名称。此名称在所有容器、init 容器和临时容器中必须是唯一的。 |
|
|
临时容器不允许使用端口。 |
|
|
ContainerPort 表示单个容器中的网络端口。 |
|
|
临时容器不允许使用探测器。 |
|
|
容器的资源调整策略。 |
|
|
ContainerResizePolicy 表示容器的资源调整策略。 |
|
|
临时容器不允许使用资源。临时容器使用已分配给 Pod 的备用资源。 |
|
|
容器的重启策略,用于管理 Pod 中每个容器的重启行为。这只能为 init 容器设置。不能在临时容器上设置此字段。 |
|
|
可选:SecurityContext 定义应运行临时容器的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。 |
|
|
临时容器不允许使用探测器。 |
|
|
此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置,则容器中读取 stdin 将始终导致 EOF。默认为 false。 |
|
|
容器运行时是否应在单个附加打开后关闭 stdin 通道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设置为 true,则 stdin 在容器启动时打开,在第一个客户端附加到 stdin 之前为空,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重新启动。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false。 |
|
|
如果设置,则表示此临时容器的目标 PodSpec 中的容器名称。临时容器将在该容器的命名空间(IPC、PID 等)中运行。如果未设置,则临时容器使用 Pod 规范中配置的命名空间。 容器运行时必须实现对此特性的支持。如果运行时不支持命名空间目标,则设置此字段的结果是未定义的。 |
|
|
可选:将容器的终止消息写入的文件装载到容器的文件系统中的路径。写入的消息旨在作为简短的最终状态,例如断言失败消息。如果大于 4096 字节,节点将对其进行截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
|
指示如何填充终止消息。File 将使用 terminationMessagePath 的内容填充成功和失败时的容器状态消息。如果终止消息文件为空且容器以错误退出,则 FallbackToLogsOnError 将使用容器日志输出的最后一块。日志输出限制为 2048 字节或 80 行,以较小者为准。默认为 File。无法更新。 |
|
|
此容器是否应为其自身分配一个 TTY,还需要 'stdin' 为 true。默认为 false。 |
|
|
volumeDevices 是容器要使用的块设备列表。 |
|
|
volumeDevice 描述了容器内原始块设备的映射。 |
|
|
要挂载到容器文件系统中的 Pod 卷。临时容器不允许使用子路径挂载。不能更新。 |
|
|
VolumeMount 描述了容器内 Volume 的装载。 |
|
|
容器的工作目录。如果未指定,将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
要在容器中设置的环境变量列表。不能更新。
数组
EnvVar 表示容器中存在的环境变量。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 C_IDENTIFIER。 |
|
|
变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “$(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。默认为 “”。 |
|
|
环境变量值的来源。如果 value 不为空,则不能使用。 |
环境变量值的来源。如果 value 不为空,则不能使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择 ConfigMap 的键。 |
|
|
选择 Pod 的字段:支持 metadata.name、metadata.namespace、 |
|
|
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。 |
|
|
选择 Pod 命名空间中 secret 的键 |
选择 ConfigMap 的键。
对象
键
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']
、metadata.annotations['<KEY>']
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 编写的模式版本,默认为 “v1”。 |
|
|
要选择的指定 API 版本中字段的路径。 |
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷是必需的,环境变量是可选的 |
|
|
指定暴露资源的输出格式,默认为 “1” |
|
|
必需:要选择的资源 |
选择 Pod 命名空间中 secret 的键
对象
键
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 secret 的键。必须是有效的 secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的键都将被报告为一个事件。当一个键在多个源中存在时,与最后一个源关联的值将优先。具有重复键的 Env 定义的值将优先。不能更新。
数组
EnvFromSource 表示一组 ConfigMap 的源
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 ConfigMap |
|
|
一个可选的标识符,用于添加到 ConfigMap 中的每个键。必须是 C_IDENTIFIER。 |
|
|
要从中选择的 Secret |
要从中选择的 ConfigMap
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap |
要从中选择的 Secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret |
临时容器不允许使用生命周期。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
Sleep 表示容器在终止前应休眠的时间。
对象
秒
属性 | 类型 | 描述 |
---|---|---|
|
|
秒是睡眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
Sleep 表示容器在终止前应休眠的时间。
对象
秒
属性 | 类型 | 描述 |
---|---|---|
|
|
秒是睡眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
临时容器不允许使用探测器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
临时容器不允许使用端口。
数组
ContainerPort 表示单个容器中的网络端口。
对象
containerPort
属性 | 类型 | 描述 |
---|---|---|
|
|
要在 pod 的 IP 地址上公开的端口号。这必须是有效的端口号,0 < x < 65536。 |
|
|
要将外部端口绑定到的主机 IP。 |
|
|
要在主机上公开的端口号。如果指定,则这必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要此项。 |
|
|
如果指定,则这必须是 IANA_SVC_NAME 并且在 pod 内唯一。pod 中的每个命名端口必须具有唯一的名称。端口的名称,可由服务引用。 |
|
|
端口的协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。 |
临时容器不允许使用探测器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
容器的资源调整策略。
数组
ContainerResizePolicy 表示容器的资源调整策略。
对象
resourceName
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略适用的资源名称。支持的值:cpu、内存。 |
|
|
当指定资源调整大小时应用的重启策略。如果未指定,则默认为 NotRequired。 |
临时容器不允许使用资源。临时容器使用已分配给 Pod 的备用资源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出了此容器使用的在 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出了此容器使用的在 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内部可用。 |
可选:SecurityContext 定义应运行临时容器的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的特权。此布尔值直接控制是否将在容器进程上设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以 Privileged 模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
procMount 表示要用于容器的 proc 挂载类型。默认值是 DefaultProcMount,它对只读路径和屏蔽路径使用容器运行时默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
指示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root) 身份运行,如果以 root 身份运行则会启动容器失败。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
|
|
运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。 |
|
|
type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。 |
运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
添加的功能 |
|
|
移除的功能 |
要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。 |
|
|
type 指示将应用哪种 seccomp 配置文件。有效选项为 Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范的内容。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。 |
|
|
在 Windows 中运行容器进程的入口点的 UserName。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
临时容器不允许使用探测器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevices 是容器要使用的块设备列表。
数组
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是设备将映射到的容器内部的路径。 |
|
|
name 必须与 Pod 中 persistentVolumeClaim 的名称匹配 |
要挂载到容器文件系统中的 Pod 卷。临时容器不允许使用子路径挂载。不能更新。
数组
VolumeMount 描述了容器内 Volume 的装载。
对象
mountPath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
卷应挂载在容器内的路径。不得包含“:”。 |
|
|
mountPropagation 确定如何将挂载从主机传播到容器以及反向传播。如果未设置,则使用 MountPropagationNone。此字段在 1.10 版本中是 beta 版。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
这必须与卷的名称匹配。 |
|
|
如果为 true,则以只读方式挂载,否则(为 false 或未指定)以读写方式挂载。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应递归处理只读挂载。 如果 ReadOnly 为 false,则此字段没有意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不以递归方式使挂载只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式使挂载只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式使挂载只读,否则不会启动 Pod,并且会生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为等效于 Disabled。 |
|
|
应从中挂载容器卷的卷内的路径。默认为 ""(卷的根目录)。 |
|
|
应从中挂载容器卷的卷内的展开路径。行为类似于 SubPath,但使用容器的环境展开环境变量引用 $(VAR_NAME)。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
HostAliases 是可选的主机和 IP 列表,如果指定,将注入到 Pod 的 hosts 文件中。
数组
HostAlias 保存 IP 和主机名之间的映射,该映射将作为 Pod 的 hosts 文件中的条目注入。
对象
ip
属性 | 类型 | 描述 |
---|---|---|
|
|
上述 IP 地址的主机名。 |
|
|
主机文件条目的 IP 地址。 |
ImagePullSecrets 是对同一命名空间中用于拉取此 PodSpec 使用的任何映像的密钥的可选引用列表。如果指定,这些密钥将传递给各个拉取器实现供其使用。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
数组
LocalObjectReference 包含足够的信息,可让您在同一命名空间中查找引用的对象。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
属于 Pod 的初始化容器列表。初始化容器在容器启动之前按顺序执行。如果任何初始化容器失败,则认为 Pod 失败,并根据其 restartPolicy 处理。初始化容器或普通容器的名称在所有容器中必须是唯一的。初始化容器可能没有生命周期操作、就绪探针、存活探针或启动探针。在调度期间,将考虑初始化容器的 resourceRequirements,方法是找到每种资源类型的最高请求/限制,然后使用该值或普通容器总和的最大值。限制以类似的方式应用于初始化容器。目前无法添加或删除初始化容器。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/
数组
您希望在 Pod 中运行的单个应用程序容器。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供,则使用容器镜像的 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 |
|
|
入口点数组。不在 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 |
|
|
要在容器中设置的环境变量列表。不能更新。 |
|
|
EnvVar 表示容器中存在的环境变量。 |
|
|
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的键都将被报告为一个事件。当一个键在多个源中存在时,与最后一个源关联的值将优先。具有重复键的 Env 定义的值将优先。不能更新。 |
|
|
EnvFromSource 表示一组 ConfigMap 的源 |
|
|
容器镜像名称。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理来默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
|
镜像拉取策略。可以是 Always、Never 或 IfNotPresent 中的一个。如果指定了 :latest 标签,则默认为 Always,否则默认为 IfNotPresent。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/images#updating-images |
|
|
管理系统应针对容器生命周期事件采取的操作。不能更新。 |
|
|
容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
容器的名称,指定为 DNS_LABEL。一个 Pod 中的每个容器必须有一个唯一的名称 (DNS_LABEL)。不能更新。 |
|
|
要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
|
ContainerPort 表示单个容器中的网络端口。 |
|
|
定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
容器的资源调整策略。 |
|
|
ContainerResizePolicy 表示容器的资源调整策略。 |
|
|
此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
RestartPolicy 定义 Pod 中各个容器的重启行为。此字段只能为初始化容器设置,且唯一允许的值为 “Always”。对于非初始化容器或未指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将初始化容器的 RestartPolicy 设置为 “Always” 将产生以下效果:此初始化容器将在退出时不断重启,直到所有常规容器终止。一旦所有常规容器完成,所有重启策略为 “Always” 的初始化容器都将被关闭。此生命周期与普通的初始化容器不同,通常被称为“边车”容器。虽然此初始化容器仍然在初始化容器序列中启动,但它不会等待容器完成,而是继续执行下一个初始化容器。相反,下一个初始化容器在此初始化容器启动后或任何启动探测成功完成后立即启动。 |
|
|
SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/ |
|
|
StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置,则容器中读取 stdin 将始终导致 EOF。默认为 false。 |
|
|
容器运行时是否应在单个附加打开后关闭 stdin 通道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设置为 true,则 stdin 在容器启动时打开,在第一个客户端附加到 stdin 之前为空,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 关闭并保持关闭状态,直到容器重新启动。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认为 false。 |
|
|
可选:将容器的终止消息写入的文件装载到容器的文件系统中的路径。写入的消息旨在作为简短的最终状态,例如断言失败消息。如果大于 4096 字节,节点将对其进行截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
|
指示如何填充终止消息。File 将使用 terminationMessagePath 的内容填充成功和失败时的容器状态消息。如果终止消息文件为空且容器以错误退出,则 FallbackToLogsOnError 将使用容器日志输出的最后一块。日志输出限制为 2048 字节或 80 行,以较小者为准。默认为 File。无法更新。 |
|
|
此容器是否应为其自身分配一个 TTY,还需要 'stdin' 为 true。默认为 false。 |
|
|
volumeDevices 是容器要使用的块设备列表。 |
|
|
volumeDevice 描述了容器内原始块设备的映射。 |
|
|
要装载到容器文件系统中的 Pod 卷。无法更新。 |
|
|
VolumeMount 描述了容器内 Volume 的装载。 |
|
|
容器的工作目录。如果未指定,将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
要在容器中设置的环境变量列表。不能更新。
数组
EnvVar 表示容器中存在的环境变量。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 C_IDENTIFIER。 |
|
|
变量引用 $(VAR_NAME) 使用容器中先前定义的环境变量和任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双 $ 减少为单个 $,这允许转义 $(VAR_NAME) 语法:即 “$(VAR_NAME)” 将生成字符串字面量 “$(VAR_NAME)”。转义的引用将永远不会扩展,无论变量是否存在。默认为 “”。 |
|
|
环境变量值的来源。如果 value 不为空,则不能使用。 |
环境变量值的来源。如果 value 不为空,则不能使用。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择 ConfigMap 的键。 |
|
|
选择 Pod 的字段:支持 metadata.name、metadata.namespace、 |
|
|
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。 |
|
|
选择 Pod 命名空间中 secret 的键 |
选择 ConfigMap 的键。
对象
键
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']
、metadata.annotations['<KEY>']
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 编写的模式版本,默认为 “v1”。 |
|
|
要选择的指定 API 版本中字段的路径。 |
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷是必需的,环境变量是可选的 |
|
|
指定暴露资源的输出格式,默认为 “1” |
|
|
必需:要选择的资源 |
选择 Pod 命名空间中 secret 的键
对象
键
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 secret 的键。必须是有效的 secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
用于在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效的键都将被报告为一个事件。当一个键在多个源中存在时,与最后一个源关联的值将优先。具有重复键的 Env 定义的值将优先。不能更新。
数组
EnvFromSource 表示一组 ConfigMap 的源
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 ConfigMap |
|
|
一个可选的标识符,用于添加到 ConfigMap 中的每个键。必须是 C_IDENTIFIER。 |
|
|
要从中选择的 Secret |
要从中选择的 ConfigMap
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap |
要从中选择的 Secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret |
管理系统应针对容器生命周期事件采取的操作。不能更新。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则容器将根据其重启策略终止并重启。容器的其他管理将阻塞,直到挂钩完成。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
Sleep 表示容器在终止前应休眠的时间。
对象
秒
属性 | 类型 | 描述 |
---|---|---|
|
|
秒是睡眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在容器因 API 请求或管理事件(例如活性/启动探测失败、抢占、资源争用等)而终止之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop 挂钩之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。容器的其他管理将阻塞,直到挂钩完成或达到终止宽限期。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止前应休眠的时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
Sleep 表示容器在终止前应休眠的时间。
对象
秒
属性 | 类型 | 描述 |
---|---|---|
|
|
秒是睡眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,并保留以实现向后兼容性。此字段没有验证,并且当指定 tcp 处理程序时,生命周期挂钩在运行时将失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
容器存活性的定期探测。如果探测失败,容器将重新启动。不能更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
要从容器暴露的端口列表。此处不指定端口并**不会**阻止该端口被暴露。任何在容器内部监听默认地址 “0.0.0.0” 的端口都将可以从网络访问。使用策略性合并补丁修改此数组可能会损坏数据。更多信息请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
数组
ContainerPort 表示单个容器中的网络端口。
对象
containerPort
属性 | 类型 | 描述 |
---|---|---|
|
|
要在 pod 的 IP 地址上公开的端口号。这必须是有效的端口号,0 < x < 65536。 |
|
|
要将外部端口绑定到的主机 IP。 |
|
|
要在主机上公开的端口号。如果指定,则这必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则这必须与 ContainerPort 匹配。大多数容器不需要此项。 |
|
|
如果指定,则这必须是 IANA_SVC_NAME 并且在 pod 内唯一。pod 中的每个命名端口必须具有唯一的名称。端口的名称,可由服务引用。 |
|
|
端口的协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。 |
定期探测容器服务的就绪状态。如果探测失败,容器将从服务端点中移除。无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
容器的资源调整策略。
数组
ContainerResizePolicy 表示容器的资源调整策略。
对象
resourceName
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略适用的资源名称。支持的值:cpu、内存。 |
|
|
当指定资源调整大小时应用的重启策略。如果未指定,则默认为 NotRequired。 |
此容器所需的计算资源。无法更新。更多信息: https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Claims 列出了此容器使用的在 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段是不可变的。它只能为容器设置。 |
|
|
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
|
|
Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
Claims 列出了此容器使用的在 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。它只能为容器设置。
数组
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内部可用。 |
SecurityContext 定义容器应使用的安全选项。如果设置,SecurityContext 的字段将覆盖 PodSecurityContext 的等效字段。更多信息:https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AllowPrivilegeEscalation 控制进程是否可以获得比其父进程更多的特权。此布尔值直接控制是否将在容器进程上设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以 Privileged 模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
procMount 表示要用于容器的 proc 挂载类型。默认值是 DefaultProcMount,它对只读路径和屏蔽路径使用容器运行时默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
此容器是否具有只读根文件系统。默认为 false。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,不能设置此字段。 |
|
|
指示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证镜像,以确保它不会以 UID 0 (root) 身份运行,如果以 root 身份运行则会启动容器失败。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
|
|
运行容器进程的入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此容器要使用的 AppArmor 选项。如果设置,则此配置文件将覆盖 pod 的 appArmorProfile。请注意,当 spec.os.name 为 windows 时,不能设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。 |
|
|
type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。 |
运行容器时要添加/删除的功能。默认为容器运行时授予的默认功能集。请注意,当 spec.os.name 为 windows 时,不能设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
添加的功能 |
|
|
移除的功能 |
要应用于容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,则容器选项会覆盖 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。 |
|
|
type 指示将应用哪种 seccomp 配置文件。有效选项为 Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
应用于所有容器的特定于 Windows 的设置。如果未指定,则将使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范的内容。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。 |
|
|
在 Windows 中运行容器进程的入口点的 UserName。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
StartupProbe 指示 Pod 已成功初始化。如果指定,则在此探测成功完成之前,不会执行其他探测。如果此探测失败,Pod 将被重启,就像 livenessProbe 失败一样。这可用于在 Pod 生命周期开始时提供不同的探测参数,此时可能需要很长时间才能加载数据或预热缓存,而不是在稳态运行期间。这无法更新。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
在探测成功后,被视为失败的最小连续失败次数。默认为 3。最小值是 1。 |
|
|
GRPC 指定涉及 GRPC 端口的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
容器启动后,启动活跃度探测之前的秒数。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
|
执行探测的频率(以秒为单位)。默认为 10 秒。最小值是 1。 |
|
|
在探测失败后,被视为成功的最小连续成功次数。默认为 1。对于活跃度和启动,必须为 1。最小值是 1。 |
|
|
TCPSocket 指定涉及 TCP 端口的操作。 |
|
|
在探测失败后,pod 需要优雅终止的可选持续时间(以秒为单位)。宽限期是在向 pod 中运行的进程发送终止信号之后,到强制使用 kill 信号停止进程的时间之间的持续时间(以秒为单位)。将此值设置得比进程的预期清理时间长。如果此值为 nil,则将使用 pod 的 terminationGracePeriodSeconds。否则,此值将覆盖 pod 规范提供的值。值必须是非负整数。值零表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探测超时之前的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是被 exec'd,它不是在 shell 中运行的,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态为 0 被视为活动/健康,非零为不健康。 |
GRPC 指定涉及 GRPC 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
gRPC 服务的端口号。数字必须在 1 到 65535 的范围内。 |
|
|
Service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果未指定,则默认行为由 gRPC 定义。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 “Host”。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头 |
|
|
HTTP 服务器上要访问的路径。 |
|
|
要在容器上访问的端口的名称或数字。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
要在请求中设置的自定义标头。HTTP 允许重复的标头。
数组
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
头部字段名称。这将在输出时被规范化,因此大小写变体名称将被理解为相同的头部。 |
|
|
头部字段的值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 pod IP。 |
|
|
容器上要访问的端口号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevices 是容器要使用的块设备列表。
数组
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是设备将映射到的容器内部的路径。 |
|
|
name 必须与 Pod 中 persistentVolumeClaim 的名称匹配 |
要装载到容器文件系统中的 Pod 卷。无法更新。
数组
VolumeMount 描述了容器内 Volume 的装载。
对象
mountPath
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
卷应挂载在容器内的路径。不得包含“:”。 |
|
|
mountPropagation 确定如何将挂载从主机传播到容器以及反向传播。如果未设置,则使用 MountPropagationNone。此字段在 1.10 版本中是 beta 版。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
这必须与卷的名称匹配。 |
|
|
如果为 true,则以只读方式挂载,否则(为 false 或未指定)以读写方式挂载。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应递归处理只读挂载。 如果 ReadOnly 为 false,则此字段没有意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不以递归方式使挂载只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式使挂载只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式使挂载只读,否则不会启动 Pod,并且会生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为等效于 Disabled。 |
|
|
应从中挂载容器卷的卷内的路径。默认为 ""(卷的根目录)。 |
|
|
应从中挂载容器卷的卷内的展开路径。行为类似于 SubPath,但使用容器的环境展开环境变量引用 $(VAR_NAME)。默认为 ""(卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
指定 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 |
如果指定,将评估所有就绪门以确定 Pod 是否就绪。当 Pod 的所有容器都就绪并且就绪门中指定的所有条件的 status 等于 "True" 时,Pod 就绪。更多信息:https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
数组
PodReadinessGate 包含对 Pod 条件的引用
对象
conditionType
属性 | 类型 | 描述 |
---|---|---|
|
|
ConditionType 指的是 Pod 的条件列表中具有匹配类型的条件。 |
ResourceClaims 定义在允许 Pod 启动之前必须分配和保留哪些 ResourceClaims。这些资源将提供给按名称使用它们的那些容器。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段是不可变的。
数组
PodResourceClaim 通过 ClaimSource 引用恰好一个 ResourceClaim。它为 ResourceClaim 添加一个名称,该名称唯一标识 Pod 内的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称引用它。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 在 Pod 内部唯一标识此资源声明。这必须是 DNS_LABEL。 |
|
|
Source 描述了在哪里可以找到 ResourceClaim。 |
Source 描述了在哪里可以找到 ResourceClaim。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ResourceClaimName 是与此 Pod 位于同一命名空间中的 ResourceClaim 对象的名称。 |
|
|
ResourceClaimTemplateName 是与此 Pod 位于同一命名空间中的 ResourceClaimTemplate 对象的名称。 该模板将用于创建一个新的 ResourceClaim,它将绑定到此 Pod。当此 Pod 被删除时,ResourceClaim 也将被删除。Pod 名称和资源名称,以及一个生成的组件,将用于为 ResourceClaim 形成一个唯一的名称,该名称将记录在 pod.status.resourceClaimStatuses 中。 此字段是不可变的,并且在创建 ResourceClaim 后,控制平面不会对相应的 ResourceClaim 进行任何更改。 |
SchedulingGates 是一个不透明的值列表,如果指定,将阻止调度 Pod。如果 schedulingGates 不为空,则 Pod 将保持在 SchedulingGated 状态,并且调度程序不会尝试调度该 Pod。
SchedulingGates 只能在 Pod 创建时设置,并且只能在之后删除。
数组
PodSchedulingGate 与 Pod 关联以保护其调度。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
调度门的名字。每个调度门必须具有唯一的 name 字段。 |
SecurityContext 保存 Pod 级别的安全属性和常见的容器设置。可选:默认为空。请参阅每字段默认值的类型描述。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
appArmorProfile 是此 Pod 中容器要使用的 AppArmor 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
一个特殊的补充组,适用于 Pod 中的所有容器。某些卷类型允许 Kubelet 将该卷的所有权更改为由 Pod 拥有 1. 拥有 GID 将是 FSGroup 2. 设置 setgid 位(在卷中创建的新文件将由 FSGroup 拥有)3. 权限位与 rw-rw---- 进行 OR 运算 如果未设置,则 Kubelet 不会修改任何卷的所有权和权限。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
fsGroupChangePolicy 定义在 Pod 内部公开之前更改卷的所有权和权限的行为。此字段仅适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对临时卷类型(如:secret、configmaps 和 emptydir)没有影响。有效值为“OnRootMismatch”和“Always”。如果未指定,则使用“Always”。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
运行容器进程的入口点的 GID。如果未设置,则使用运行时默认值。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
表示容器必须以非 root 用户身份运行。如果为 true,则 Kubelet 将在运行时验证镜像,以确保它不以 UID 0(root)身份运行,如果它以 UID 0(root)身份运行,则无法启动容器。如果未设置或为 false,则不会执行此类验证。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
|
|
运行容器进程入口点的 UID。如果未指定,则默认为镜像元数据中指定的用户。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
要应用于所有容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
此 Pod 中容器要使用的 seccomp 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
除了容器的主 GID、fsGroup(如果已指定)以及容器镜像中为容器进程的 uid 定义的组成员身份之外,应用于每个容器中运行的第一个进程的组列表。如果未指定,则不会向任何容器添加额外的组。请注意,即使未包含在此列表中,容器镜像中为容器进程的 uid 定义的组成员身份仍然有效。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
Sysctls 保存用于 Pod 的命名空间 sysctl 列表。具有不受支持的 sysctl(由容器运行时)的 Pod 可能会启动失败。请注意,当 spec.os.name 为 windows 时,无法设置此字段。 |
|
|
Sysctl 定义要设置的内核参数 |
|
|
应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器的 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。 |
appArmorProfile 是此 Pod 中容器要使用的 AppArmor 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用的节点上加载的配置文件。配置文件必须在节点上预先配置才能工作。必须与配置文件的加载名称匹配。当且仅当类型为“Localhost”时,才必须设置。 |
|
|
type 指示将应用哪种 AppArmor 配置文件。有效选项为:Localhost - 节点上预先加载的配置文件。RuntimeDefault - 容器运行时的默认配置文件。Unconfined - 没有 AppArmor 强制执行。 |
要应用于所有容器的 SELinux 上下文。如果未指定,则容器运行时将为每个容器分配一个随机的 SELinux 上下文。也可以在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先用于该容器。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Level 是应用于容器的 SELinux 级别标签。 |
|
|
Role 是应用于容器的 SELinux 角色标签。 |
|
|
Type 是应用于容器的 SELinux 类型标签。 |
|
|
User 是应用于容器的 SELinux 用户标签。 |
此 Pod 中容器要使用的 seccomp 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
对象
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
localhostProfile 指示应使用节点上文件中定义的配置文件。配置文件必须在节点上预先配置才能工作。必须是相对于 kubelet 配置的 seccomp 配置文件位置的降序路径。如果类型为“Localhost”,则必须设置。对于任何其他类型,不得设置。 |
|
|
type 指示将应用哪种 seccomp 配置文件。有效选项为 Localhost - 应使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时的默认配置文件。Unconfined - 不应应用任何配置文件。 |
Sysctls 保存用于 Pod 的命名空间 sysctl 列表。具有不受支持的 sysctl(由容器运行时)的 Pod 可能会启动失败。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
数组
Sysctl 定义要设置的内核参数
对象
名称
值
属性 | 类型 | 描述 |
---|---|---|
|
|
要设置的属性的名称 |
|
|
要设置的属性的值 |
应用于所有容器的 Windows 特定设置。如果未指定,则将使用容器的 SecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范的内容。 |
|
|
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。 |
|
|
HostProcess 确定是否应将容器作为“主机进程”容器运行。Pod 的所有容器必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则还必须将 HostNetwork 设置为 true。 |
|
|
在 Windows 中运行容器进程的入口点的 UserName。如果未指定,则默认为镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中都设置了,则 SecurityContext 中指定的值优先。 |
附加此容忍度的 Pod 可以容忍任何匹配 <key,value,effect> 三元组的污点,匹配运算符为 <operator>。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Effect 表示要匹配的污点效应。空表示匹配所有污点效应。指定时,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。 |
|
|
Key 是容忍度所应用的污点键。空表示匹配所有污点键。如果键为空,则 operator 必须为 Exists;这种组合表示匹配所有值和所有键。 |
|
|
Operator 表示键与值之间的关系。有效的运算符为 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,以便 Pod 可以容忍特定类别的所有污点。 |
|
|
TolerationSeconds 表示容忍度(必须是 NoExecute 效应,否则此字段将被忽略)容忍污点的时间段。默认情况下,它未设置,这意味着永久容忍污点(不驱逐)。系统会将零和负值视为 0(立即驱逐)。 |
|
|
Value 是容忍度匹配的污点值。如果 operator 为 Exists,则该值应为空,否则只是一个常规字符串。 |
TopologySpreadConstraints 描述了一组 Pod 应如何在拓扑域中分布。调度程序将以符合约束的方式调度 Pod。所有 topologySpreadConstraints 都使用 AND 运算。
数组
TopologySpreadConstraint 指定如何在给定的拓扑中传播匹配的 Pod。
对象
maxSkew
topologyKey
whenUnsatisfiable
属性 | 类型 | 描述 |
---|---|---|
|
|
LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 会被计数,以确定其对应拓扑域中的 Pod 数量。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将计算扩展的 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 进行 AND 运算,以选择一组现有的 Pod,在这些 Pod 上将计算传入 Pod 的扩展。禁止在 MatchLabelKeys 和 LabelSelector 中同时存在相同的键。当未设置 LabelSelector 时,不能设置 MatchLabelKeys。传入 Pod 标签中不存在的键将被忽略。空列表或 null 表示仅与 labelSelector 进行匹配。 这是一个 beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。 |
|
|
MaxSkew 描述了 Pod 不均匀分布的程度。当 |
|
|
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 指示在计算 Pod 拓扑扩展偏差时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项包括:- Honor:仅将与 nodeAffinity/nodeSelector 匹配的节点包括在计算中。- Ignore:忽略 nodeAffinity/nodeSelector。将所有节点都包括在计算中。 如果此值为 nil,则行为等效于 Honor 策略。这是一个 beta 级功能,默认情况下通过 NodeInclusionPolicyInPodTopologySpread 功能标志启用。 |
|
|
NodeTaintsPolicy 指示在计算 Pod 拓扑扩展偏差时,我们将如何处理节点污点。选项包括:- Honor:包括没有污点的节点,以及传入 Pod 具有容忍度的已污染节点。- Ignore:忽略节点污点。将包括所有节点。 如果此值为 nil,则行为等效于 Ignore 策略。这是一个 beta 级功能,默认情况下通过 NodeInclusionPolicyInPodTopologySpread 功能标志启用。 |
|
|
TopologyKey 是节点标签的键。具有此键和相同值的标签的节点被认为在同一拓扑中。我们将每个 <key, value> 视为一个“桶”,并尝试将平衡数量的 Pod 放入每个桶中。我们将域定义为拓扑的特定实例。此外,我们将符合条件的域定义为满足 nodeAffinityPolicy 和 nodeTaintsPolicy 要求的域。例如,如果 TopologyKey 是“kubernetes.io/hostname”,则每个节点都是该拓扑的一个域。并且,如果 TopologyKey 是“topology.kubernetes.io/zone”,则每个区域都是该拓扑的一个域。这是一个必填字段。 |
|
|
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)。换句话说,集群仍然可能不平衡,但调度程序不会使其更加不平衡。这是一个必填字段。 |
LabelSelector 用于查找匹配的 Pod。匹配此标签选择器的 Pod 会被计数,以确定其对应拓扑域中的 Pod 数量。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
可以由属于 Pod 的容器挂载的卷列表。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes
数组
Volume 表示 Pod 中的命名卷,Pod 中的任何容器都可以访问该卷。
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
awsElasticBlockStore 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore |
|
|
azureDisk 表示主机上安装的 Azure 数据磁盘,并绑定安装到 Pod。 |
|
|
azureFile 表示主机上安装的 Azure 文件服务,并绑定安装到 Pod。 |
|
|
cephFS 表示主机上安装的 Ceph FS,它与 Pod 的生命周期共享 |
|
|
cinder 表示附加到 kubelet 主机并安装的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
|
|
configMap 表示一个应该填充此卷的 configMap |
|
|
csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(Beta 功能)。 |
|
|
downwardAPI 表示关于 Pod 的向下 API,该 API 应该填充此卷 |
|
|
emptyDir 表示一个与 Pod 的生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
|
|
ephemeral 表示一个由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 相关联 - 它将在 Pod 启动之前创建,并在删除 Pod 时删除。 如果以下情况,请使用此项:a) 仅当 Pod 运行时需要该卷;b) 需要常规卷的功能,如从快照还原或容量跟踪;c) 通过存储类指定存储驱动程序;d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷配置(有关此卷类型与 PersistentVolumeClaim 之间的连接的更多信息,请参阅 EphemeralVolumeSource)。 对于生命周期长于单个 Pod 的卷,请使用 PersistentVolumeClaim 或特定于供应商的 API 之一。 如果打算以这种方式使用 CSI 驱动程序,请使用 CSI 进行轻量级本地临时卷 - 有关更多信息,请参阅驱动程序的文档。 Pod 可以同时使用两种类型的临时卷和持久卷。 |
|
|
fc 表示一个连接到 kubelet 主机并随后暴露给 Pod 的光纤通道资源。 |
|
|
flexVolume 表示使用基于 exec 的插件进行配置/连接的通用卷资源。 |
|
|
flocker 表示一个连接到 kubelet 主机的 Flocker 卷。这取决于正在运行的 Flocker 控制服务 |
|
|
gcePersistentDisk 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
|
|
gitRepo 表示特定修订版的 git 存储库。已弃用:GitRepo 已弃用。要使用 git 存储库配置容器,请将 EmptyDir 安装到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 安装到 Pod 的容器中。 |
|
|
glusterfs 代表主机上的 Glusterfs 挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md |
|
|
hostPath 代表主机上一个预先存在的文件或目录,它直接暴露给容器。这通常用于系统代理或其他有权访问主机的特权组件。大多数容器不需要这个。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载,以及谁可以/不可以将主机目录挂载为读/写。 |
|
|
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 挂载点,其生命周期与 Pod 共享。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
|
|
persistentVolumeClaimVolumeSource 代表对同一命名空间中的 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
photonPersistentDisk 代表一个附加并挂载到 kubelets 主机上的 PhotonController 持久磁盘 |
|
|
portworxVolume 代表一个附加并挂载到 kubelets 主机上的 portworx 卷 |
|
|
用于将所有资源(secrets,configmaps 和 downward API)合并的 projected 项目 |
|
|
quobyte 代表主机上的 Quobyte 挂载点,其生命周期与 Pod 共享 |
|
|
rbd 代表主机上的 Rados 块设备挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md |
|
|
scaleIO 代表一个附加并挂载到 Kubernetes 节点上的 ScaleIO 持久卷。 |
|
|
secret 代表一个应填充此卷的 Secret。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret |
|
|
storageOS 代表一个附加并挂载到 Kubernetes 节点上的 StorageOS 卷。 |
|
|
vsphereVolume 代表一个附加并挂载到 kubelets 主机上的 vSphere 卷 |
awsElasticBlockStore 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 AWS 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是你要挂载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore TODO:我们如何防止文件系统中的错误损害机器 |
|
|
partition 是你要挂载的卷中的分区。如果省略,默认是按卷名称挂载。示例:对于卷 /dev/sda1,你将分区指定为“1”。类似地,/dev/sda 的卷分区为“0”(或者你可以将属性留空)。 |
|
|
readOnly 值 true 将强制 VolumeMounts 中的 readOnly 设置。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore |
|
|
volumeID 是 AWS(Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore |
azureDisk 表示主机上安装的 Azure 数据磁盘,并绑定安装到 Pod。
对象
diskName
diskURI
属性 | 类型 | 描述 |
---|---|---|
|
|
cachingMode 是主机缓存模式:None,Read Only,Read Write。 |
|
|
diskName 是 Blob 存储中数据磁盘的名称 |
|
|
diskURI 是 Blob 存储中数据磁盘的 URI |
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如。“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
kind 期望的值为 Shared:每个存储帐户多个 Blob 磁盘 Dedicated:每个存储帐户单个 Blob 磁盘 Managed:Azure 托管数据磁盘(仅在托管可用性集中)。默认为 shared |
|
|
readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
azureFile 表示主机上安装的 Azure 文件服务,并绑定安装到 Pod。
对象
secretName
shareName
属性 | 类型 | 描述 |
---|---|---|
|
|
readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretName 是包含 Azure 存储帐户名称和密钥的 Secret 的名称 |
|
|
shareName 是 Azure 共享名称 |
cephFS 表示主机上安装的 Ceph FS,它与 Pod 的生命周期共享
对象
monitors
属性 | 类型 | 描述 |
---|---|---|
|
|
monitors 是必需的:Monitors 是 Ceph 监视器的集合。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
path 是可选的:用作挂载的根目录,而不是完整的 Ceph 树,默认为 / |
|
|
readOnly 是可选的:默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
secretFile 是可选的:SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
secretRef 是可选的:SecretRef 是对用户身份验证 Secret 的引用,默认为空。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
|
user 是可选的:User 是 rados 用户名,默认为 admin。更多信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
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 不需要时删除 |
cinder 表示附加到 kubelet 主机并安装的 cinder 卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
|
|
readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
|
|
secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 Secret 对象。 |
|
|
volumeID 用于标识 Cinder 中的卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md |
secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 Secret 对象。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
configMap 表示一个应该填充此卷的 configMap
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 是可选的:默认情况下,用于设置创建文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
optional 指定是否必须定义 ConfigMap 或其键 |
items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
键
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。 |
csi(容器存储接口)表示由某些外部 CSI 驱动程序处理的临时存储(Beta 功能)。
对象
driver
属性 | 类型 | 描述 |
---|---|---|
|
|
driver 是处理此卷的 CSI 驱动程序的名称。请咨询你的管理员以获取在集群中注册的正确名称。 |
|
|
fsType 要挂载的文件系统类型。例如。“ext4”、“xfs”、“ntfs”。如果未提供,则将空值传递给关联的 CSI 驱动程序,该驱动程序将确定要应用的默认文件系统。 |
|
|
nodePublishSecretRef 是对包含敏感信息的 Secret 对象的引用,该信息将传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用。此字段是可选的,如果不需要 Secret,则可以为空。如果 Secret 对象包含多个 Secret,则会传递所有 Secret 引用。 |
|
|
readOnly 指定卷的只读配置。默认为 false(读/写)。 |
|
|
volumeAttributes 存储传递给 CSI 驱动程序的特定于驱动程序的属性。请查阅你的驱动程序的文档以获取支持的值。 |
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 不需要时删除 |
downwardAPI 表示关于 Pod 的向下 API,该 API 应该填充此卷
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:默认情况下,要在创建的文件上使用的模式位。必须是可选的:默认情况下,要在创建的文件上使用的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
Items 是向下 API 卷文件的列表 |
|
|
DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息 |
Items 是向下 API 卷文件的列表
数组
DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。 |
|
|
可选:用于设置此文件权限的模式位,必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
必需:Path 是要创建的文件的相对路径名称。不得是绝对路径或包含 '..' 路径。必须是 utf-8 编码。相对路径的第一项不得以 '..' 开头 |
|
|
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。 |
必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 编写的模式版本,默认为 “v1”。 |
|
|
要选择的指定 API 版本中字段的路径。 |
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷是必需的,环境变量是可选的 |
|
|
指定暴露资源的输出格式,默认为 “1” |
|
|
必需:要选择的资源 |
emptyDir 表示一个与 Pod 的生命周期共享的临时目录。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
medium 表示该目录应使用何种类型的存储介质。默认值为 "",表示使用节点的默认介质。必须为空字符串(默认)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
|
|
sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的 SizeLimit 值与 Pod 中所有容器的内存限制总和之间的最小值。默认值为 nil,表示未定义限制。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
ephemeral 表示一个由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 相关联 - 它将在 Pod 启动之前创建,并在删除 Pod 时删除。
如果以下情况,请使用此项:a) 仅当 Pod 运行时需要该卷;b) 需要常规卷的功能,如从快照还原或容量跟踪;c) 通过存储类指定存储驱动程序;d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷配置(有关此卷类型与 PersistentVolumeClaim 之间的连接的更多信息,请参阅 EphemeralVolumeSource)。
对于生命周期长于单个 Pod 的卷,请使用 PersistentVolumeClaim 或特定于供应商的 API 之一。
如果打算以这种方式使用 CSI 驱动程序,请使用 CSI 进行轻量级本地临时卷 - 有关更多信息,请参阅驱动程序的文档。
Pod 可以同时使用两种类型的临时卷和持久卷。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
将用于创建独立的 PVC 以配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是 Pod 将不会使用名称相同且不属于该 Pod 的现有 PVC,以避免错误地使用无关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果希望 Pod 使用这样预先创建的 PVC,则一旦 Pod 存在,必须使用对 Pod 的所有者引用更新该 PVC。通常这没有必要,但在手动重建损坏的集群时可能很有用。 此字段为只读,Kubernetes 在创建 PVC 后不会对其进行任何更改。 必需,不得为 nil。 |
将用于创建独立的 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
属性 | 类型 | 描述 |
---|---|---|
|
|
可能包含在创建 PVC 时复制到 PVC 中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。 |
|
|
PersistentVolumeClaim 的规范。整个内容将原封不动地复制到从此模板创建的 PVC 中。与 PersistentVolumeClaim 中相同的字段在此处也有效。 |
可能包含在创建 PVC 时复制到 PVC 中的标签和注释。不允许使用其他字段,并且在验证期间将被拒绝。
对象
PersistentVolumeClaim 的规范。整个内容将原封不动地复制到从此模板创建的 PVC 中。与 PersistentVolumeClaim 中相同的字段在此处也有效。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
dataSource 字段可用于指定以下任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 的内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 的内容将复制到 dataSource。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。 |
|
|
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 是声明所需的 StorageClass 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#class-1 |
|
|
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 定义了声明所需的卷类型。当声明规范中未包含 Filesystem 值时,则表示 Filesystem。 |
|
|
volumeName 是对此声明提供支持的 PersistentVolume 的绑定引用。 |
dataSource 字段可用于指定以下任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果 provisioner 或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。当启用 AnyVolumeDataSource 功能门时,dataSource 的内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 的内容将复制到 dataSource。如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。
对象
kind
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是引用的资源的组。如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,则需要 APIGroup。 |
|
|
Kind 是引用的资源的类型 |
|
|
Name 是引用的资源的名称 |
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,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,则需要 APIGroup。 |
|
|
Kind 是引用的资源的类型 |
|
|
Name 是引用的资源的名称 |
|
|
Namespace 是引用的资源的命名空间。请注意,当指定命名空间时,引用的命名空间中需要 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受引用。有关详细信息,请参阅 ReferenceGrant 文档。(Alpha) 此字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
resources 表示卷应具有的最小资源。如果启用 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#resources
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
|
|
Requests 描述了所需的最小计算资源量。如果省略容器的 Requests,则如果显式指定了 Limits,则默认为 Limits,否则默认为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/ |
selector 是对要考虑绑定的卷的标签查询。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
fc 表示一个连接到 kubelet 主机并随后暴露给 Pod 的光纤通道资源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。TODO:我们如何防止文件系统中的错误危及机器 |
|
|
lun 是可选的:FC 目标 lun 编号 |
|
|
readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
targetWWNs 是可选的:FC 目标全球名称 (WWN) |
|
|
wwids 是可选的:FC 卷全球标识符 (wwid)。必须设置 wwids 或 targetWWNs 和 lun 的组合,但不能同时设置两者。 |
flexVolume 表示使用基于 exec 的插件进行配置/连接的通用卷资源。
对象
driver
属性 | 类型 | 描述 |
---|---|---|
|
|
driver 是用于此卷的驱动程序的名称。 |
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认文件系统取决于 FlexVolume 脚本。 |
|
|
options 是可选的:此字段保存任何额外的命令选项。 |
|
|
readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretRef 是可选的:secretRef 是对包含要传递给插件脚本的敏感信息的 secret 对象的引用。如果未指定 secret 对象,则此项可以为空。如果 secret 对象包含多个 secret,则所有 secret 都会传递给插件脚本。 |
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 不需要时删除 |
flocker 表示一个连接到 kubelet 主机的 Flocker 卷。这取决于正在运行的 Flocker 控制服务
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
datasetName 是存储为元数据的名称的数据集名称 → Flocker 的数据集名称应被视为已弃用 |
|
|
datasetUUID 是数据集的 UUID。这是 Flocker 数据集的唯一标识符 |
gcePersistentDisk 表示一个附加到 kubelet 主机并随后暴露给 Pod 的 GCE 磁盘资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk
对象
pdName
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是您要挂载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk TODO:我们如何防止文件系统中的错误损害机器 |
|
|
partition 是您要挂载的卷中的分区。如果省略,则默认按卷名称挂载。示例:对于卷 /dev/sda1,您将分区指定为“1”。类似地,/dev/sda 的卷分区是“0”(或者您可以将该属性留空)。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
|
|
pdName 是 GCE 中 PD 资源的唯一名称。用于在 GCE 中标识磁盘。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
|
|
readOnly 此处将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk |
gitRepo 表示特定修订版的 git 存储库。已弃用:GitRepo 已弃用。要使用 git 存储库配置容器,请将 EmptyDir 安装到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 安装到 Pod 的容器中。
对象
repository
属性 | 类型 | 描述 |
---|---|---|
|
|
directory 是目标目录名称。不能包含或以 '..' 开头。如果提供 '.',则卷目录将是 git 存储库。否则,如果指定,则卷将在给定名称的子目录中包含 git 存储库。 |
|
|
repository 是 URL |
|
|
revision 是指定修订的提交哈希值。 |
glusterfs 代表主机上的 Glusterfs 挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md
对象
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 此处将强制以只读权限挂载 Glusterfs 卷。默认为 false。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
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 |
iscsi 代表一个附加到 kubelet 主机并暴露给 Pod 的 ISCSI 磁盘资源。更多信息:https://examples.k8s.io/volumes/iscsi/README.md
对象
iqn
lun
targetPortal
属性 | 类型 | 描述 |
---|---|---|
|
|
chapAuthDiscovery 定义是否支持 iSCSI 发现 CHAP 身份验证 |
|
|
chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证 |
|
|
fsType 是您要挂载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#iscsi TODO:我们如何防止文件系统中的错误损害机器 |
|
|
initiatorName 是自定义 iSCSI 发起程序名称。如果 initiatorName 与 iscsiInterface 同时指定,则将为连接创建新的 iSCSI 接口 <目标门户>:<卷名称>。 |
|
|
iqn 是目标 iSCSI 限定名称。 |
|
|
iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default' (tcp)。 |
|
|
lun 表示 iSCSI 目标 LUN 号。 |
|
|
portals 是 iSCSI 目标门户列表。如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
|
|
readOnly 此处将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。 |
|
|
secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP 密钥 |
|
|
targetPortal 是 iSCSI 目标门户。如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP 密钥
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
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 此处将强制以只读权限挂载 NFS 导出。默认为 false。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
|
|
server 是 NFS 服务器的主机名或 IP 地址。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs |
persistentVolumeClaimVolumeSource 代表对同一命名空间中的 PersistentVolumeClaim 的引用。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
对象
claimName
属性 | 类型 | 描述 |
---|---|---|
|
|
claimName 是与使用此卷的 Pod 位于同一命名空间中的 PersistentVolumeClaim 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
readOnly 将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。 |
photonPersistentDisk 代表一个附加并挂载到 kubelets 主机上的 PhotonController 持久磁盘
对象
pdID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
pdID 是标识 Photon Controller 持久磁盘的 ID |
portworxVolume 代表一个附加并挂载到 kubelets 主机上的 portworx 卷
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fSType 表示要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
|
|
volumeID 唯一标识 Portworx 卷 |
用于将所有资源(secrets,configmaps 和 downward API)合并的 projected 项目
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 是用于默认设置所创建文件权限的模式位。必须是 0000 到 0777 之间的八进制值,或者是 0 到 511 之间的十进制值。YAML 接受八进制值和十进制值,JSON 要求模式位使用十进制值。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能是设置了其他模式位。 |
|
|
sources 是卷投影列表 |
|
|
可以与其他支持的卷类型一起投影的投影 |
sources 是卷投影列表
数组
可以与其他支持的卷类型一起投影的投影
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ClusterTrustBundle 允许 Pod 访问自动更新的文件中 ClusterTrustBundle 对象的 Alpha,由 ClusterTrustBundleProjection 功能门控制。 ClusterTrustBundle 对象可以通过名称选择,也可以通过签名者名称和标签选择器的组合选择。 Kubelet 对写入 Pod 文件系统中的 PEM 内容执行积极的规范化。将删除诸如块间注释和块头之类的深奥 PEM 功能。证书将被去重。文件中证书的顺序是任意的,并且 Kubelet 可能会随着时间的推移更改顺序。 |
|
|
configMap 关于要投影的 configMap 数据的信息 |
|
|
downwardAPI 关于要投影的 downwardAPI 数据的信息 |
|
|
secret 关于要投影的 secret 数据的信息 |
|
|
serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息 |
ClusterTrustBundle 允许 Pod 访问自动更新的文件中 ClusterTrustBundle 对象的 .spec.trustBundle
字段。
Alpha,由 ClusterTrustBundleProjection 功能门控制。
ClusterTrustBundle 对象可以通过名称选择,也可以通过签名者名称和标签选择器的组合选择。
Kubelet 对写入 Pod 文件系统中的 PEM 内容执行积极的规范化。将删除诸如块间注释和块头之类的深奥 PEM 功能。证书将被去重。文件中证书的顺序是任意的,并且 Kubelet 可能会随着时间的推移更改顺序。
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
选择与此标签选择器匹配的所有 ClusterTrustBundle。仅当设置了 signerName 时才生效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置但为空,则解释为“匹配所有内容”。 |
|
|
按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 互斥。 |
|
|
如果为 true,则如果引用的 ClusterTrustBundle 不可用,则不要阻止 Pod 启动。如果使用 name,则允许不存在命名的 ClusterTrustBundle。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零个 ClusterTrustBundle。 |
|
|
从卷根写入捆绑包的相对路径。 |
|
|
选择与此签名者名称匹配的所有 ClusterTrustBundle。与 name 互斥。所有选定的 ClusterTrustBundle 的内容将被统一和去重。 |
选择与此标签选择器匹配的所有 ClusterTrustBundle。仅当设置了 signerName 时才生效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置但为空,则解释为“匹配所有内容”。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
configMap 关于要投影的 configMap 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
optional 指定是否必须定义 ConfigMap 或其键 |
items 如果未指定,则引用的 ConfigMap 的 Data 字段中的每个键值对都将作为文件投影到卷中,文件的名称是键,内容是值。如果指定,则列出的键将投影到指定的路径中,并且不会出现未列出的键。如果指定的键在 ConfigMap 中不存在,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
键
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。 |
downwardAPI 关于要投影的 downwardAPI 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Items 是 DownwardAPIVolume 文件的列表 |
|
|
DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息 |
Items 是 DownwardAPIVolume 文件的列表
数组
DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。 |
|
|
可选:用于设置此文件权限的模式位,必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
必需:Path 是要创建的文件的相对路径名称。不得是绝对路径或包含 '..' 路径。必须是 utf-8 编码。相对路径的第一项不得以 '..' 开头 |
|
|
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。 |
必需:选择 Pod 的字段:仅支持 annotations、labels、name、namespace 和 uid。
对象
fieldPath
属性 | 类型 | 描述 |
---|---|---|
|
|
FieldPath 编写的模式版本,默认为 “v1”。 |
|
|
要选择的指定 API 版本中字段的路径。 |
选择容器的资源:目前仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
对象
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
容器名称:卷是必需的,环境变量是可选的 |
|
|
指定暴露资源的输出格式,默认为 “1” |
|
|
必需:要选择的资源 |
secret 关于要投影的 secret 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
optional 字段指定是否必须定义 Secret 或其键 |
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
键
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。 |
serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息
对象
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
audience 是令牌的预期受众。令牌的接收者必须使用令牌的受众中指定的标识符标识自己,否则应拒绝该令牌。受众默认为 apiserver 的标识符。 |
|
|
expirationSeconds 是服务帐户令牌的请求有效时长。当令牌接近过期时,kubelet 卷插件将主动轮换服务帐户令牌。如果令牌的使用时间超过其生存时间的 80% 或令牌的使用时间超过 24 小时,kubelet 将开始尝试轮换令牌。默认为 1 小时,且必须至少为 10 分钟。 |
|
|
path 是相对于文件挂载点将令牌投影到的路径。 |
quobyte 代表主机上的 Quobyte 挂载点,其生命周期与 Pod 共享
对象
registry
volume
属性 | 类型 | 描述 |
---|---|---|
|
|
将卷访问映射到的组。默认为无组 |
|
|
这里的 readOnly 将强制 Quobyte 卷以只读权限挂载。默认为 false。 |
|
|
registry 表示作为 host:port 对的字符串指定的单个或多个 Quobyte Registry 服务(多个条目用逗号分隔),它充当卷的中央注册表 |
|
|
在后端拥有给定 Quobyte 卷的租户。与动态配置的 Quobyte 卷一起使用,值由插件设置 |
|
|
将卷访问映射到的用户。默认为服务帐户用户 |
|
|
volume 是一个字符串,通过名称引用已创建的 Quobyte 卷。 |
rbd 代表主机上的 Rados 块设备挂载点,其生命周期与 Pod 共享。更多信息:https://examples.k8s.io/volumes/rbd/README.md
对象
image
monitors
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是你要挂载的卷的文件系统类型。提示:确保主机操作系统支持文件系统类型。示例:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#rbd TODO:我们如何防止文件系统中的错误损害机器 |
|
|
image 是 rados 映像名称。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
keyring 是 RBDUser 的密钥环路径。默认值为 /etc/ceph/keyring。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
monitors 是 Ceph 监视器的集合。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
pool 是 rados 池名称。默认值为 rbd。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
这里的 readOnly 将强制 VolumeMounts 中的 ReadOnly 设置。默认为 false。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
secretRef 是 RBDUser 的身份验证密钥的名称。如果提供,则会覆盖密钥环。默认值为 nil。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
|
user 是 rados 用户名。默认值为 admin。更多信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
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 不需要时删除 |
scaleIO 代表一个附加并挂载到 Kubernetes 节点上的 ScaleIO 持久卷。
对象
gateway
secretRef
system
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。默认值为“xfs”。 |
|
|
gateway 是 ScaleIO API 网关的主机地址。 |
|
|
protectionDomain 是配置的存储的 ScaleIO 保护域的名称。 |
|
|
readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果未提供此项,则登录操作将失败。 |
|
|
sslEnabled 标志启用/禁用与网关的 SSL 通信,默认为 false |
|
|
storageMode 指示卷的存储应该是 ThickProvisioned 还是 ThinProvisioned。默认值为 ThinProvisioned。 |
|
|
storagePool 是与保护域关联的 ScaleIO 存储池。 |
|
|
system 是在 ScaleIO 中配置的存储系统的名称。 |
|
|
volumeName 是在 ScaleIO 系统中已创建的、与此卷源关联的卷的名称。 |
secretRef 引用 ScaleIO 用户和其他敏感信息的密钥。如果未提供此项,则登录操作将失败。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
secret 代表一个应填充此卷的 Secret。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 是可选的:用于设置默认情况下创建的文件的权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要十进制值作为模式位。默认为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup)冲突,并且结果可能是设置了其他模式位。 |
|
|
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
optional 字段指定是否必须定义 Secret 或其键 |
|
|
secretName 是要使用的 pod 命名空间中的 Secret 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret |
如果未指定 items,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其中文件名是键,内容是值。如果指定了 items,则列出的键将投影到指定的路径,并且未列出的键将不会出现。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对路径,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
键
路径
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 是可选的:用于设置此文件权限的模式位。必须是介于 0000 和 0777 之间的八进制值或介于 0 和 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果未指定,将使用卷 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素“..”。不能以字符串“..”开头。 |
storageOS 代表一个附加并挂载到 Kubernetes 节点上的 StorageOS 卷。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
readOnly 默认为 false(读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
|
|
secretRef 指定用于获取 StorageOS API 凭据的密钥。如果未指定,将尝试默认值。 |
|
|
volumeName 是 StorageOS 卷的人可读名称。卷名称在命名空间内是唯一的。 |
|
|
volumeNamespace 指定 StorageOS 中卷的范围。如果未指定命名空间,则将使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称作用域以实现更紧密的集成。将 VolumeName 设置为任何名称以覆盖默认行为。如果不在 StorageOS 中使用命名空间,则设置为“default”。在 StorageOS 中不存在的命名空间将被创建。 |
secretRef 指定用于获取 StorageOS API 凭据的密钥。如果未指定,将尝试默认值。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类型实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion,kind,uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
vsphereVolume 代表一个附加并挂载到 kubelets 主机上的 vSphere 卷
对象
volumePath
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
storagePolicyID 是与 StoragePolicyName 关联的基于存储策略的管理 (SPBM) 配置文件 ID。 |
|
|
storagePolicyName 是基于存储策略的管理 (SPBM) 配置文件名称。 |
|
|
volumePath 是标识 vSphere 卷 vmdk 的路径 |
StrategyDeploymentPermissions 描述了安装策略所需的 rbac 规则和服务帐户
对象
规则
serviceAccountName
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。 |
|
|
PolicyRule 保存描述策略规则的信息,但不包含有关该规则适用于谁或该规则适用于哪个命名空间的信息。
对象
动词
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroups 是包含资源的 APIGroup 的名称。如果指定了多个 API 组,则允许针对任何 API 组中枚举的资源之一请求的任何操作。“”表示核心 API 组,“*”表示所有 API 组。 |
|
|
NonResourceURLs 是用户应该有权访问的一组部分 URL。允许使用 *,但只能作为路径中的完整最后一步。由于非资源 URL 没有命名空间,因此此字段仅适用于从 ClusterRoleBinding 引用的 ClusterRole。规则可以应用于 API 资源(例如“pod”或“secret”)或非资源 URL 路径(例如“/api”),但不能同时应用两者。 |
|
|
ResourceNames 是规则适用的名称的可选白名单。空集表示允许所有内容。 |
|
|
Resources 是此规则适用的资源列表。“*”表示所有资源。 |
|
|
Verbs 是适用于此规则中包含的所有 ResourceKinds 的 Verbs 列表。“*”表示所有动词。 |
InstallMode 将 InstallModeType 与一个标志关联,该标志表示 CSV 是否支持该类型
对象
supported
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
InstallModeType 是 CSV 安装支持的安装模式类型 |
GroupVersionKind 明确标识一种类型。它不会匿名包含 GroupVersion 以避免自动强制转换。它不使用 GroupVersion 以避免自定义编组
对象
组
kind
版本
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
列出您的运算符可能需要执行其功能的任何相关映像或其他容器映像。此列表还应包括操作数映像。所有映像引用都应通过摘要 (SHA) 而不是标签指定。此字段仅在目录创建期间使用,在集群运行时不起作用。
数组
相关资源的标签选择器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
WebhookDescription 向 OLM 提供有关所需 Webhook 的详细信息
对象
admissionReviewVersions
generateName
sideEffects
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FailurePolicyType 指定一个失败策略,该策略定义如何处理来自准入端点的未识别错误。 |
|
|
|
|
|
MatchPolicyType 指定匹配策略的类型。 |
|
|
标签选择器是对一组资源的标签查询。matchLabels 和 matchExpressions 的结果是 AND 的。一个空的标签选择器匹配所有对象。一个空的标签选择器不匹配任何对象。 |
|
|
ReinvocationPolicyType 指定准入钩子使用的策略类型。 |
|
|
|
|
|
RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。 |
|
|
SideEffectClass 指定 webhook 可能具有的副作用类型。 |
|
|
|
|
|
|
|
|
WebhookAdmissionType 是 OLM 支持的准入 webhook 的类型 |
|
|
标签选择器是对一组资源的标签查询。matchLabels 和 matchExpressions 的结果是 AND 的。一个空的标签选择器匹配所有对象。一个空的标签选择器不匹配任何对象。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。 |
|
|
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,该元素的键字段为“key”,运算符为“In”,并且值数组仅包含“value”。这些要求是 ANDed。 |
matchExpressions 是标签选择器要求列表。这些要求是 ANDed。
数组
标签选择器要求是一个包含值、键和将键和值关联起来的运算符的选择器。
对象
键
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
运算符表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
值是一个字符串值数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组在策略合并补丁期间被替换。 |
RuleWithOperations 是 Operations 和 Resources 的元组。建议确保所有元组扩展都有效。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroups 是资源所属的 API 组。'' 代表所有组。如果存在 '',则切片的长度必须为 1。必需。 |
|
|
APIVersions 是资源所属的 API 版本。'' 代表所有版本。如果存在 '',则切片的长度必须为 1。必需。 |
|
|
Operations 是准入钩子关心的操作 - CREATE、UPDATE、DELETE、CONNECT 或 * 代表所有这些操作以及将来添加的任何准入操作。如果存在 '*',则切片的长度必须为 1。必需。 |
|
|
Resources 是此规则适用的资源列表。 例如:'pods' 表示 pods。'pods/log' 表示 pods 的日志子资源。'' 表示所有资源,但不包括子资源。'pods/' 表示 pods 的所有子资源。'/scale' 表示所有 scale 子资源。'/*' 表示所有资源及其子资源。 如果存在通配符,则验证规则将确保资源之间不重叠。 根据封闭对象,可能不允许使用子资源。必需。 |
|
|
scope 指定此规则的作用域。有效值为“Cluster”、“Namespaced”和“”。“Cluster”表示只有集群范围的资源才会匹配此规则。命名空间 API 对象是集群范围的。“Namespaced”表示只有命名空间资源才会匹配此规则。“”表示没有作用域限制。子资源匹配其父资源的作用域。默认为“*”。 |
ClusterServiceVersionStatus 表示有关 CSV 状态的信息。状态可能滞后于系统的实际状态。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
上次更新拥有的 APIService 证书的时间 |
|
|
下次轮换拥有的 APIService 证书的时间 |
|
|
CleanupStatus 表示 CSV 待删除时有关清理状态的信息 |
|
|
条件列表,状态转换的历史记录 |
|
|
条件以 ClusterServiceVersion 上的状态转换记录的形式出现在状态中 |
|
|
状态上次从一个状态转换到另一个状态的时间。 |
|
|
我们上次更新状态的时间 |
|
|
一条人类可读的消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。 |
|
|
ClusterServiceVersion 的当前状态 |
|
|
一条简短的 CamelCase 消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。例如“RequirementsNotMet” |
|
|
此 CSV 的每个要求的状态 |
|
|
CleanupStatus 表示 CSV 待删除时有关清理状态的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
PendingDeletion 是待删除且被终结器阻止的自定义资源对象列表。这表示阻止 CSV 删除或运算符卸载的清理进度。 |
|
|
ResourceList 表示属于同一 Group/Kind 的资源列表 |
PendingDeletion 是待删除且被终结器阻止的自定义资源对象列表。这表示阻止 CSV 删除或运算符卸载的清理进度。
数组
ResourceList 表示属于同一 Group/Kind 的资源列表
对象
组
instances
kind
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
对象
名称
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
对于集群范围的资源,Namespace 可以为空 |
条件以 ClusterServiceVersion 上的状态转换记录的形式出现在状态中
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
状态上次从一个状态转换到另一个状态的时间。 |
|
|
我们上次更新状态的时间 |
|
|
一条人类可读的消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。 |
|
|
ClusterServiceVersion 的条件 |
|
|
一条简短的 CamelCase 消息,指示有关 ClusterServiceVersion 为此状态的原因的详细信息。例如“RequirementsNotMet” |
以下 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 的状态
GET
列出 ClusterServiceVersion 类型的对象
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 ClusterServiceVersion 的集合
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 ClusterServiceVersion 类型的对象
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 ClusterServiceVersion
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
ClusterServiceVersion 的名称 |
DELETE
删除一个 ClusterServiceVersion
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 ClusterServiceVersion
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 ClusterServiceVersion
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 ClusterServiceVersion
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
ClusterServiceVersion 的名称 |
GET
读取指定的 ClusterServiceVersion 的状态
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 ClusterServiceVersion 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 ClusterServiceVersion 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并且将忽略解码器遇到的除最后一个重复字段之外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为从对象中删除的每个未知字段以及遇到的每个重复字段发送警告。如果不存在其他错误,请求仍将成功,并且只会持久化任何重复字段的最后一个字段。这是 v1.23+ 中的默认值 - Strict:如果从对象中删除任何未知字段或存在任何重复字段,这将导致请求失败,并出现 BadRequest 错误。服务器返回的错误将包含遇到的所有未知字段和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应主体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |