ThanosRuler 定义了一个 ThanosRuler 部署。
ThanosRuler 定义了一个 ThanosRuler 部署。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象代表的 REST 资源。服务器可以从客户端提交请求的端点推断出此值。不可更新。采用 CamelCase 形式。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
ThanosRuler 集群所需行为的规范。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
|
|
ThanosRuler 集群最近观察到的状态。只读。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
AdditionalArgs 允许为 ThanosRuler 容器设置额外的参数。它旨在用于例如激活尚未被专用配置选项支持的隐藏标志。这些参数按原样传递给 ThanosRuler 容器,如果它们无效或给定 ThanosRuler 版本不支持,可能会导致问题。如果出现参数冲突(例如,操作员本身已设置的参数)或提供无效参数时,协调将失败并记录错误。 |
|
|
作为 AdditionalArgs 列表一部分的参数。 |
|
|
如果指定,则为 pod 的调度约束。 |
|
|
AlertDropLabels 配置应在 ThanosRuler 警报中删除的标签名称。副本标签 |
|
|
Thanos Ruler 将在所有警报的“Source”字段中设置的外部查询 URL。映射到 '--alert.query-url' CLI 参数。 |
|
|
AlertRelabelConfigFile 指定警报重新标记配置文件的路径。当与 AlertRelabelConfigs 一起使用时,alertRelabelConfigFile 优先。 |
|
|
AlertRelabelConfigs 在 ThanosRuler 中配置警报重新标记。警报重新标记配置必须具有官方 Prometheus 文档中指定的格式:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs 是 AlertRelabelConfigFile 的替代方案,优先级较低。 |
|
|
定义连接到 Alertmanager 的配置。仅在 thanos v0.10.0 及更高版本中可用。映射到 |
|
|
定义将警报发送到 Alertmanager 的 URL。对于 Thanos v0.10.0 及更高版本,应使用 AlertManagersConfig 代替。注意:如果指定了 AlertManagersConfig,则将忽略此字段。映射到 |
|
|
Containers 允许注入额外的容器或修改 Operator 生成的容器。这可以用来允许向 ThanosRuler pod 添加身份验证代理,或者更改 Operator 生成的容器的行为。此处描述的容器如果共享相同的名称,则会修改 Operator 生成的容器,并且修改是通过策略性合并补丁完成的。当前的容器名称是: |
|
|
您希望在 pod 内运行的单个应用程序容器。 |
|
|
EnforcedNamespaceLabel 强制为每个用户创建的警报和指标添加一个源命名空间标签。标签值将始终是要创建的对象的命名空间。 |
|
|
连续评估之间的时间间隔。 |
|
|
要从强制添加源命名空间标签中排除的 PrometheusRule 对象引用列表。仅当 enforcedNamespaceLabel 设置为 true 时适用。 |
|
|
ObjectReference 引用 PodMonitor、ServiceMonitor、Probe 或 PrometheusRule 对象。 |
|
|
Thanos Ruler 实例可用的外部 URL。这是生成正确 URL 所必需的。如果 Thanos Ruler 不是从 DNS 名称的根目录提供的,则这是必需的。 |
|
|
GRPCServerTLSConfig 配置 Thanos Querier 从中读取记录的规则数据的 gRPC 服务器。注意:目前仅支持 CAFile、CertFile 和 KeyFile 字段。映射到 '--grpc-server-tls-*' 命令行参数。 |
|
|
Pod 的 hostAliases 配置 |
|
|
HostAlias 保存 IP 和主机名之间的映射,该映射将作为条目注入到 pod 的 hosts 文件中。 |
|
|
Thanos 容器镜像 URL。 |
|
|
用于 'thanos'、'init-config-reloader' 和 'config-reloader' 容器的镜像拉取策略。有关更多详细信息,请参阅 https://kubernetes.ac.cn/docs/concepts/containers/images/#image-pull-policy。 |
|
|
同一命名空间中用于从注册表拉取 thanos 镜像的可选 secret 引用列表,请参阅 https://kubernetes.ac.cn/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod |
|
|
LocalObjectReference 包含足够的信息,以便您可以在同一命名空间内找到引用的对象。 |
|
|
InitContainers 允许向 pod 定义添加 initContainers。这些可以用来例如从外部源获取 secret 以注入到 ThanosRuler 配置中。initContainer 执行期间的任何错误都将导致 Pod 重新启动。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ 将 initContainers 用于 secret 获取以外的任何用例完全不在维护者支持的范围内,这样做,您接受此行为可能随时中断,恕不另行通知。 |
|
|
您希望在 pod 内运行的单个应用程序容器。 |
|
|
标签配置 ThanosRuler 的外部标签对。默认副本标签 |
|
|
ListenLocal 使 Thanos ruler 监听回环,使其不绑定到 Pod IP。 |
|
|
ThanosRuler 要配置的日志格式。 |
|
|
ThanosRuler 要配置的日志级别。 |
|
|
新创建的 pod 在其任何容器崩溃之前应保持就绪的最小秒数,才被视为可用。默认为 0(pod 将在就绪后立即被视为可用)。这是 kubernetes 1.22 到 1.24 的一个 alpha 字段,需要启用 StatefulSetMinReadySeconds 功能门。 |
|
|
定义 Pod 计划在哪些节点上。 |
|
|
ObjectStorageConfig 配置 Thanos 中的对象存储。是 ObjectStorageConfigFile 的替代方案,且优先级较低。 |
|
|
ObjectStorageConfigFile 指定对象存储配置文件的路径。当与 ObjectStorageConfig 一起使用时,ObjectStorageConfigFile 优先。 |
|
|
当 ThanosRuler 部署被暂停时,除了删除之外,不会对底层对象执行任何操作。 |
|
|
PodMetadata 配置传播到 ThanosRuler pod 的标签和注解。 以下项目是保留的,不能被覆盖:* “app.kubernetes.io/name” 标签,设置为“thanos-ruler”。* “app.kubernetes.io/managed-by” 标签,设置为“prometheus-operator”。* “app.kubernetes.io/instance” 标签,设置为 ThanosRuler 实例的名称。* “thanos-ruler” 标签,设置为 ThanosRuler 实例的名称。* “kubectl.kubernetes.io/default-container” 注解,设置为“thanos-ruler”。 |
|
|
用于 pod 和管理服务的端口名称。默认为 |
|
|
分配给 Pod 的优先级类 |
|
|
PrometheusRulesExcludedFromEnforce - 要从强制添加命名空间标签中排除的 Prometheus 规则列表。仅当 enforcedNamespaceLabel 设置为 true 时才有效。确保为每一对都设置了 ruleNamespace 和 ruleName。已弃用:请改用 excludedFromEnforcement。 |
|
|
PrometheusRuleExcludeConfig 允许用户配置要忽略的排除的 PrometheusRule 名称及其命名空间,同时强制为警报和指标添加命名空间标签。 |
|
|
定义连接到 thanos 查询实例的配置。如果定义了此项,则将忽略 QueryEndpoints 字段。映射到 |
|
|
QueryEndpoints 定义了从中查询指标的 Thanos 查询器端点。映射到 thanos ruler 的 --query 标志。 |
|
|
要部署的 thanos ruler 实例数。 |
|
|
Resources 定义单个 Pod 的资源需求。如果未提供,则不会设置请求/限制 |
|
|
ThanosRuler 应保留数据的时间长度。默认值为“24h”,并且必须匹配正则表达式 |
|
|
ThanosRuler 为其注册 HTTP 处理程序的路由前缀。这允许在子路径上提供 thanos UI。 |
|
|
要选择用于规则发现的命名空间。如果未指定,则仅使用与 ThanosRuler 对象所在的命名空间相同的命名空间。 |
|
|
用于选择要挂载以进行警报和记录的 PrometheusRules 的标签选择器。 |
|
|
SecurityContext 保存 pod 级别的安全属性和通用容器设置。这默认为默认的 PodSecurityContext。 |
|
|
ServiceAccountName 是用于运行 Thanos Ruler Pod 的 ServiceAccount 的名称。 |
|
|
用于指定如何使用存储的存储规范。 |
|
|
如果指定,则为 pod 的容忍度。 |
|
|
附加此 Toleration 的 pod 可以容忍任何匹配 |
|
|
如果指定,则为 pod 的拓扑分布约束。 |
|
|
TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。 |
|
|
TracingConfig 配置 Thanos 中的跟踪。
这是一个实验性功能,它可能会在任何即将发布的版本中以中断的方式更改。 |
|
|
TracingConfig 指定跟踪配置文件的路径。 此字段优先于 这是一个实验性功能,它可能会在任何即将发布的版本中以中断的方式更改。 |
|
|
要部署的 Thanos 版本。 |
|
|
VolumeMounts 允许在输出 StatefulSet 定义上配置额外的 VolumeMounts。指定的 VolumeMounts 将附加到 ruler 容器中的其他 VolumeMounts,这些 VolumeMounts 是作为 StorageSpec 对象的结果生成的。 |
|
|
VolumeMount 描述容器内 Volume 的挂载。 |
|
|
Volumes 允许在输出 StatefulSet 定义上配置额外的卷。指定的卷将附加到作为 StorageSpec 对象的结果生成的其他卷。 |
|
|
Volume 表示 pod 中任何容器都可以访问的命名卷。 |
|
|
定义 ThanosRuler Web 服务器的配置。 |
AdditionalArgs 允许为 ThanosRuler 容器设置额外的参数。它旨在用于例如激活尚未被专用配置选项支持的隐藏标志。这些参数按原样传递给 ThanosRuler 容器,如果它们无效或给定 ThanosRuler 版本不支持,可能会导致问题。如果出现参数冲突(例如,操作员本身已设置的参数)或提供无效参数时,协调将失败并记录错误。
数组
作为 AdditionalArgs 列表一部分的参数。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
参数的名称,例如 "scrape.discovery-reload-interval"。 |
|
|
参数值,例如 30s。对于仅限名称的参数(例如 --storage.tsdb.no-lockfile),可以为空 |
如果指定,则为 pod 的调度约束。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
描述 pod 的节点亲和性调度规则。 |
|
|
描述 pod 亲和性调度规则(例如,将此 pod 与某些其他 pod(s) 定位在同一节点、区域等)。 |
|
|
描述 pod 反亲和性调度规则(例如,避免将此 pod 与某些其他 pod(s) 放置在同一节点、区域等)。 |
描述 pod 的节点亲和性调度规则。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度器会倾向于将 Pod 调度到满足此字段指定的亲和性表达式的节点,但也可能会选择违反一个或多个表达式的节点。最倾向的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加 “weight” 到总和来计算总和,如果该节点与相应的 matchExpressions 匹配;总和最高的节点是最倾向的节点。 |
|
|
一个空的偏好调度项匹配所有对象,隐式权重为 0(即,它是无操作)。一个空的偏好调度项不匹配任何对象(即,也是一个无操作)。 |
|
|
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在此 Pod 执行期间的某个时刻(例如,由于更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。 |
调度器会倾向于将 Pod 调度到满足此字段指定的亲和性表达式的节点,但也可能会选择违反一个或多个表达式的节点。最倾向的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加 “weight” 到总和来计算总和,如果该节点与相应的 matchExpressions 匹配;总和最高的节点是最倾向的节点。
数组
一个空的偏好调度项匹配所有对象,隐式权重为 0(即,它是无操作)。一个空的偏好调度项不匹配任何对象(即,也是一个无操作)。
对象
preference
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
与相应权重关联的节点选择器项。 |
|
|
与匹配相应的 nodeSelectorTerm 关联的权重,范围为 1-100。 |
与相应权重关联的节点选择器项。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
按节点的标签列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
按节点的字段列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
按节点的标签列出的节点选择器要求列表。
数组
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在战略合并修补期间被替换。 |
按节点的字段列出的节点选择器要求列表。
数组
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在战略合并修补期间被替换。 |
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在此 Pod 执行期间的某个时刻(例如,由于更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。
对象
nodeSelectorTerms
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。节点选择器项的列表。这些项是 OR 的关系。 |
|
|
一个空或空的节点选择器项不匹配任何对象。它们的要求是 AND 的关系。 TopologySelectorTerm 类型实现了 NodeSelectorTerm 的一个子集。 |
必需。节点选择器项的列表。这些项是 OR 的关系。
数组
一个空或空的节点选择器项不匹配任何对象。它们的要求是 AND 的关系。 TopologySelectorTerm 类型实现了 NodeSelectorTerm 的一个子集。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
按节点的标签列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
按节点的字段列出的节点选择器要求列表。 |
|
|
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
按节点的标签列出的节点选择器要求列表。
数组
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在战略合并修补期间被替换。 |
按节点的字段列出的节点选择器要求列表。
数组
节点选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
选择器应用到的标签键。 |
|
|
表示键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。 |
|
|
字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。如果运算符为 Gt 或 Lt,则 values 数组必须只有一个元素,该元素将被解释为整数。此数组在战略合并修补期间被替换。 |
描述 pod 亲和性调度规则(例如,将此 pod 与某些其他 pod(s) 定位在同一节点、区域等)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度器会倾向于将 Pod 调度到满足此字段指定的亲和性表达式的节点,但也可能会选择违反一个或多个表达式的节点。最倾向的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加 “weight” 到总和来计算总和,如果该节点拥有匹配相应 podAffinityTerm 的 Pod;总和最高的节点是最倾向的节点。 |
|
|
所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最倾向的节点。 |
|
|
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在此 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。当有多个元素时,与每个 podAffinityTerm 对应的节点列表会取交集,即,必须满足所有项。 |
|
|
定义一组 Pod(即,那些相对于给定命名空间匹配 labelSelector 的 Pod),此 Pod 应该与这些 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 <topologyKey> 的值与 Pod 集合中任何 Pod 运行所在的节点的标签值匹配的节点上。 |
调度器会倾向于将 Pod 调度到满足此字段指定的亲和性表达式的节点,但也可能会选择违反一个或多个表达式的节点。最倾向的节点是权重总和最大的节点,即对于每个满足所有调度要求的节点(资源请求、requiredDuringScheduling 亲和性表达式等),通过迭代此字段的元素并添加 “weight” 到总和来计算总和,如果该节点拥有匹配相应 podAffinityTerm 的 Pod;总和最高的节点是最倾向的节点。
数组
所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最倾向的节点。
对象
podAffinityTerm
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。与相应权重关联的 Pod 亲和性项。 |
|
|
与匹配相应的 podAffinityTerm 关联的权重,范围为 1-100。 |
必需。与相应权重关联的 Pod 亲和性项。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。 |
|
|
MatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定了该项应用到的命名空间名称的静态列表。该项应用于此字段中列出的命名空间和由 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空的 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 topologyKey 的值与任何选定 Pod 运行所在的节点的标签值匹配的节点上。不允许使用空的 topologyKey。 |
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
如果在调度时未满足此字段指定的亲和性要求,则 Pod 将不会被调度到该节点上。如果在此 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新)不再满足此字段指定的亲和性要求,则系统可能会或可能不会尝试最终将 Pod 从其节点驱逐。当有多个元素时,与每个 podAffinityTerm 对应的节点列表会取交集,即,必须满足所有项。
数组
定义一组 Pod(即,那些相对于给定命名空间匹配 labelSelector 的 Pod),此 Pod 应该与这些 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 <topologyKey> 的值与 Pod 集合中任何 Pod 运行所在的节点的标签值匹配的节点上。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。 |
|
|
MatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定了该项应用到的命名空间名称的静态列表。该项应用于此字段中列出的命名空间和由 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空的 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 topologyKey 的值与任何选定 Pod 运行所在的节点的标签值匹配的节点上。不允许使用空的 topologyKey。 |
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
描述 pod 反亲和性调度规则(例如,避免将此 pod 与某些其他 pod(s) 放置在同一节点、区域等)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
调度器会优先将 Pod 调度到满足此字段指定的反亲和性表达式的节点上,但它也可能会选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的节点,通过迭代此字段的元素并添加 “weight” 到总和来计算总和,如果节点具有与相应 podAffinityTerm 匹配的 Pod;总和最高的节点是最优先的。 |
|
|
所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最倾向的节点。 |
|
|
如果在调度时未满足此字段指定的反亲和性要求,则不会将 Pod 调度到该节点上。如果在此 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新),此字段指定的反亲和性要求不再满足,则系统可能会也可能不会尝试最终从其节点驱逐该 Pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表会相交,即必须满足所有条件。 |
|
|
定义一组 Pod(即,那些相对于给定命名空间匹配 labelSelector 的 Pod),此 Pod 应该与这些 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 <topologyKey> 的值与 Pod 集合中任何 Pod 运行所在的节点的标签值匹配的节点上。 |
调度器会优先将 Pod 调度到满足此字段指定的反亲和性表达式的节点上,但它也可能会选择违反一个或多个表达式的节点。最优先的节点是权重总和最大的节点,即对于每个满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的节点,通过迭代此字段的元素并添加 “weight” 到总和来计算总和,如果节点具有与相应 podAffinityTerm 匹配的 Pod;总和最高的节点是最优先的。
数组
所有匹配的 WeightedPodAffinityTerm 字段的权重都会按节点相加,以找到最倾向的节点。
对象
podAffinityTerm
weight
属性 | 类型 | 描述 |
---|---|---|
|
|
必需。与相应权重关联的 Pod 亲和性项。 |
|
|
与匹配相应的 podAffinityTerm 关联的权重,范围为 1-100。 |
必需。与相应权重关联的 Pod 亲和性项。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。 |
|
|
MatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定了该项应用到的命名空间名称的静态列表。该项应用于此字段中列出的命名空间和由 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空的 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 topologyKey 的值与任何选定 Pod 运行所在的节点的标签值匹配的节点上。不允许使用空的 topologyKey。 |
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
如果在调度时未满足此字段指定的反亲和性要求,则不会将 Pod 调度到该节点上。如果在此 Pod 执行期间的某个时刻(例如,由于 Pod 标签更新),此字段指定的反亲和性要求不再满足,则系统可能会也可能不会尝试最终从其节点驱逐该 Pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表会相交,即必须满足所有条件。
数组
定义一组 Pod(即,那些相对于给定命名空间匹配 labelSelector 的 Pod),此 Pod 应该与这些 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 <topologyKey> 的值与 Pod 集合中任何 Pod 运行所在的节点的标签值匹配的节点上。
对象
topologyKey
属性 | 类型 | 描述 |
---|---|---|
|
|
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。 |
|
|
MatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
MismatchLabelKeys 是一组用于选择将哪些 Pod 纳入考量的 Pod 标签键。这些键用于查找传入 Pod 标签中的值,这些键值标签与 |
|
|
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。 |
|
|
namespaces 指定了该项应用到的命名空间名称的静态列表。该项应用于此字段中列出的命名空间和由 namespaceSelector 选择的命名空间的并集。空或空的命名空间列表以及空的 namespaceSelector 表示“此 Pod 的命名空间”。 |
|
|
此 Pod 应该与指定命名空间中与 labelSelector 匹配的 Pod 共址(亲和性)或不共址(反亲和性),其中共址被定义为运行在标签键为 topologyKey 的值与任何选定 Pod 运行所在的节点的标签值匹配的节点上。不允许使用空的 topologyKey。 |
对一组资源(在此示例中为 Pod)的标签查询。如果为空,则此 PodAffinityTerm 不匹配任何 Pod。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
对该项应用到的命名空间集进行标签查询。该项应用于由此字段选择的命名空间和 namespaces 字段中列出的命名空间的并集。空选择器和空或空的命名空间列表表示“此 Pod 的命名空间”。空选择器 ({}) 匹配所有命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
AlertRelabelConfigs 在 ThanosRuler 中配置警报重新标记。警报重新标记配置必须具有官方 Prometheus 文档中指定的格式:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs 是 AlertRelabelConfigFile 的替代方案,优先级较低。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
定义连接到 Alertmanager 的配置。仅在 thanos v0.10.0 及更高版本中可用。映射到 alertmanagers.config
参数。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
Containers 允许注入额外的容器或修改 Operator 生成的容器。这可以用来允许向 ThanosRuler pod 添加身份验证代理,或者更改 Operator 生成的容器的行为。此处描述的容器如果共享相同的名称,则会修改 Operator 生成的容器,并且修改是通过策略性合并补丁完成的。当前的容器名称是:thanos-ruler
和 config-reloader
。覆盖容器完全不在维护者支持的范围内,这样做,您接受此行为可能随时中断,恕不另行通知。
数组
您希望在 pod 内运行的单个应用程序容器。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供,则使用容器镜像的 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” 的初始化容器都将关闭。此生命周期与普通的初始化容器不同,通常称为 “边车” 容器。尽管此初始化容器仍会在初始化容器序列中启动,但它不会等待容器完成,然后才继续下一个初始化容器。相反,下一个初始化容器会在此初始化容器启动后立即启动,或者在任何 startupProbe 成功完成后启动。 |
|
|
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 表示容器中存在的环境变量。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 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 的键。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。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 的键
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 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 在容器创建后立即调用。如果处理程序失败,则会根据其重启策略终止并重启容器。在 hook 完成之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在因 API 请求或管理事件(例如,存活性/启动探针失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop hook 之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。在 hook 完成或达到终止宽限期之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则会根据其重启策略终止并重启容器。在 hook 完成之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止之前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态 0 被视为活动/健康,非零则为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 "Host"。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头 |
|
|
要访问 HTTP 服务器的路径。 |
|
|
要访问容器的端口的名称或编号。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止之前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 Pod IP。 |
|
|
要访问容器的端口的编号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在因 API 请求或管理事件(例如,存活性/启动探针失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop hook 之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。在 hook 完成或达到终止宽限期之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止之前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态 0 被视为活动/健康,非零则为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 "Host"。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头 |
|
|
要访问 HTTP 服务器的路径。 |
|
|
要访问容器的端口的名称或编号。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止之前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。
对象
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 spec 提供的值。值必须是非负整数。值 0 表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时后的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 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。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
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 spec 提供的值。值必须是非负整数。值 0 表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时后的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 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。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 Pod IP。 |
|
|
要访问容器的端口的编号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
ContainerResizePolicy 表示容器的资源调整策略。
对象
资源名称
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略所适用的资源名称。支持的值:cpu、memory。 |
|
|
当指定的资源调整大小时应用的重启策略。如果未指定,则默认为 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
属性 | 类型 | 描述 |
---|---|---|
|
|
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) 以特权模式运行 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 spec 提供的值。值必须是非负整数。值 0 表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时后的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 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。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 Pod IP。 |
|
|
要访问容器的端口的编号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
name
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是设备将映射到的容器内的路径。 |
|
|
name 必须与 pod 中的 persistentVolumeClaim 的名称匹配 |
VolumeMount 描述容器内 Volume 的挂载。
对象
mountPath
name
属性 | 类型 | 描述 |
---|---|---|
|
|
卷应挂载在容器内的路径。不得包含 ':'。 |
|
|
mountPropagation 确定如何将挂载从主机传播到容器以及反之。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中处于 Beta 状态。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
这必须与 Volume 的 Name 匹配。 |
|
|
如果为 true,则以只读方式挂载,否则以读写方式挂载(false 或未指定)。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应以递归方式处理只读挂载。 如果 ReadOnly 为 false,则此字段没有意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会以递归方式将挂载设为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式将挂载设置为只读,否则 pod 将不会启动,并且将生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为等效于 Disabled。 |
|
|
容器的卷应从中挂载的卷内的路径。默认为 "" (卷的根目录)。 |
|
|
容器的卷应从中挂载的卷内的展开路径。其行为类似于 SubPath,但是使用容器的环境扩展了环境变量引用 $(VAR_NAME)。默认为 "" (卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
要从强制添加源命名空间标签中排除的 PrometheusRule 对象引用列表。仅当 enforcedNamespaceLabel 设置为 true 时适用。
数组
ObjectReference 引用 PodMonitor、ServiceMonitor、Probe 或 PrometheusRule 对象。
对象
命名空间
resource
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的组。如果未指定,则默认为 |
|
|
引用的名称。如果未设置,则会匹配命名空间中的所有资源。 |
|
|
引用的命名空间。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/namespaces/ |
|
|
引用的资源。 |
GRPCServerTLSConfig 配置 Thanos Querier 从中读取记录的规则数据的 gRPC 服务器。注意:目前仅支持 CAFile、CertFile 和 KeyFile 字段。映射到 '--grpc-server-tls-*' 命令行参数。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
验证服务器证书时使用的证书颁发机构。 |
|
|
用于目标的 Prometheus 容器中 CA 证书的路径。 |
|
|
进行客户端身份验证时提供的客户端证书。 |
|
|
用于目标的 Prometheus 容器中客户端证书文件的路径。 |
|
|
禁用目标证书验证。 |
|
|
用于目标的 Prometheus 容器中客户端密钥文件的路径。 |
|
|
包含用于目标的客户端密钥文件的 Secret。 |
|
|
用于验证目标的主机名。 |
验证服务器证书时使用的证书颁发机构。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
进行客户端身份验证时提供的客户端证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
包含用于目标的客户端密钥文件的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
HostAlias 保存 IP 和主机名之间的映射,该映射将作为条目注入到 pod 的 hosts 文件中。
对象
hostnames
ip
属性 | 类型 | 描述 |
---|---|---|
|
|
上述 IP 地址的主机名。 |
|
|
主机文件条目的 IP 地址。 |
同一命名空间中用于从注册表拉取 thanos 镜像的可选 secret 引用列表,请参阅 https://kubernetes.ac.cn/docs/user-guide/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 不需要时删除 |
InitContainers 允许向 pod 定义添加 initContainers。这些可以用来例如从外部源获取 secret 以注入到 ThanosRuler 配置中。initContainer 执行期间的任何错误都将导致 Pod 重新启动。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/init-containers/ 将 initContainers 用于 secret 获取以外的任何用例完全不在维护者支持的范围内,这样做,您接受此行为可能随时中断,恕不另行通知。
数组
您希望在 pod 内运行的单个应用程序容器。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
入口点的参数。如果未提供,则使用容器镜像的 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” 的初始化容器都将关闭。此生命周期与普通的初始化容器不同,通常称为 “边车” 容器。尽管此初始化容器仍会在初始化容器序列中启动,但它不会等待容器完成,然后才继续下一个初始化容器。相反,下一个初始化容器会在此初始化容器启动后立即启动,或者在任何 startupProbe 成功完成后启动。 |
|
|
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 表示容器中存在的环境变量。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
环境变量的名称。必须是 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 的键。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。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 的键
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 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 在容器创建后立即调用。如果处理程序失败,则会根据其重启策略终止并重启容器。在 hook 完成之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
|
|
PreStop 在因 API 请求或管理事件(例如,存活性/启动探针失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop hook 之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。在 hook 完成或达到终止宽限期之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
PostStart 在容器创建后立即调用。如果处理程序失败,则会根据其重启策略终止并重启容器。在 hook 完成之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止之前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态 0 被视为活动/健康,非零则为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 "Host"。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头 |
|
|
要访问 HTTP 服务器的路径。 |
|
|
要访问容器的端口的名称或编号。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止之前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 Pod IP。 |
|
|
要访问容器的端口的编号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
PreStop 在因 API 请求或管理事件(例如,存活性/启动探针失败、抢占、资源争用等)而终止容器之前立即调用。如果容器崩溃或退出,则不会调用处理程序。Pod 的终止宽限期倒计时在执行 PreStop hook 之前开始。无论处理程序的结果如何,容器最终都将在 Pod 的终止宽限期内终止(除非被 finalizer 延迟)。在 hook 完成或达到终止宽限期之前,容器的其他管理会被阻塞。更多信息:https://kubernetes.ac.cn/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Exec 指定要执行的操作。 |
|
|
HTTPGet 指定要执行的 http 请求。 |
|
|
Sleep 表示容器在终止之前应休眠的持续时间。 |
|
|
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。 |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 shell 内运行,因此传统的 shell 指令 ('|' 等) 将不起作用。要使用 shell,你需要显式调用该 shell。退出状态 0 被视为活动/健康,非零则为不健康。 |
HTTPGet 指定要执行的 http 请求。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
要连接的主机名,默认为 Pod IP。你可能需要在 httpHeaders 中设置 "Host"。 |
|
|
要在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
|
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头 |
|
|
要访问 HTTP 服务器的路径。 |
|
|
要访问容器的端口的名称或编号。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
|
|
用于连接到主机的方案。默认为 HTTP。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
Sleep 表示容器在终止之前应休眠的持续时间。
对象
seconds
属性 | 类型 | 描述 |
---|---|---|
|
|
Seconds 是要休眠的秒数。 |
已弃用。TCPSocket 不支持作为 LifecycleHandler,仅为向后兼容而保留。此字段没有验证,并且当指定 tcp 处理程序时,生命周期 hook 将在运行时失败。
对象
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 spec 提供的值。值必须是非负整数。值 0 表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时后的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 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。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
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 spec 提供的值。值必须是非负整数。值 0 表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时后的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 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。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 Pod IP。 |
|
|
要访问容器的端口的编号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
ContainerResizePolicy 表示容器的资源调整策略。
对象
资源名称
restartPolicy
属性 | 类型 | 描述 |
---|---|---|
|
|
此资源调整策略所适用的资源名称。支持的值:cpu、memory。 |
|
|
当指定的资源调整大小时应用的重启策略。如果未指定,则默认为 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
属性 | 类型 | 描述 |
---|---|---|
|
|
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) 以特权模式运行 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 spec 提供的值。值必须是非负整数。值 0 表示通过 kill 信号立即停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。最小值是 1。如果未设置,则使用 spec.terminationGracePeriodSeconds。 |
|
|
探针超时后的秒数。默认为 1 秒。最小值是 1。更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Exec 指定要执行的操作。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Command 是要在容器内执行的命令行,该命令的工作目录是容器文件系统中的根目录 ('/')。该命令只是执行,它不会在 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。 |
HTTPHeader 描述了要在 HTTP 探针中使用的自定义标头
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
标头字段名称。这将会在输出时规范化,因此大小写变体名称将被理解为相同的标头。 |
|
|
标头字段值 |
TCPSocket 指定涉及 TCP 端口的操作。
对象
port
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:要连接的主机名,默认为 Pod IP。 |
|
|
要访问容器的端口的编号或名称。数字必须在 1 到 65535 的范围内。名称必须是 IANA_SVC_NAME。 |
volumeDevice 描述了容器内原始块设备的映射。
对象
devicePath
name
属性 | 类型 | 描述 |
---|---|---|
|
|
devicePath 是设备将映射到的容器内的路径。 |
|
|
name 必须与 pod 中的 persistentVolumeClaim 的名称匹配 |
VolumeMount 描述容器内 Volume 的挂载。
对象
mountPath
name
属性 | 类型 | 描述 |
---|---|---|
|
|
卷应挂载在容器内的路径。不得包含 ':'。 |
|
|
mountPropagation 确定如何将挂载从主机传播到容器以及反之。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中处于 Beta 状态。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
这必须与 Volume 的 Name 匹配。 |
|
|
如果为 true,则以只读方式挂载,否则以读写方式挂载(false 或未指定)。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应以递归方式处理只读挂载。 如果 ReadOnly 为 false,则此字段没有意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会以递归方式将挂载设为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式将挂载设置为只读,否则 pod 将不会启动,并且将生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为等效于 Disabled。 |
|
|
容器的卷应从中挂载的卷内的路径。默认为 "" (卷的根目录)。 |
|
|
容器的卷应从中挂载的卷内的展开路径。其行为类似于 SubPath,但是使用容器的环境扩展了环境变量引用 $(VAR_NAME)。默认为 "" (卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
ObjectStorageConfig 配置 Thanos 中的对象存储。是 ObjectStorageConfigFile 的替代方案,且优先级较低。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
PodMetadata 配置传播到 ThanosRuler pod 的标签和注解。
以下项目是保留的,不能被覆盖:* “app.kubernetes.io/name” 标签,设置为“thanos-ruler”。* “app.kubernetes.io/managed-by” 标签,设置为“prometheus-operator”。* “app.kubernetes.io/instance” 标签,设置为 ThanosRuler 实例的名称。* “thanos-ruler” 标签,设置为 ThanosRuler 实例的名称。* “kubectl.kubernetes.io/default-container” 注解,设置为“thanos-ruler”。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
注释是一个与资源一起存储的非结构化键值映射,外部工具可以使用它来存储和检索任意元数据。它们是不可查询的,并且在修改对象时应保留。更多信息:https://kubernetes.ac.cn/docs/user-guide/annotations |
|
|
可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务的选择器匹配。更多信息:https://kubernetes.ac.cn/docs/user-guide/labels |
|
|
名称在命名空间内必须是唯一的。创建资源时是必需的,尽管某些资源可能允许客户端请求自动生成适当的名称。名称主要用于创建幂等性和配置定义。不能更新。更多信息:https://kubernetes.ac.cn/docs/user-guide/identifiers#names |
PrometheusRulesExcludedFromEnforce - 要从强制添加命名空间标签中排除的 Prometheus 规则列表。仅当 enforcedNamespaceLabel 设置为 true 时才有效。确保为每一对都设置了 ruleNamespace 和 ruleName。已弃用:请改用 excludedFromEnforcement。
数组
PrometheusRuleExcludeConfig 允许用户配置要忽略的排除的 PrometheusRule 名称及其命名空间,同时强制为警报和指标添加命名空间标签。
对象
ruleName
ruleNamespace
属性 | 类型 | 描述 |
---|---|---|
|
|
排除的 PrometheusRule 对象的名称。 |
|
|
排除的 PrometheusRule 对象的命名空间。 |
定义连接到 thanos 查询实例的配置。如果定义了此项,则将忽略 QueryEndpoints 字段。映射到 query.config
命令行参数。仅在 thanos v0.11.0 及更高版本中可用。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
Resources 定义单个 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
属性 | 类型 | 描述 |
---|---|---|
|
|
Name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它使该资源在容器内可用。 |
要选择用于规则发现的命名空间。如果未指定,则仅使用与 ThanosRuler 对象所在的命名空间相同的命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
用于选择要挂载以进行警报和记录的 PrometheusRules 的标签选择器。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
SecurityContext 保存 pod 级别的安全属性和通用容器设置。这默认为默认的 PodSecurityContext。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
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 身份运行,则无法启动容器。如果未设置或为 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 定义要设置的内核参数
对象
name
value
属性 | 类型 | 描述 |
---|---|---|
|
|
要设置的属性的名称 |
|
|
要设置的属性的值 |
应用于所有容器的特定于 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 中指定的值为准。 |
用于指定如何使用存储的存储规范。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
已弃用:子路径的使用将在未来的版本中移除。 |
|
|
StatefulSet 要使用的 EmptyDirVolumeSource。如果指定,它将优先于 |
|
|
StatefulSet 要使用的 EphemeralVolumeSource。这是 k8s 1.21 中的 Beta 字段,在 1.15 中为 GA。对于较低版本,从 k8s 1.19 开始,它需要启用 GenericEphemeralVolume 功能门。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes |
|
|
定义 Prometheus StatefulSets 要使用的 PVC 规范。使用无法自动配置的卷的最简单方法是使用标签选择器以及手动创建的 PersistentVolumes。 |
StatefulSet 要使用的 EmptyDirVolumeSource。如果指定,它将优先于 ephemeral
和 volumeClaimTemplate
。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes/#emptydir
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
medium 表示此目录应由何种类型的存储介质支持。默认值为 "",表示使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
|
|
sizeLimit 是此 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存介质 EmptyDir 的最大使用量将是此处指定的大小限制与 Pod 中所有容器的内存限制之和之间的最小值。默认值为 nil,表示限制未定义。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#emptydir |
StatefulSet 要使用的 EphemeralVolumeSource。这是 k8s 1.21 中的 Beta 字段,在 1.15 中为 GA。对于较低版本,从 k8s 1.19 开始,它需要启用 GenericEphemeralVolume 功能门。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是 具有该名称且不属于 Pod 的现有 PVC 将 不 用于 Pod,以避免错误地使用不相关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果此预先创建的 PVC 旨在供 Pod 使用,则一旦 Pod 存在,必须使用指向 Pod 的所有者引用来更新 PVC。通常,这不应该是不必要的,但在手动重建损坏的集群时可能很有用。 此字段是只读的,Kubernetes 在创建 PVC 后不会对其进行任何更改。 必需,不能为空。 |
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是 <pod name>-<volume name>
,其中 <volume name>
是 PodSpec.Volumes
数组条目中的名称。如果串联的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。
具有该名称且不属于 Pod 的现有 PVC 将 不 用于 Pod,以避免错误地使用不相关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果此预先创建的 PVC 旨在供 Pod 使用,则一旦 Pod 存在,必须使用指向 Pod 的所有者引用来更新 PVC。通常,这不应该是不必要的,但在手动重建损坏的集群时可能很有用。
此字段是只读的,Kubernetes 在创建 PVC 后不会对其进行任何更改。
必需,不能为空。
对象
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) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。启用 AnyVolumeDataSource 功能门后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。如果指定了命名空间,则不会将 dataSourceRef 复制到 dataSource。 |
|
|
dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。如果指定此字段,则仅当指定对象的类型与某些已安装的卷填充程序或动态配置器匹配时,卷绑定才会成功。此字段将取代 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 将由 persistentvolume 控制器设置。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为“Pending”状态,如 modifyVolumeStatus 字段所反映的,直到存在这样的资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha)使用此字段需要启用 VolumeAttributesClass 功能门。 |
|
|
volumeMode 定义声明所需的卷类型。当未包含在声明规范中时,默认值为 Filesystem。 |
|
|
volumeName 是对支持此声明的 PersistentVolume 的绑定引用。 |
dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。启用 AnyVolumeDataSource 功能门后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。如果指定了命名空间,则不会将 dataSourceRef 复制到 dataSource。
对象
kind
name
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,APIGroup 是必需的。 |
|
|
Kind 是被引用资源的类型 |
|
|
Name 是被引用资源的名称 |
dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。如果指定此字段,则仅当指定对象的类型与某些已安装的卷填充程序或动态配置器匹配时,卷绑定才会成功。此字段将取代 dataSource 字段的功能,因此,如果两个字段都为非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空,而另一个字段为非空,则两个字段(dataSource 和 dataSourceRef)将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间有三个重要的区别:* 虽然 dataSource 只允许两种特定类型的对象,但 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* 虽然 dataSource 会忽略不允许的值(删除它们),但 dataSourceRef 会保留所有值,并且如果指定了不允许的值,则会生成错误。* 虽然 dataSource 只允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 功能门。
对象
kind
name
属性 | 类型 | 描述 |
---|---|---|
|
|
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 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
定义 Prometheus StatefulSets 要使用的 PVC 规范。使用无法自动配置的卷的最简单方法是使用标签选择器以及手动创建的 PersistentVolumes。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象代表的 REST 资源。服务器可以从客户端提交请求的端点推断出此值。不可更新。采用 CamelCase 形式。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
|
EmbeddedMetadata 包含与 EmbeddedResource 相关的元数据。 |
|
|
定义了 Pod 作者请求的卷的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
|
已弃用:此字段永远不会被设置。 |
EmbeddedMetadata 包含与 EmbeddedResource 相关的元数据。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
注释是一个与资源一起存储的非结构化键值映射,外部工具可以使用它来存储和检索任意元数据。它们是不可查询的,并且在修改对象时应保留。更多信息:https://kubernetes.ac.cn/docs/user-guide/annotations |
|
|
可用于组织和分类(范围和选择)对象的字符串键和值映射。可能与复制控制器和服务的选择器匹配。更多信息:https://kubernetes.ac.cn/docs/user-guide/labels |
|
|
名称在命名空间内必须是唯一的。创建资源时是必需的,尽管某些资源可能允许客户端请求自动生成适当的名称。名称主要用于创建幂等性和配置定义。不能更新。更多信息:https://kubernetes.ac.cn/docs/user-guide/identifiers#names |
定义了 Pod 作者请求的卷的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含卷应具有的所需访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。启用 AnyVolumeDataSource 功能门后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。如果指定了命名空间,则不会将 dataSourceRef 复制到 dataSource。 |
|
|
dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。如果指定此字段,则仅当指定对象的类型与某些已安装的卷填充程序或动态配置器匹配时,卷绑定才会成功。此字段将取代 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 将由 persistentvolume 控制器设置。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为“Pending”状态,如 modifyVolumeStatus 字段所反映的,直到存在这样的资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha)使用此字段需要启用 VolumeAttributesClass 功能门。 |
|
|
volumeMode 定义声明所需的卷类型。当未包含在声明规范中时,默认值为 Filesystem。 |
|
|
volumeName 是对支持此声明的 PersistentVolume 的绑定引用。 |
dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。启用 AnyVolumeDataSource 功能门后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。如果指定了命名空间,则不会将 dataSourceRef 复制到 dataSource。
对象
kind
name
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,APIGroup 是必需的。 |
|
|
Kind 是被引用资源的类型 |
|
|
Name 是被引用资源的名称 |
dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。如果指定此字段,则仅当指定对象的类型与某些已安装的卷填充程序或动态配置器匹配时,卷绑定才会成功。此字段将取代 dataSource 字段的功能,因此,如果两个字段都为非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空,而另一个字段为非空,则两个字段(dataSource 和 dataSourceRef)将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间有三个重要的区别:* 虽然 dataSource 只允许两种特定类型的对象,但 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* 虽然 dataSource 会忽略不允许的值(删除它们),但 dataSourceRef 会保留所有值,并且如果指定了不允许的值,则会生成错误。* 虽然 dataSource 只允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 功能门。
对象
kind
name
属性 | 类型 | 描述 |
---|---|---|
|
|
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 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
已弃用:此字段永远不会被设置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
accessModes 包含 PVC 支持的卷的实际访问模式。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
|
allocatedResourceStatuses 存储给定 PVC 的正在调整大小的资源的状态。键名称遵循标准的 Kubernetes 标签语法。有效值是: * 无前缀的键: - storage - 卷的容量。 * 自定义资源必须使用实现定义的带有前缀的名称,例如 "example.com/my-custom-resource" 除了以上值之外 - 没有前缀或带有 kubernetes.io 前缀的键被认为是保留的,因此可能不会被使用。 ClaimResourceStatus 可以处于以下任何状态: - ControllerResizeInProgress:当调整大小控制器开始在控制平面中调整卷的大小时设置的状态。 - ControllerResizeFailed:当调整大小在调整大小控制器中失败并出现终端错误时设置的状态。 - NodeResizePending:当调整大小控制器完成调整卷大小但需要在节点上进一步调整卷大小时设置的状态。 - NodeResizeInProgress:当 kubelet 开始调整卷的大小时设置的状态。 - NodeResizeFailed:当在 kubelet 中调整大小失败并出现终端错误时设置的状态。瞬态错误不会设置 NodeResizeFailed。 例如:如果扩大 PVC 的容量 - 此字段可以是以下状态之一: - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" 当未设置此字段时,表示给定 PVC 没有正在进行的调整大小操作。 接收到具有先前未知 resourceName 或 ClaimResourceStatus 的 PVC 更新的控制器应忽略更新,以达到其设计目的。例如 - 仅负责调整卷容量的控制器应忽略更改与 PVC 关联的其他有效资源的 PVC 更新。 这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。 |
|
|
allocatedResources 跟踪分配给 PVC 的资源,包括其容量。键名称遵循标准的 Kubernetes 标签语法。有效值是: * 无前缀的键: - storage - 卷的容量。 * 自定义资源必须使用实现定义的带有前缀的名称,例如 "example.com/my-custom-resource" 除了以上值之外 - 没有前缀或带有 kubernetes.io 前缀的键被认为是保留的,因此可能不会被使用。 当请求卷扩展操作时,此处报告的容量可能大于实际容量。对于存储配额,使用 allocatedResources 和 PVC.spec.resources 中较大的值。如果未设置 allocatedResources,则仅使用 PVC.spec.resources 进行配额计算。如果降低卷扩展容量请求,则仅当没有正在进行的扩展操作并且实际卷容量等于或小于请求的容量时,才会降低 allocatedResources。 接收到具有先前未知 resourceName 的 PVC 更新的控制器应忽略更新,以达到其设计目的。例如 - 仅负责调整卷容量的控制器应忽略更改与 PVC 关联的其他有效资源的 PVC 更新。 这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。 |
|
|
capacity 表示底层卷的实际资源。 |
|
|
conditions 是持久卷声明的当前状态。如果正在调整底层持久卷的大小,则 Condition 将设置为 'Resizing'。 |
|
|
PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息 |
|
|
currentVolumeAttributesClassName 是 PVC 当前正在使用的 VolumeAttributesClass 的当前名称。当未设置时,没有 VolumeAttributeClass 应用于此 PersistentVolumeClaim 这一个 alpha 字段,需要启用 VolumeAttributesClass 功能。 |
|
|
ModifyVolumeStatus 表示 ControllerModifyVolume 操作的状态对象。当未设置时,没有正在尝试的 ModifyVolume 操作。这是一个 alpha 字段,需要启用 VolumeAttributesClass 功能。 |
|
|
phase 表示 PersistentVolumeClaim 的当前阶段。 |
conditions 是持久卷声明的当前状态。如果正在调整底层持久卷的大小,则 Condition 将设置为 'Resizing'。
数组
PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息
对象
status
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
lastProbeTime 是我们探测条件的时间。 |
|
|
lastTransitionTime 是条件从一个状态转换到另一个状态的时间。 |
|
|
message 是人类可读的消息,指示有关上次转换的详细信息。 |
|
|
reason 是一个唯一的、简短的、机器可理解的字符串,它给出了条件上次转换的原因。如果它报告“Resizing”,则表示正在调整底层持久卷的大小。 |
|
|
|
|
|
PersistentVolumeClaimConditionType 是 PersistentVolumeClaimCondition.Type 的有效值 |
ModifyVolumeStatus 表示 ControllerModifyVolume 操作的状态对象。当未设置时,没有正在尝试的 ModifyVolume 操作。这是一个 alpha 字段,需要启用 VolumeAttributesClass 功能。
对象
status
属性 | 类型 | 描述 |
---|---|---|
|
|
status 是 ControllerModifyVolume 操作的状态。它可以处于以下任何状态: - Pending Pending 表示由于未满足的要求(例如,指定的 VolumeAttributesClass 不存在)而无法修改 PersistentVolumeClaim。 - InProgress InProgress 表示正在修改卷。 - Infeasible Infeasible 表示该请求已被 CSI 驱动程序拒绝为无效。要解决该错误,需要指定有效的 VolumeAttributesClass。 注意:将来可能会添加新的状态。消费者应检查未知状态并适当失败。 |
|
|
targetVolumeAttributesClassName 是 PVC 当前正在协调的 VolumeAttributesClass 的名称 |
附加此 Toleration 的 pod 可以容忍任何匹配
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Effect 指示要匹配的污点效果。空表示匹配所有污点效果。指定时,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。 |
|
|
Key 是容忍度应用于的污点键。空表示匹配所有污点键。如果键为空,则 operator 必须为 Exists;此组合表示匹配所有值和所有键。 |
|
|
Operator 表示键与值的关系。有效的运算符是 Exists 和 Equal。默认为 Equal。Exists 等效于值的通配符,因此 Pod 可以容忍特定类别的所有污点。 |
|
|
TolerationSeconds 表示容忍度(必须是 NoExecute 效果,否则将忽略此字段)容忍污点的时间段。默认情况下,它未设置,这意味着永远容忍污点(不驱逐)。零和负值将被系统视为 0(立即驱逐)。 |
|
|
Value 是容忍度匹配的污点值。如果 operator 是 Exists,则该值应为空,否则只是一个常规字符串。 |
TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。
对象
maxSkew
topologyKey
whenUnsatisfiable
属性 | 类型 | 描述 |
---|---|---|
|
|
LabelSelector 用于查找匹配的 Pod。计算匹配此标签选择器的 Pod,以确定其相应拓扑域中 Pod 的数量。 |
|
|
MatchLabelKeys 是一组 Pod 标签键,用于选择将在其上计算散布的 Pod。这些键用于从传入的 Pod 标签中查找值,这些键值标签与 labelSelector 进行 AND 运算,以选择一组现有 Pod,在其上计算传入 Pod 的散布。MatchLabelKeys 和 LabelSelector 中禁止存在相同的键。当未设置 LabelSelector 时,无法设置 MatchLabelKeys。将忽略传入 Pod 标签中不存在的键。空列表或空列表意味着仅与 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:| zone1 | zone2 | zone3 | | P P | P P | P P | 域的数量小于 5 (MinDomains),因此“全局最小值”被视为 0。在这种情况下,具有相同 labelSelector 的新 pod 无法被调度,因为如果将新 Pod 调度到三个可用区中的任何一个,计算出的 skew 将为 3 (3 - 0),这将违反 MaxSkew。 |
|
|
NodeAffinityPolicy 指示在计算 pod 拓扑分布偏差时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项包括: - Honor:仅在计算中包括与 nodeAffinity/nodeSelector 匹配的节点。 - Ignore:忽略 nodeAffinity/nodeSelector。所有节点都包含在计算中。 如果此值为 nil,则行为等同于 Honor 策略。这是由 NodeInclusionPolicyInPodTopologySpread 功能标志默认启用的 Beta 级功能。 |
|
|
NodeTaintsPolicy 指示在计算 pod 拓扑分布偏差时,我们将如何处理节点污点。选项包括: - Honor:包括没有污点的节点,以及传入 pod 具有容忍度的已污点节点。 - Ignore:忽略节点污点。所有节点都包含在计算中。 如果此值为 nil,则行为等同于 Ignore 策略。这是由 NodeInclusionPolicyInPodTopologySpread 功能标志默认启用的 Beta 级功能。 |
|
|
TopologyKey 是节点标签的键。具有此键和相同值的标签的节点被认为在同一拓扑中。我们将每个 <key, value> 视为一个“桶”,并尝试将平衡数量的 pod 放入每个桶中。我们将域定义为拓扑的特定实例。此外,我们将符合条件的域定义为满足 nodeAffinityPolicy 和 nodeTaintsPolicy 要求的域。例如,如果 TopologyKey 是 “kubernetes.io/hostname”,则每个节点都是该拓扑的域。并且,如果 TopologyKey 是 “topology.kubernetes.io/zone”,则每个可用区都是该拓扑的域。这是一个必填字段。 |
|
|
WhenUnsatisfiable 指示如果 pod 不满足分布约束,如何处理该 pod。 - DoNotSchedule(默认)告诉调度器不要调度它。 - ScheduleAnyway 告诉调度器在任何位置调度 pod,但优先考虑有助于减少偏差的拓扑。当且仅当该 pod 的每个可能的节点分配都会违反某些拓扑上的 “MaxSkew” 时,才会认为传入的 pod 的约束是 “Unsatisfiable”。例如,在 3 个可用区的集群中,MaxSkew 设置为 1,并且具有相同 labelSelector 的 Pod 分布为 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | 如果 WhenUnsatisfiable 设置为 DoNotSchedule,则传入的 pod 只能被调度到 zone2(zone3) 以变为 3/2/1(3/1/2),因为 zone2(zone3) 上的 ActualSkew(2-1) 满足 MaxSkew(1)。换句话说,集群仍然可能不平衡,但调度器不会使其更不平衡。这是一个必填字段。 |
LabelSelector 用于查找匹配的 Pod。计算匹配此标签选择器的 Pod,以确定其相应拓扑域中 Pod 的数量。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
TracingConfig 配置 Thanos 中的跟踪。
tracingConfigFile
优先于此字段。
这是一个实验性功能,它可能会在任何即将发布的版本中以中断的方式更改。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
VolumeMounts 允许在输出 StatefulSet 定义上配置额外的 VolumeMounts。指定的 VolumeMounts 将附加到 ruler 容器中的其他 VolumeMounts,这些 VolumeMounts 是作为 StorageSpec 对象的结果生成的。
数组
VolumeMount 描述容器内 Volume 的挂载。
对象
mountPath
name
属性 | 类型 | 描述 |
---|---|---|
|
|
卷应挂载在容器内的路径。不得包含 ':'。 |
|
|
mountPropagation 确定如何将挂载从主机传播到容器以及反之。如果未设置,则使用 MountPropagationNone。此字段在 1.10 中处于 Beta 状态。当 RecursiveReadOnly 设置为 IfPossible 或 Enabled 时,MountPropagation 必须为 None 或未指定(默认为 None)。 |
|
|
这必须与 Volume 的 Name 匹配。 |
|
|
如果为 true,则以只读方式挂载,否则以读写方式挂载(false 或未指定)。默认为 false。 |
|
|
RecursiveReadOnly 指定是否应以递归方式处理只读挂载。 如果 ReadOnly 为 false,则此字段没有意义,必须未指定。 如果 ReadOnly 为 true,并且此字段设置为 Disabled,则不会以递归方式将挂载设为只读。如果此字段设置为 IfPossible,则如果容器运行时支持,则以递归方式将挂载设置为只读。如果此字段设置为 Enabled,则如果容器运行时支持,则以递归方式将挂载设置为只读,否则 pod 将不会启动,并且将生成错误以指示原因。 如果此字段设置为 IfPossible 或 Enabled,则 MountPropagation 必须设置为 None(或未指定,默认为 None)。 如果未指定此字段,则将其视为等效于 Disabled。 |
|
|
容器的卷应从中挂载的卷内的路径。默认为 "" (卷的根目录)。 |
|
|
容器的卷应从中挂载的卷内的展开路径。其行为类似于 SubPath,但是使用容器的环境扩展了环境变量引用 $(VAR_NAME)。默认为 "" (卷的根目录)。SubPathExpr 和 SubPath 是互斥的。 |
Volume 表示 pod 中任何容器都可以访问的命名卷。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
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 的 downward 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 表示一个附加并挂载在 kubelet 主机上的 PhotonController 持久磁盘。 |
|
|
portworxVolume 表示一个附加并挂载在 kubelet 主机上的 portworx 卷。 |
|
|
用于将所有资源 secrets、configmaps 和 downward API 项目到一起。 |
|
|
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 表示一个附加并挂载在 kubelet 主机上的 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 托管数据磁盘(仅在托管可用性集中)。默认为共享。 |
|
|
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
path
属性 | 类型 | 描述 |
---|---|---|
|
|
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 的 downward API。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
可选:默认情况下在创建的文件上使用的模式位。必须是可选的:默认情况下在创建的文件上使用的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位为十进制值。默认为 0644。路径中的目录不受此设置影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
Items 是 downward API 卷文件列表 |
|
|
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息 |
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
必需:选择 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 的最大使用量将是此处指定的大小限制与 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 的现有 PVC 将 不 用于 Pod,以避免错误地使用不相关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果此预先创建的 PVC 旨在供 Pod 使用,则一旦 Pod 存在,必须使用指向 Pod 的所有者引用来更新 PVC。通常,这不应该是不必要的,但在手动重建损坏的集群时可能很有用。 此字段是只读的,Kubernetes 在创建 PVC 后不会对其进行任何更改。 必需,不能为空。 |
将用于创建独立的 PVC 来配置卷。嵌入此 EphemeralVolumeSource 的 Pod 将是 PVC 的所有者,即 PVC 将与 Pod 一起删除。PVC 的名称将是 <pod name>-<volume name>
,其中 <volume name>
是 PodSpec.Volumes
数组条目中的名称。如果串联的名称对于 PVC 无效(例如,太长),则 Pod 验证将拒绝该 Pod。
具有该名称且不属于 Pod 的现有 PVC 将 不 用于 Pod,以避免错误地使用不相关的卷。然后,启动 Pod 将被阻止,直到删除不相关的 PVC。如果此预先创建的 PVC 旨在供 Pod 使用,则一旦 Pod 存在,必须使用指向 Pod 的所有者引用来更新 PVC。通常,这不应该是不必要的,但在手动重建损坏的集群时可能很有用。
此字段是只读的,Kubernetes 在创建 PVC 后不会对其进行任何更改。
必需,不能为空。
对象
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) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。启用 AnyVolumeDataSource 功能门后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。如果指定了命名空间,则不会将 dataSourceRef 复制到 dataSource。 |
|
|
dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。如果指定此字段,则仅当指定对象的类型与某些已安装的卷填充程序或动态配置器匹配时,卷绑定才会成功。此字段将取代 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 将由 persistentvolume 控制器设置。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为“Pending”状态,如 modifyVolumeStatus 字段所反映的,直到存在这样的资源。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-attributes-classes/ (Alpha)使用此字段需要启用 VolumeAttributesClass 功能门。 |
|
|
volumeMode 定义声明所需的卷类型。当未包含在声明规范中时,默认值为 Filesystem。 |
|
|
volumeName 是对支持此声明的 PersistentVolume 的绑定引用。 |
dataSource 字段可用于指定:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。启用 AnyVolumeDataSource 功能门后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。如果指定了命名空间,则不会将 dataSourceRef 复制到 dataSource。
对象
kind
name
属性 | 类型 | 描述 |
---|---|---|
|
|
APIGroup 是被引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。对于任何其他第三方类型,APIGroup 是必需的。 |
|
|
Kind 是被引用资源的类型 |
|
|
Name 是被引用资源的名称 |
dataSourceRef 指定从中填充卷数据的对象(如果需要非空卷)。这可以是来自非空 API 组(非核心对象)的任何对象或 PersistentVolumeClaim 对象。如果指定此字段,则仅当指定对象的类型与某些已安装的卷填充程序或动态配置器匹配时,卷绑定才会成功。此字段将取代 dataSource 字段的功能,因此,如果两个字段都为非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果其中一个字段为空,而另一个字段为非空,则两个字段(dataSource 和 dataSourceRef)将自动设置为相同的值。当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间有三个重要的区别:* 虽然 dataSource 只允许两种特定类型的对象,但 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。* 虽然 dataSource 会忽略不允许的值(删除它们),但 dataSourceRef 会保留所有值,并且如果指定了不允许的值,则会生成错误。* 虽然 dataSource 只允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。(Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(Alpha)使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 功能门。
对象
kind
name
属性 | 类型 | 描述 |
---|---|---|
|
|
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 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
fc 表示附加到 kubelet 主机并暴露给 pod 的光纤通道资源。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。TODO:我们如何防止文件系统中的错误危及机器 |
|
|
lun 是可选的:FC 目标 lun 号 |
|
|
readOnly 是可选的:默认为 false (读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
|
|
targetWWNs 是可选的:FC 目标全球名称 (WWN) |
|
|
wwids 可选:FC 卷全球标识符 (wwids)。必须设置 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
path
属性 | 类型 | 描述 |
---|---|---|
|
|
endpoints 是详细说明 Glusterfs 拓扑的端点名称。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
|
path 是 Glusterfs 卷路径。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
|
这里的 readOnly 将强制 Glusterfs 卷以只读权限挂载。默认为 false。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
hostPath 表示主机上直接暴露给容器的预先存在的文件或目录。这通常用于系统代理或其他允许查看主机的特权项。大多数容器不需要此项。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) 我们需要限制谁可以使用主机目录挂载以及谁可以/不可以将主机目录挂载为读/写。
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
主机上目录的路径。如果路径是符号链接,它将跟随链接到实际路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath |
|
|
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 接口 <target portal>:<volume name>。 |
|
|
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
对象
path
server
属性 | 类型 | 描述 |
---|---|---|
|
|
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 表示一个附加并挂载在 kubelet 主机上的 PhotonController 持久磁盘。
对象
pdID
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为 “ext4”。 |
|
|
pdID 是标识 Photon Controller 持久磁盘的 ID |
portworxVolume 表示一个附加并挂载在 kubelet 主机上的 portworx 卷。
对象
volumeID
属性 | 类型 | 描述 |
---|---|---|
|
|
fSType 表示要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如,“ext4”、“xfs”。如果未指定,则隐式推断为 “ext4”。 |
|
|
readOnly 默认为 false (读/写)。这里的 ReadOnly 将强制 VolumeMounts 中的 ReadOnly 设置。 |
|
|
volumeID 唯一标识 Portworx 卷 |
用于将所有资源 secrets、configmaps 和 downward API 项目到一起。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
defaultMode 是用于设置默认创建的文件权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位的十进制值。路径中的目录不受此设置的影响。这可能与其他影响文件模式的选项(如 fsGroup)冲突,并且结果可能会设置其他模式位。 |
|
|
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 可能会随着时间的推移更改顺序。
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
选择与此标签选择器匹配的所有 ClusterTrustBundle。仅在设置 signerName 时有效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置但为空,则解释为“匹配所有内容”。 |
|
|
按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 互斥。 |
|
|
如果为 true,则如果引用的 ClusterTrustBundle 不可用,则不阻止 Pod 启动。如果使用 name,则允许命名的 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零个 ClusterTrustBundle。 |
|
|
从卷根目录到写入捆绑包的相对路径。 |
|
|
选择与此签名者名称匹配的所有 ClusterTrustBundle。与 name 互斥。所有选定的 ClusterTrustBundle 的内容将被统一并删除重复。 |
选择与此标签选择器匹配的所有 ClusterTrustBundle。仅在设置 signerName 时有效。与 name 互斥。如果未设置,则解释为“不匹配任何内容”。如果设置但为空,则解释为“匹配所有内容”。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。 |
|
|
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其 key 字段为 “key”,运算符为 “In”,并且 values 数组仅包含 “value”。这些要求是 AND 的关系。 |
matchExpressions 是标签选择器要求列表。这些要求是 AND 的关系。
数组
标签选择器要求是一个选择器,其中包含值、键和关联键和值的运算符。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值数组。如果运算符为 In 或 NotIn,则 values 数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在战略合并修补期间被替换。 |
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
path
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 是可选的:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位为十进制值。如果未指定,将使用卷的 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素 '..'。不能以字符串 '..' 开头。 |
downwardAPI 关于要投影的 downwardAPI 数据的信息
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
Items 是 DownwardAPIVolume 文件列表 |
|
|
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息 |
DownwardAPIVolumeFile 表示创建包含 pod 字段的文件的信息
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
必需:选择 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 字段中的每个键值对都将作为文件投影到卷中,该文件的名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,并且未列出的键将不存在。如果指定的键不存在于 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 字段中的每个键值对都将作为文件投影到卷中,该文件的名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,并且未列出的键将不存在。如果指定的键不存在于 Secret 中,则卷设置将出错,除非它被标记为可选。路径必须是相对的,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
key
path
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是要投影的键。 |
|
|
mode 是可选的:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的八进制值或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 要求模式位为十进制值。如果未指定,将使用卷的 defaultMode。这可能与其他影响文件模式的选项(如 fsGroup)冲突,结果可能会设置其他模式位。 |
|
|
path 是要将键映射到的文件的相对路径。不能是绝对路径。不能包含路径元素 '..'。不能以字符串 '..' 开头。 |
serviceAccountToken 是关于要投影的 serviceAccountToken 数据的信息
对象
path
属性 | 类型 | 描述 |
---|---|---|
|
|
audience 是令牌的预期受众。令牌的接收者必须使用令牌受众中指定的标识符来标识自身,否则应拒绝该令牌。受众默认为 apiserver 的标识符。 |
|
|
expirationSeconds 是服务帐户令牌的请求有效持续时间。当令牌接近过期时,kubelet 卷插件将主动轮换服务帐户令牌。如果令牌的有效期已超过 80% 或令牌已超过 24 小时,则 kubelet 将开始尝试轮换令牌。默认为 1 小时,且必须至少为 10 分钟。 |
|
|
path 是相对于要将令牌投影到的文件挂载点的路径。 |
quobyte 表示主机上的 Quobyte 挂载,与 pod 的生命周期共享。
对象
registry
volume
属性 | 类型 | 描述 |
---|---|---|
|
|
将卷访问映射到的组,默认为无组 |
|
|
这里的 readOnly 将强制以只读权限挂载 Quobyte 卷。默认为 false。 |
|
|
registry 表示指定为字符串(多个条目用逗号分隔)的单个或多个 Quobyte 注册表服务,作为卷的中央注册表 |
|
|
在后端使用动态配置的 Quobyte 卷时,拥有给定 Quobyte 卷的租户,该值由插件设置。 |
|
|
用于映射卷访问的用户。默认为 serivceaccount 用户。 |
|
|
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 的身份验证密钥的名称。如果提供,则覆盖 keyring。默认为 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 的身份验证密钥的名称。如果提供,则覆盖 keyring。默认为 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 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不会存在。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对的,并且不能包含“..”路径或以“..”开头。 |
|
|
将字符串键映射到卷中的路径。 |
|
|
optional 字段指定是否必须定义 Secret 或其键 |
|
|
secretName 是 pod 命名空间中要使用的 Secret 的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#secret |
items 如果未指定,则引用的 Secret 的 Data 字段中的每个键值对都将作为文件投影到卷中,其名称为键,内容为值。如果指定,则列出的键将投影到指定的路径中,未列出的键将不会存在。如果指定的键在 Secret 中不存在,则除非标记为可选,否则卷设置将出错。路径必须是相对的,并且不能包含“..”路径或以“..”开头。
数组
将字符串键映射到卷中的路径。
对象
key
path
属性 | 类型 | 描述 |
---|---|---|
|
|
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 表示一个附加并挂载在 kubelet 主机上的 vSphere 卷。
对象
volumePath
属性 | 类型 | 描述 |
---|---|---|
|
|
fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”、“xfs”、“ntfs”。如果未指定,则隐式推断为“ext4”。 |
|
|
storagePolicyID 是与 StoragePolicyName 关联的存储策略管理 (SPBM) 配置文件 ID。 |
|
|
storagePolicyName 是存储策略管理 (SPBM) 配置文件名称。 |
|
|
volumePath 是标识 vSphere 卷 vmdk 的路径 |
定义 ThanosRuler Web 服务器的配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
定义 Web 服务器的 HTTP 参数。 |
|
|
定义 HTTPS 的 TLS 参数。 |
定义 Web 服务器的 HTTP 参数。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
可以添加到 HTTP 响应的标头列表。 |
|
|
启用 HTTP/2 支持。请注意,HTTP/2 仅支持 TLS。如果未配置 TLSConfig,则将禁用 HTTP/2。每当字段的值更改时,将触发滚动更新。 |
可以添加到 HTTP 响应的标头列表。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
将 Content-Security-Policy 标头设置为 HTTP 响应。如果为空,则取消设置。 |
|
|
将 Strict-Transport-Security 标头设置为 HTTP 响应。如果为空,则取消设置。请务必谨慎使用此标头,因为此标头可能会强制浏览器通过 HTTPS 加载 Prometheus 和托管在同一域和子域上的其他应用程序。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security |
|
|
将 X-Content-Type-Options 标头设置为 HTTP 响应。如果为空,则取消设置。接受的值为 nosniff。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options |
|
|
将 X-Frame-Options 标头设置为 HTTP 响应。如果为空,则取消设置。接受的值为 deny 和 sameorigin。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-Frame-Options |
|
|
将 X-XSS-Protection 标头设置为所有响应。如果为空,则取消设置。https://mdn.org.cn/en-US/docs/Web/HTTP/Headers/X-XSS-Protection |
定义 HTTPS 的 TLS 参数。
对象
cert
keySecret
属性 | 类型 | 描述 |
---|---|---|
|
|
包含服务器的 TLS 证书。 |
|
|
TLS 1.2 及更早版本支持的密码套件列表。如果为空,则使用 Go 默认密码套件。可在 go 文档中找到可用的密码套件:https://golang.ac.cn/pkg/crypto/tls/#pkg-constants |
|
|
客户端身份验证的服务器策略。映射到 ClientAuth 策略。有关 clientAuth 选项的更多详细信息:https://golang.ac.cn/pkg/crypto/tls/#ClientAuthType |
|
|
包含客户端证书身份验证到服务器的 CA 证书。 |
|
|
将在 ECDHE 握手中按首选顺序使用的椭圆曲线。可在 go 文档中找到可用的曲线:https://golang.ac.cn/pkg/crypto/tls/#CurveID |
|
|
包含服务器的 TLS 密钥的 Secret。 |
|
|
可接受的最大 TLS 版本。默认为 TLS13。 |
|
|
可接受的最小 TLS 版本。默认为 TLS12。 |
|
|
控制服务器是选择客户端最喜欢的密码套件,还是服务器最喜欢的密码套件。如果为 true,则使用服务器的偏好,如 cipherSuites 中元素的顺序所表示。 |
包含服务器的 TLS 证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
包含客户端证书身份验证到服务器的 CA 证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
包含服务器的 TLS 密钥的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的 Secret 的键。必须是有效的 Secret 键。 |
|
|
引用对象的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此处具有空值的此类类型的实例几乎肯定是错误的。TODO:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names TODO:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其键 |
ThanosRuler 集群最近观察到的状态。只读。更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
对象
availableReplicas
paused
replicas
unavailableReplicas
updatedReplicas
属性 | 类型 | 描述 |
---|---|---|
|
|
此 ThanosRuler 部署目标的可用的 Pod 总数(至少准备好 minReadySeconds)。 |
|
|
Alertmanager 对象的当前状态。 |
|
|
Condition 表示与 Prometheus、Alertmanager 或 ThanosRuler 资源关联的资源的状态。 |
|
|
表示是否正在对底层托管对象执行任何操作。仅执行删除操作。 |
|
|
此 ThanosRuler 部署目标且未终止的 Pod 总数(它们的标签与选择器匹配)。 |
|
|
此 ThanosRuler 部署目标且不可用的 Pod 总数。 |
|
|
此 ThanosRuler 部署目标且具有所需版本规范的未终止 Pod 总数。 |
Condition 表示与 Prometheus、Alertmanager 或 ThanosRuler 资源关联的资源的状态。
对象
lastTransitionTime
status
类型
属性 | 类型 | 描述 |
---|---|---|
|
|
lastTransitionTime 是上次更新当前状态属性的时间。 |
|
|
人类可读的消息,指示条件的上次转换的详细信息。 |
|
|
ObservedGeneration 表示条件设置所依据的 .metadata.generation。例如,如果 |
|
|
条件最后一次转换的原因。 |
|
|
条件的状态。 |
|
|
正在报告的条件的类型。 |
以下 API 端点可用
/apis/monitoring.coreos.com/v1/thanosrulers
GET
:列出 ThanosRuler 类型的对象
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/thanosrulers
DELETE
:删除 ThanosRuler 的集合
GET
:列出 ThanosRuler 类型的对象
POST
:创建一个 ThanosRuler
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/thanosrulers/{name}
DELETE
:删除一个 ThanosRuler
GET
:读取指定的 ThanosRuler
PATCH
:部分更新指定的 ThanosRuler
PUT
:替换指定的 ThanosRuler
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/thanosrulers/{name}/status
GET
:读取指定 ThanosRuler 的状态
PATCH
:部分更新指定 ThanosRuler 的状态
PUT
:替换指定 ThanosRuler 的状态
GET
列出 ThanosRuler 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 ThanosRuler 的集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 ThanosRuler 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 ThanosRuler
参数 | 类型 | 描述 |
---|---|---|
|
|
当存在时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理该请求。有效值包括:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值包括:- Ignore:这将忽略任何从对象中静默删除的未知字段,并且只会忽略解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应头发送警告,提示从对象中删除的每个未知字段,以及遇到的每个重复字段。如果没有其他错误,请求仍然会成功,并且只会持久化任何重复字段的最后一个。这是 v1.23+ 中的默认设置 - Strict:如果任何未知字段会从对象中删除,或者如果存在任何重复字段,这将导致请求失败并显示 BadRequest 错误。服务器返回的错误将包含所有遇到的未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
ThanosRuler 的名称 |
DELETE
删除一个 ThanosRuler
参数 | 类型 | 描述 |
---|---|---|
|
|
当存在时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理该请求。有效值包括:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 ThanosRuler
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 ThanosRuler
参数 | 类型 | 描述 |
---|---|---|
|
|
当存在时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理该请求。有效值包括:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值包括:- Ignore:这将忽略任何从对象中静默删除的未知字段,并且只会忽略解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应头发送警告,提示从对象中删除的每个未知字段,以及遇到的每个重复字段。如果没有其他错误,请求仍然会成功,并且只会持久化任何重复字段的最后一个。这是 v1.23+ 中的默认设置 - Strict:如果任何未知字段会从对象中删除,或者如果存在任何重复字段,这将导致请求失败并显示 BadRequest 错误。服务器返回的错误将包含所有遇到的未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 ThanosRuler
参数 | 类型 | 描述 |
---|---|---|
|
|
当存在时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理该请求。有效值包括:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值包括:- Ignore:这将忽略任何从对象中静默删除的未知字段,并且只会忽略解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应头发送警告,提示从对象中删除的每个未知字段,以及遇到的每个重复字段。如果没有其他错误,请求仍然会成功,并且只会持久化任何重复字段的最后一个。这是 v1.23+ 中的默认设置 - Strict:如果任何未知字段会从对象中删除,或者如果存在任何重复字段,这将导致请求失败并显示 BadRequest 错误。服务器返回的错误将包含所有遇到的未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
ThanosRuler 的名称 |
GET
读取指定 ThanosRuler 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定 ThanosRuler 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
当存在时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理该请求。有效值包括:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值包括:- Ignore:这将忽略任何从对象中静默删除的未知字段,并且只会忽略解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应头发送警告,提示从对象中删除的每个未知字段,以及遇到的每个重复字段。如果没有其他错误,请求仍然会成功,并且只会持久化任何重复字段的最后一个。这是 v1.23+ 中的默认设置 - Strict:如果任何未知字段会从对象中删除,或者如果存在任何重复字段,这将导致请求失败并显示 BadRequest 错误。服务器返回的错误将包含所有遇到的未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定 ThanosRuler 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
当存在时,表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理该请求。有效值包括:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值包括:- Ignore:这将忽略任何从对象中静默删除的未知字段,并且只会忽略解码器遇到的最后一个重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应头发送警告,提示从对象中删除的每个未知字段,以及遇到的每个重复字段。如果没有其他错误,请求仍然会成功,并且只会持久化任何重复字段的最后一个。这是 v1.23+ 中的默认设置 - Strict:如果任何未知字段会从对象中删除,或者如果存在任何重复字段,这将导致请求失败并显示 BadRequest 错误。服务器返回的错误将包含所有遇到的未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |