工作负载 API


OpenShift Container Platform 4.19

工作负载 API 的参考指南

Red Hat OpenShift Documentation Team

摘要

本文档描述了 OpenShift Container Platform 工作负载 API 对象及其详细规格。

第 1 章 工作负载 API

1.1. BuildConfig [build.openshift.io/v1]

描述

构建配置为新容器镜像定义构建流程。可以使用三种构建类型 - 使用 Dockerfile 构建(Source-to-Image 构建)的 Source-to-Image 构建,它使用特殊准备的基本镜像来接受源代码,以及能够运行 // arbitrary 容器镜像的自定义构建,并作为基础运行并接受构建参数。在集群和完成的时间运行的构建被推送到 "output" 部分中指定的容器镜像 registry。构建可以通过 Webhook 触发,当基础镜像更改时,或者当用户手动请求新构建时。

构建配置创建的每个构建都会编号,并引用其父级配置。可以同时触发多个构建。没有"输出"集的构建可用于测试代码或运行验证构建。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.2. Build [build.openshift.io/v1]

描述

构建封装了生成新可部署镜像所需的输入,以及执行的状态以及执行构建的 Pod 的引用。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.3. BuildLog [build.openshift.io/v1]

描述

BuildLog 是与构建日志重定向器关联的(未使用的)资源

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.4. BuildRequest [build.openshift.io/v1]

描述

BuildRequest 是用来传递参数到构建生成器的资源

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.5. CronJob [batch/v1]

描述
CronJob 代表单个 cron 作业的配置。
类型
object

1.6. DaemonSet [apps/v1]

描述
DaemonSet 代表守护进程集的配置。
类型
object

1.7. Deployment [apps/v1]

描述
Deployment 为 Pod 和 ReplicaSet 启用声明性更新。
类型
object

1.8. DeploymentConfig [apps.openshift.io/v1]

描述

Deployment Configs 定义 pod 的模板,并管理新镜像或配置更改。单一部署配置通常与单个微服务类似。可以支持许多不同的部署模式,包括完整重启、可自定义滚动更新和完全自定义行为,以及预部署 hook。每个单独的部署都以复制控制器表示。

当部署配置或更改镜像流中的标签时,部署会被"触发"。可以禁用触发器以允许手动控制部署。"strategy"决定了如何执行部署,可以随时更改。当任何方法触发新部署时,latestVersion 字段会被更新。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。弃用:使用部署或其他方法为 pod 进行声明性更新。

类型
object

1.9. DeploymentConfigRollback [apps.openshift.io/v1]

描述

DeploymentConfigRollback 提供回滚生成的输入。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.10. DeploymentLog [apps.openshift.io/v1]

描述

DeploymentLog 代表部署的日志

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.11. DeploymentRequest [apps.openshift.io/v1]

描述

DeploymentRequest 是对新部署的部署配置的请求。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

1.12. Job [batch/v1]

描述
Job 代表单个作业的配置。
类型
object

1.13. Pod [v1]

描述
Pod 是可在主机上运行的容器的集合。此资源由客户端创建并调度到主机上。
类型
object

1.14. ReplicationController [v1]

描述
ReplicationController 代表复制控制器的配置。
类型
object

1.15. ReplicaSet [apps/v1]

描述
ReplicaSet 可确保在任何给定时间运行指定数量的 pod 副本。
类型
object

1.16. StatefulSet [apps/v1]

描述

StatefulSet 代表一组具有一致身份的 pod。身份被定义为:- Network: 单个稳定的 DNS 和主机名。- 存储:根据需要有多个 VolumeClaim。

StatefulSet 保证给定网络身份始终映射到同一存储身份。

类型
object

第 2 章 BuildConfig [build.openshift.io/v1]

描述

构建配置为新容器镜像定义构建流程。可以使用三种构建类型 - 使用 Dockerfile 构建(Source-to-Image 构建)的 Source-to-Image 构建,它使用特殊准备的基本镜像来接受源代码,以及能够运行 // arbitrary 容器镜像的自定义构建,并作为基础运行并接受构建参数。在集群和完成的时间运行的构建被推送到 "output" 部分中指定的容器镜像 registry。构建可以通过 Webhook 触发,当基础镜像更改时,或者当用户手动请求新构建时。

构建配置创建的每个构建都会编号,并引用其父级配置。可以同时触发多个构建。没有"输出"集的构建可用于测试代码或运行验证构建。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • spec

2.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta_v2

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

spec

object

BuildConfigSpec 描述了创建构建的时间和方式

status

object

BuildConfigStatus 包含构建配置对象的当前状态。

2.1.1. .spec

描述
BuildConfigSpec 描述了创建构建的时间和方式
类型
object
必填
  • 策略
Expand
属性类型描述

completionDeadlineSeconds

整数

completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。

failedBuildsHistoryLimit

整数

failedBuildsHistoryLimit 是要保留的旧失败构建的数量。创建 BuildConfig 时,将保留 5 个最新失败构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有失败的构建都会被保留。

mountTrustedCA

布尔值

mountTrustedCA 绑定会将集群的可信证书颁发机构(如集群的代理配置中定义的)挂载到构建中。这允许自定义 PKI 证书颁发机构(如私有工件存储库和 HTTPS 代理)签名的构建信任组件内处理。

当此字段设置为 true 时,构建中的 /etc/pki/ca-trust 的内容由构建容器管理,并且对此目录或其子目录的任何更改(如 Dockerfile RUN 指令中)都不会保留在构建的输出镜像中。

nodeSelector

对象(字符串)

nodeSelector 是一个选择器,对于构建 pod 适合某个节点,则必须为 true。如果为 nil,它可以被集群的默认构建 nodeselector 值覆盖。如果设置为空映射或带有任何值的映射,则忽略默认的构建 nodeselector 值。

output

object

BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。

postCommit

object

BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。

如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。

配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 rake test --verbose

1.Shell 脚本:

"postCommit": { "script": "rake test --verbose", }

以上是一个便捷的表单,相当于:

"postCommit": { "command": ["/bin/sh", "-ic"], "args": ["rake test --verbose"] }

2.作为镜像入口点的命令:

"postCommit": { "commit": ["rake", "test", "--verbose"] }

命令覆盖 exec 表单中的镜像入口点,如 Docker 所述

3.将参数传递给默认入口点:

"postCommit": { "args": ["rake", "test", "--verbose"] }

只有在镜像入口点可以处理参数时,此表单才有用。

4.Shell 脚本带有参数:

"postCommit": { "script": "rake test $1", "args": ["--verbose"] }

如果您需要在 shell 脚本中正确传递参数,此表单很有用。在 脚本中,$0 将为 "/bin/sh",$1、$2 等是 Args 中的位置参数。

5.命令带有参数:

"postCommit": { "command": ["rake", "test"], "args": ["--verbose"] }

这个表单等同于将参数附加到 Command slice。

同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。

resources

ResourceRequirements

资源计算资源执行构建的要求。

revision

object

SourceRevision 是构建的修订或提交信息

runPolicy

string

runPolicy 描述了如何调度从此构建配置创建的新构建来执行。如果未指定,则默认为 "Serial"。

serviceAccount

string

ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret

source

object

BuildSource 是用于构建的 SCM。

策略

object

BuildStrategy 包含如何执行构建的详细信息。

successfulBuildsHistoryLimit

整数

successfulBuildsHistoryLimit 是要保留的旧成功构建的数量。创建 BuildConfig 时,将保留 5 个最新成功构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有成功构建都会被保留。

触发器

数组

触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。

triggers[]

object

BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。

2.1.2. .spec.output

描述
BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
类型
object
Expand
属性类型描述

imageLabels

数组

imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。

imageLabels[]

object

ImageLabel 代表应用于生成的镜像的标签。

pushSecret

LocalObjectReference_v2

pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。

ObjectReference

将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。

2.1.3. .spec.output.imageLabels

描述
imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
类型
数组

2.1.4. .spec.output.imageLabels[]

描述
ImageLabel 代表应用于生成的镜像的标签。
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 定义标签的名称。它必须具有非零长度。

value

string

value 定义标签的字面值。

2.1.5. .spec.postCommit

描述

BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。

如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。

配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 rake test --verbose

  1. Shell 脚本:

    "postCommit": {
      "script": "rake test --verbose",
    }
    Copy to Clipboard Toggle word wrap
    The above is a convenient form which is equivalent to:
    Copy to Clipboard Toggle word wrap
    "postCommit": {
      "command": ["/bin/sh", "-ic"],
      "args":    ["rake test --verbose"]
    }
    Copy to Clipboard Toggle word wrap
  2. 作为镜像入口点的命令:

    "postCommit": {
      "commit": ["rake", "test", "--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    Command overrides the image entrypoint in the exec form, as documented in
    Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.
    Copy to Clipboard Toggle word wrap
  3. 将参数传递给默认入口点:

    "postCommit": {
     "args": ["rake", "test", "--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    This form is only useful if the image entrypoint can handle arguments.
    Copy to Clipboard Toggle word wrap
  4. Shell 脚本带有参数:

    "postCommit": {
      "script": "rake test $1",
      "args":   ["--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    This form is useful if you need to pass arguments that would otherwise be
    hard to quote properly in the shell script. In the script, $0 will be
    "/bin/sh" and $1, $2, etc, are the positional arguments from Args.
    Copy to Clipboard Toggle word wrap
  5. 命令带有参数:

    "postCommit": {
      "command": ["rake", "test"],
      "args":    ["--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    This form is equivalent to appending the arguments to the Command slice.
    Copy to Clipboard Toggle word wrap

同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。

类型
object
Expand
属性类型描述

args

数组(字符串)

args 是提供给 Command、Script 或容器镜像的默认入口点的参数列表。参数将紧接在要运行的命令后面。

命令

数组(字符串)

命令是要运行的命令。它不能使用 Script 指定。如果镜像没有 /bin/sh,或者您不想使用 shell,则可能需要这样做。在所有其他情况下,使用 Script 可能更为方便。

script

string

脚本是使用 /bin/sh -ic 运行的 shell 脚本。无法通过 命令指定。当 shell 脚本适合执行构建后 hook 时,请使用 Script,例如使用 rake test 运行单元测试。如果您需要控制镜像入口点,或者镜像没有 /bin/sh,请使用 Command 和/或 Args。需要 -i 标志来支持使用 Software Collections (SCL)的 CentOS 和 RHEL 镜像,以便在 shell 中启用适当的集合。例如,在 Ruby 镜像中,这需要在 PATH 中提供 ruby捆绑包 和其他二进制文件。

2.1.6. .spec.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

2.1.7. .spec.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

2.1.8. .spec.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

2.1.9. .spec.revision.git.committer

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

2.1.10. .spec.source

描述
BuildSource 是用于构建的 SCM。
类型
object
Expand
属性类型描述

二进制

object

BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。

configMaps

数组

ConfigMaps 代表 configMaps 列表,其目的地将用于构建。

configMaps[]

object

ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。

contextDir

string

contextDir 指定应用程序的源代码所在的子目录。这允许在存储库根目录以外的目录中具有构建源。

dockerfile

string

Dockerfile 是应构建的 Dockerfile 的原始内容。当指定此选项时,可以根据您的策略基础镜像修改 FROM,您的策略环境中的其他 ENV 小节将添加到 FROM 之后,但在 Dockerfile 小节的其余部分之前。在这些情况下,Dockerfile 源类型可以和 git - 等其他选项一起使用,Git 仓库将在上下文 dir 中替换任何 innate Dockerfile。

git

object

GitBuildSource 定义 Git SCM 的参数

images

数组

镜像描述一组用于为构建提供源的镜像

images[]

object

ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。

secrets

数组

secrets 代表 secret 列表及其目的地,仅用于构建。

secrets[]

object

SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。

sourceSecret

LocalObjectReference_v2

sourceSecret 是 Secret 的名称,用于设置用于克隆私有存储库的身份验证。secret 包含远程存储库的有效凭证,其中 data 的键代表要使用的身份验证方法,value 是 base64 编码的凭证。支持的验证方法有:ssh-privatekey.

type

string

要接受的构建输入类型

2.1.11. .spec.source.binary

描述
BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
类型
object
Expand
属性类型描述

asFile

string

asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 /webapp.war 中。如果留空,Docker 和 Source 构建策略假定此文件为 zip、tar 或 tar.gz 文件,并将其提取为源。Custom 策略将这个二进制文件作为标准输入接收。此文件名不能包含斜杠,也可以是 '..' 或 '.'。

2.1.12. .spec.source.configMaps

描述
ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
类型
数组

2.1.13. .spec.source.configMaps[]

描述
ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
类型
object
必填
  • configMap
Expand
属性类型描述

configMap

LocalObjectReference_v2

ConfigMap 是您要在构建中使用的现有 configmap 的引用。

destinationDir

string

destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。

2.1.14. .spec.source.git

描述
GitBuildSource 定义 Git SCM 的参数
类型
object
必填
  • uri
Expand
属性类型描述

httpProxy

string

httpProxy 是一个代理,用于通过 http 访问 git 存储库

httpsProxy

string

httpsProxy 是一个代理,用于通过 https 访问 git 存储库

noProxy

string

noProxy 是不应使用代理的域列表

ref

string

ref 是要构建的分支/标签/ref。

uri

string

URI 指向将要构建的源。源的结构取决于要运行的构建类型

2.1.15. .spec.source.images

描述
镜像描述一组用于为构建提供源的镜像
类型
数组

2.1.16. .spec.source.images[]

描述
ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。
类型
object
必填
  • from
Expand
属性类型描述

as

数组(字符串)

此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。

from

ObjectReference

from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。

路径

数组

paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。

paths[]

object

ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。

pullSecret

LocalObjectReference_v2

pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。

2.1.17. .spec.source.images[].paths

描述
paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
类型
数组

2.1.18. .spec.source.images[].paths[]

描述
ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
类型
object
必填
  • sourcePath
  • destinationDir
Expand
属性类型描述

destinationDir

string

destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。

sourcePath

string

sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。

2.1.19. .spec.source.secrets

描述
secrets 代表 secret 列表及其目的地,仅用于构建。
类型
数组

2.1.20. .spec.source.secrets[]

描述
SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
类型
object
必填
  • secret
Expand
属性类型描述

destinationDir

string

destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。

secret

LocalObjectReference_v2

Secret 是对要在构建中使用的现有 secret 的引用。

2.1.21. .spec.strategy

描述
BuildStrategy 包含如何执行构建的详细信息。
类型
object
Expand
属性类型描述

customStrategy

object

CustomBuildStrategy 定义特定于 Custom build 的输入参数。

dockerStrategy

object

DockerBuildStrategy 定义特定于容器镜像构建的输入参数。

jenkinsPipelineStrategy

object

JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines

sourceStrategy

object

SourceBuildStrategy 定义特定于 Source 构建的输入参数。

type

string

type 是构建策略的类型。

2.1.22. .spec.strategy.customStrategy

描述
CustomBuildStrategy 定义特定于 Custom build 的输入参数。
类型
object
必填
  • from
Expand
属性类型描述

buildAPIVersion

string

buildAPIVersion 是 Build 对象序列化的请求的 API 版本,并传递给自定义构建器

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

exposeDockerSocket

布尔值

exposeDockerSocket 将允许从容器内运行 Docker 命令(和构建容器镜像)。

forcePull

布尔值

forcePull 描述控制器应该将构建 pod 配置为始终拉取构建器的镜像,或者仅在本地没有时拉取(pull)。

from

ObjectReference

from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用

pullSecret

LocalObjectReference_v2

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

secrets

数组

secret 是构建 pod 中包含的额外 secret 的列表

secrets[]

object

SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点

2.1.23. .spec.strategy.customStrategy.secrets

描述
secret 是构建 pod 中包含的额外 secret 的列表
类型
数组

2.1.24. .spec.strategy.customStrategy.secrets[]

描述
SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点
类型
object
必填
  • secretSource
  • mountPath
Expand
属性类型描述

mountPath

string

mountPath 是挂载 secret 的路径

secretSource

LocalObjectReference_v2

secretSource 是对 secret 的引用

2.1.25. .spec.strategy.dockerStrategy

描述
DockerBuildStrategy 定义特定于容器镜像构建的输入参数。
类型
object
Expand
属性类型描述

buildArgs

array (EnvVar)

buildArgs 包含要在 Dockerfile 中解析的构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg。注意:只支持 'name' 和 'value' 字段。'valueFrom' 字段中的任何设置都会被忽略。

dockerfilePath

string

dockerfilePath 是 Dockerfile 的路径,它将用于构建容器镜像,相对于上下文的根目录(contextDir)。如果未设置,则默认为 Dockerfile

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

forcePull

布尔值

forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。

from

ObjectReference

from 是 DockerImage、ImageStreamTags 或 ImageStreamImage 的引用,可覆盖构建的 Dockerfile 中的 FROM 镜像。如果 Dockerfile 使用多阶段构建,这将替换文件的最后一个 FROM 指令中的镜像。

imageOptimizationPolicy

string

imageOptimizationPolicy 描述了系统在构建镜像时可以使用哪些优化,以减少构建镜像的最终大小或时间。默认策略为 'None',这意味着最终构建镜像将等同于由容器镜像构建 API 创建的镜像。实验性策略 'SkipLayers' 将避免在每个镜像步骤之间提交新层,如果 Dockerfile 无法与"None"策略提供兼容性,将失败。一个额外的实验性策略 'SkipLayersAndWarn' 与 'SkipLayers' 相同,只是在无法保留兼容性时警告。

noCache

布尔值

如果设为 true,noCache 表示必须使用 --no-cache=true 标志执行容器镜像构建

pullSecret

LocalObjectReference_v2

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

数组

卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

object

BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。

2.1.26. .spec.strategy.dockerStrategy.volumes

描述
卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

2.1.27. .spec.strategy.dockerStrategy.volumes[]

描述
BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
类型
object
必填
  • name
  • source
  • mounts
Expand
属性类型描述

mounts

数组

mounts 代表镜像构建容器中的卷位置

mounts[]

object

BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。

name

string

name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

source

object

BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

2.1.28. .spec.strategy.dockerStrategy.volumes[].mounts

描述
mounts 代表镜像构建容器中的卷位置
类型
数组

2.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]

描述
BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
类型
object
必填
  • destinationPath
Expand
属性类型描述

destinationPath

string

destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。

2.1.30. .spec.strategy.dockerStrategy.volumes[].source

描述
BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
类型
object
必填
  • type
Expand
属性类型描述

configMap

ConfigMapVolumeSource_v2

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能

secret

SecretVolumeSource_v2

Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

type

string

type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap

2.1.31. .spec.strategy.jenkinsPipelineStrategy

描述
JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
类型
object
Expand
属性类型描述

env

array (EnvVar)

env 包含您要传递给构建管道的额外环境变量。

Jenkinsfile

string

Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。

jenkinsfilePath

string

jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。

2.1.32. .spec.strategy.sourceStrategy

描述
SourceBuildStrategy 定义特定于 Source 构建的输入参数。
类型
object
必填
  • from
Expand
属性类型描述

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

forcePull

布尔值

forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。

from

ObjectReference

from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用

incremental

布尔值

如果为 true,则增量标志会强制 Source 构建执行增量构建。

pullSecret

LocalObjectReference_v2

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

脚本

string

脚本是源脚本的位置

数组

卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

object

BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。

2.1.33. .spec.strategy.sourceStrategy.volumes

描述
卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

2.1.34. .spec.strategy.sourceStrategy.volumes[]

描述
BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
类型
object
必填
  • name
  • source
  • mounts
Expand
属性类型描述

mounts

数组

mounts 代表镜像构建容器中的卷位置

mounts[]

object

BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。

name

string

name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

source

object

BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

2.1.35. .spec.strategy.sourceStrategy.volumes[].mounts

描述
mounts 代表镜像构建容器中的卷位置
类型
数组

2.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]

描述
BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
类型
object
必填
  • destinationPath
Expand
属性类型描述

destinationPath

string

destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。

2.1.37. .spec.strategy.sourceStrategy.volumes[].source

描述
BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
类型
object
必填
  • type
Expand
属性类型描述

configMap

ConfigMapVolumeSource_v2

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能

secret

SecretVolumeSource_v2

Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

type

string

type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap

2.1.38. .spec.triggers

描述
触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。
类型
数组

2.1.39. .spec.triggers[]

描述
BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。
类型
object
必填
  • type
Expand
属性类型描述

Bitbucket

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

generic

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

github

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

gitlab

object

WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用

imageChange

object

ImageChangeTrigger 允许在 ImageStream 更改时触发构建

type

string

type 是构建触发器的类型。有效值:

- GitHub GitHubWebHookBuildTriggerType 代表一个触发器,它在 GitHub Webhook 调用上启动构建

- generic GenericWebHookBuildTriggerType 代表在通用 Webhook 调用上启动构建的触发器

- GitLab GitLabWebHookBuildTriggerType 代表在 GitLab Webhook 调用上启动构建的触发器

- Bitbucket BitbucketWebHookBuildTriggerType 代表在 Bitbucket Webhook 调用上启动构建的触发器

- ImageChange ImageChangeBuildTriggerType 代表一个触发器,它根据镜像的新版本的可用性启动构建

- ConfigChange ConfigChangeBuildTriggerType 将在初始构建配置创建 WARNING 上触发构建:未来行为将更改为触发任何配置更改上的构建

2.1.40. .spec.triggers[].bitbucket

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
Expand
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.41. .spec.triggers[].bitbucket.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.42. .spec.triggers[].generic

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
Expand
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.43. .spec.triggers[].generic.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.44. .spec.triggers[].github

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
Expand
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.45. .spec.triggers[].github.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.46. .spec.triggers[].gitlab

描述
WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
类型
object
Expand
属性类型描述

allowEnv

布尔值

allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。

secret

string

用于验证请求的 secret。deprecated: 使用 SecretReference 替代。

secretReference

object

SecretLocalReference 包含指向所使用的本地 secret 的信息

2.1.47. .spec.triggers[].gitlab.secretReference

描述
SecretLocalReference 包含指向所使用的本地 secret 的信息
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 是被引用同一命名空间中的资源的名称

2.1.48. .spec.triggers[].imageChange

描述
ImageChangeTrigger 允许在 ImageStream 更改时触发构建
类型
object
Expand
属性类型描述

from

ObjectReference

from 是对 ImageStreamTag 的引用,该引用将在更新时触发构建是可选的。如果没有指定 From,则使用构建策略中的 From 镜像。构建配置中只允许一个带有空的 From 引用的一个 ImageChangeTrigger。

lastTriggeredImageID

string

lastTriggeredImageID 由 ImageChangeController 在内部使用,以保存构建此字段的最后使用的镜像 ID 已被弃用,并将在以后的发行版本中删除。Deprecated

paused

布尔值

如果此触发器被临时禁用,则暂停为 true。可选。

2.1.49. .status

描述
BuildConfigStatus 包含构建配置对象的当前状态。
类型
object
必填
  • lastVersion
Expand
属性类型描述

imageChangeTriggers

数组

ImageChangeTriggers 捕获 BuildConfigSpec 中指定的任何 ImageChangeTrigger 的运行时状态,包括 OpenShift APIServer 为 lastTriggeredImageID 协调的值。这个数组中有一个条目用于 spec 中的每个镜像更改触发器。每个触发器状态引用作为触发器源的 ImageStreamTag。

imageChangeTriggers[]

object

ImageChangeTriggerStatus 跟踪 BuildConfigSpec.Triggers struct 中指定的关联 ImageChangeTrigger 策略的最新解析状态。

lastVersion

整数

lastVersion 用于告知最后触发的构建数量。

2.1.50. .status.imageChangeTriggers

描述
ImageChangeTriggers 捕获 BuildConfigSpec 中指定的任何 ImageChangeTrigger 的运行时状态,包括 OpenShift APIServer 为 lastTriggeredImageID 协调的值。这个数组中有一个条目用于 spec 中的每个镜像更改触发器。每个触发器状态引用作为触发器源的 ImageStreamTag。
类型
数组

2.1.51. .status.imageChangeTriggers[]

描述
ImageChangeTriggerStatus 跟踪 BuildConfigSpec.Triggers struct 中指定的关联 ImageChangeTrigger 策略的最新解析状态。
类型
object
Expand
属性类型描述

from

object

ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。

lastTriggerTime

时间

lastTriggerTime 是这个特定 ImageStreamTag 最后一次触发构建来启动的时间。只有在此触发器特别启动 Build 时,此字段才会更新。

lastTriggeredImageID

string

当为此 BuildConfig 的构建启动时,lastTriggeredImageID 代表 ImageStreamTag 的 sha/id。每次启动此 BuildConfig 的构建时都会更新 lastTriggeredImageID,即使此 ImageStreamTag 不是启动构建的原因。

2.1.52. .status.imageChangeTriggers[].from

描述
ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。
类型
object
Expand
属性类型描述

name

string

name 是 ImageChangeTrigger 的 ImageStreamTag 的名称

namespace

string

namespace 是 ImageChangeTrigger 的 ImageStreamTag 所在的命名空间

2.2. API 端点

可用的 API 端点如下:

  • /apis/build.openshift.io/v1/buildconfigs

    • GET: 列出或监视类型为 BuildConfig 的对象
  • /apis/build.openshift.io/v1/watch/buildconfigs

    • GET: 观察单个对 BuildConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs

    • DELETE :删除 BuildConfig 的集合
    • GET: 列出或监视类型为 BuildConfig 的对象
    • POST :创建 BuildConfig
  • /apis/build.openshift.io/v1/watch/namespaces/{namespace}/buildconfigs

    • GET: 观察单个对 BuildConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}

    • DELETE :删除 BuildConfig
    • GET :读取指定的 BuildConfig
    • PATCH: 部分更新指定的 BuildConfig
    • PUT :替换指定的 BuildConfig
  • /apis/build.openshift.io/v1/watch/namespaces/{namespace}/buildconfigs/{name}

    • GET: 观察对类型为 BuildConfig 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。

2.2.1. /apis/build.openshift.io/v1/buildconfigs

HTTP 方法
GET
描述
列出或监视类型为 BuildConfig 的对象
Expand
表 2.1. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildConfigList schema

401 - Unauthorized

2.2.2. /apis/build.openshift.io/v1/watch/buildconfigs

HTTP 方法
GET
描述
观察单个对 BuildConfig 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
Expand
表 2.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

HTTP 方法
DELETE
描述
删除 BuildConfig 集合
Expand
表 2.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 2.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status_v4 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 BuildConfig 的对象
Expand
表 2.5. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildConfigList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 BuildConfig
Expand
表 2.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 2.7. 主体参数
参数类型描述

正文(body)

BuildConfig schema

 
Expand
表 2.8. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildConfig schema

201 - Created

BuildConfig schema

202 - Accepted

BuildConfig schema

401 - Unauthorized

HTTP 方法
GET
描述
观察单个对 BuildConfig 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
Expand
表 2.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 2.10. 全局路径参数
参数类型描述

name

string

BuildConfig 的名称

HTTP 方法
DELETE
描述
删除 BuildConfig
Expand
表 2.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 2.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status_v4 模式

202 - Accepted

Status_v4 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 BuildConfig
Expand
表 2.13. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildConfig schema

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 BuildConfig
Expand
表 2.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 2.15. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildConfig schema

201 - Created

BuildConfig schema

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 BuildConfig
Expand
表 2.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 2.17. 主体参数
参数类型描述

正文(body)

BuildConfig schema

 
Expand
表 2.18. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildConfig schema

201 - Created

BuildConfig schema

401 - Unauthorized

Expand
表 2.19. 全局路径参数
参数类型描述

name

string

BuildConfig 的名称

HTTP 方法
GET
描述
观察对类型为 BuildConfig 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 2.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

第 3 章 Build [build.openshift.io/v1]

描述

构建封装了生成新可部署镜像所需的输入,以及执行的状态以及执行构建的 Pod 的引用。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

3.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta_v2

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

spec

object

BuildSpec 具有代表构建的信息,以及构建的附加信息

status

object

BuildStatus 包含构建的状态

3.1.1. .spec

描述
BuildSpec 具有代表构建的信息,以及构建的附加信息
类型
object
必填
  • 策略
Expand
属性类型描述

completionDeadlineSeconds

整数

completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。

mountTrustedCA

布尔值

mountTrustedCA 绑定会将集群的可信证书颁发机构(如集群的代理配置中定义的)挂载到构建中。这允许自定义 PKI 证书颁发机构(如私有工件存储库和 HTTPS 代理)签名的构建信任组件内处理。

当此字段设置为 true 时,构建中的 /etc/pki/ca-trust 的内容由构建容器管理,并且对此目录或其子目录的任何更改(如 Dockerfile RUN 指令中)都不会保留在构建的输出镜像中。

nodeSelector

对象(字符串)

nodeSelector 是一个选择器,对于构建 pod 适合某个节点,则必须为 true。如果为 nil,它可以被集群的默认构建 nodeselector 值覆盖。如果设置为空映射或带有任何值的映射,则忽略默认的构建 nodeselector 值。

output

object

BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。

postCommit

object

BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。

如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。

配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 rake test --verbose

1.Shell 脚本:

"postCommit": { "script": "rake test --verbose", }

以上是一个便捷的表单,相当于:

"postCommit": { "command": ["/bin/sh", "-ic"], "args": ["rake test --verbose"] }

2.作为镜像入口点的命令:

"postCommit": { "commit": ["rake", "test", "--verbose"] }

命令覆盖 exec 表单中的镜像入口点,如 Docker 所述

3.将参数传递给默认入口点:

"postCommit": { "args": ["rake", "test", "--verbose"] }

只有在镜像入口点可以处理参数时,此表单才有用。

4.Shell 脚本带有参数:

"postCommit": { "script": "rake test $1", "args": ["--verbose"] }

如果您需要在 shell 脚本中正确传递参数,此表单很有用。在 脚本中,$0 将为 "/bin/sh",$1、$2 等是 Args 中的位置参数。

5.命令带有参数:

"postCommit": { "command": ["rake", "test"], "args": ["--verbose"] }

这个表单等同于将参数附加到 Command slice。

同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。

resources

ResourceRequirements

资源计算资源执行构建的要求。

revision

object

SourceRevision 是构建的修订或提交信息

serviceAccount

string

ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret

source

object

BuildSource 是用于构建的 SCM。

策略

object

BuildStrategy 包含如何执行构建的详细信息。

triggeredBy

数组

triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。

triggeredBy[]

object

BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。

3.1.2. .spec.output

描述
BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
类型
object
Expand
属性类型描述

imageLabels

数组

imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。

imageLabels[]

object

ImageLabel 代表应用于生成的镜像的标签。

pushSecret

LocalObjectReference_v2

pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。

ObjectReference

将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。

3.1.3. .spec.output.imageLabels

描述
imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
类型
数组

3.1.4. .spec.output.imageLabels[]

描述
ImageLabel 代表应用于生成的镜像的标签。
类型
object
必填
  • name
Expand
属性类型描述

name

string

name 定义标签的名称。它必须具有非零长度。

value

string

value 定义标签的字面值。

3.1.5. .spec.postCommit

描述

BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。

如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。

配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 rake test --verbose

  1. Shell 脚本:

    "postCommit": {
      "script": "rake test --verbose",
    }
    Copy to Clipboard Toggle word wrap
    The above is a convenient form which is equivalent to:
    Copy to Clipboard Toggle word wrap
    "postCommit": {
      "command": ["/bin/sh", "-ic"],
      "args":    ["rake test --verbose"]
    }
    Copy to Clipboard Toggle word wrap
  2. 作为镜像入口点的命令:

    "postCommit": {
      "commit": ["rake", "test", "--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    Command overrides the image entrypoint in the exec form, as documented in
    Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.
    Copy to Clipboard Toggle word wrap
  3. 将参数传递给默认入口点:

    "postCommit": {
     "args": ["rake", "test", "--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    This form is only useful if the image entrypoint can handle arguments.
    Copy to Clipboard Toggle word wrap
  4. Shell 脚本带有参数:

    "postCommit": {
      "script": "rake test $1",
      "args":   ["--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    This form is useful if you need to pass arguments that would otherwise be
    hard to quote properly in the shell script. In the script, $0 will be
    "/bin/sh" and $1, $2, etc, are the positional arguments from Args.
    Copy to Clipboard Toggle word wrap
  5. 命令带有参数:

    "postCommit": {
      "command": ["rake", "test"],
      "args":    ["--verbose"]
    }
    Copy to Clipboard Toggle word wrap
    This form is equivalent to appending the arguments to the Command slice.
    Copy to Clipboard Toggle word wrap

同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。

类型
object
Expand
属性类型描述

args

数组(字符串)

args 是提供给 Command、Script 或容器镜像的默认入口点的参数列表。参数将紧接在要运行的命令后面。

命令

数组(字符串)

命令是要运行的命令。它不能使用 Script 指定。如果镜像没有 /bin/sh,或者您不想使用 shell,则可能需要这样做。在所有其他情况下,使用 Script 可能更为方便。

script

string

脚本是使用 /bin/sh -ic 运行的 shell 脚本。无法通过 命令指定。当 shell 脚本适合执行构建后 hook 时,请使用 Script,例如使用 rake test 运行单元测试。如果您需要控制镜像入口点,或者镜像没有 /bin/sh,请使用 Command 和/或 Args。需要 -i 标志来支持使用 Software Collections (SCL)的 CentOS 和 RHEL 镜像,以便在 shell 中启用适当的集合。例如,在 Ruby 镜像中,这需要在 PATH 中提供 ruby捆绑包 和其他二进制文件。

3.1.6. .spec.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

3.1.7. .spec.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

3.1.8. .spec.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

3.1.9. .spec.revision.git.committer

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

3.1.10. .spec.source

描述
BuildSource 是用于构建的 SCM。
类型
object
Expand
属性类型描述

二进制

object

BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。

configMaps

数组

ConfigMaps 代表 configMaps 列表,其目的地将用于构建。

configMaps[]

object

ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。

contextDir

string

contextDir 指定应用程序的源代码所在的子目录。这允许在存储库根目录以外的目录中具有构建源。

dockerfile

string

Dockerfile 是应构建的 Dockerfile 的原始内容。当指定此选项时,可以根据您的策略基础镜像修改 FROM,您的策略环境中的其他 ENV 小节将添加到 FROM 之后,但在 Dockerfile 小节的其余部分之前。在这些情况下,Dockerfile 源类型可以和 git - 等其他选项一起使用,Git 仓库将在上下文 dir 中替换任何 innate Dockerfile。

git

object

GitBuildSource 定义 Git SCM 的参数

images

数组

镜像描述一组用于为构建提供源的镜像

images[]

object

ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。

secrets

数组

secrets 代表 secret 列表及其目的地,仅用于构建。

secrets[]

object

SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。

sourceSecret

LocalObjectReference_v2

sourceSecret 是 Secret 的名称,用于设置用于克隆私有存储库的身份验证。secret 包含远程存储库的有效凭证,其中 data 的键代表要使用的身份验证方法,value 是 base64 编码的凭证。支持的验证方法有:ssh-privatekey.

type

string

要接受的构建输入类型

3.1.11. .spec.source.binary

描述
BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
类型
object
Expand
属性类型描述

asFile

string

asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 /webapp.war 中。如果留空,Docker 和 Source 构建策略假定此文件为 zip、tar 或 tar.gz 文件,并将其提取为源。Custom 策略将这个二进制文件作为标准输入接收。此文件名不能包含斜杠,也可以是 '..' 或 '.'。

3.1.12. .spec.source.configMaps

描述
ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
类型
数组

3.1.13. .spec.source.configMaps[]

描述
ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
类型
object
必填
  • configMap
Expand
属性类型描述

configMap

LocalObjectReference_v2

ConfigMap 是您要在构建中使用的现有 configmap 的引用。

destinationDir

string

destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。

3.1.14. .spec.source.git

描述
GitBuildSource 定义 Git SCM 的参数
类型
object
必填
  • uri
Expand
属性类型描述

httpProxy

string

httpProxy 是一个代理,用于通过 http 访问 git 存储库

httpsProxy

string

httpsProxy 是一个代理,用于通过 https 访问 git 存储库

noProxy

string

noProxy 是不应使用代理的域列表

ref

string

ref 是要构建的分支/标签/ref。

uri

string

URI 指向将要构建的源。源的结构取决于要运行的构建类型

3.1.15. .spec.source.images

描述
镜像描述一组用于为构建提供源的镜像
类型
数组

3.1.16. .spec.source.images[]

描述
ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。
类型
object
必填
  • from
Expand
属性类型描述

as

数组(字符串)

此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。

from

ObjectReference

from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。

路径

数组

paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。

paths[]

object

ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。

pullSecret

LocalObjectReference_v2

pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。

3.1.17. .spec.source.images[].paths

描述
paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
类型
数组

3.1.18. .spec.source.images[].paths[]

描述
ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
类型
object
必填
  • sourcePath
  • destinationDir
Expand
属性类型描述

destinationDir

string

destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。

sourcePath

string

sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。

3.1.19. .spec.source.secrets

描述
secrets 代表 secret 列表及其目的地,仅用于构建。
类型
数组

3.1.20. .spec.source.secrets[]

描述
SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
类型
object
必填
  • secret
Expand
属性类型描述

destinationDir

string

destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。

secret

LocalObjectReference_v2

Secret 是对要在构建中使用的现有 secret 的引用。

3.1.21. .spec.strategy

描述
BuildStrategy 包含如何执行构建的详细信息。
类型
object
Expand
属性类型描述

customStrategy

object

CustomBuildStrategy 定义特定于 Custom build 的输入参数。

dockerStrategy

object

DockerBuildStrategy 定义特定于容器镜像构建的输入参数。

jenkinsPipelineStrategy

object

JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines

sourceStrategy

object

SourceBuildStrategy 定义特定于 Source 构建的输入参数。

type

string

type 是构建策略的类型。

3.1.22. .spec.strategy.customStrategy

描述
CustomBuildStrategy 定义特定于 Custom build 的输入参数。
类型
object
必填
  • from
Expand
属性类型描述

buildAPIVersion

string

buildAPIVersion 是 Build 对象序列化的请求的 API 版本,并传递给自定义构建器

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

exposeDockerSocket

布尔值

exposeDockerSocket 将允许从容器内运行 Docker 命令(和构建容器镜像)。

forcePull

布尔值

forcePull 描述控制器应该将构建 pod 配置为始终拉取构建器的镜像,或者仅在本地没有时拉取(pull)。

from

ObjectReference

from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用

pullSecret

LocalObjectReference_v2

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

secrets

数组

secret 是构建 pod 中包含的额外 secret 的列表

secrets[]

object

SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点

3.1.23. .spec.strategy.customStrategy.secrets

描述
secret 是构建 pod 中包含的额外 secret 的列表
类型
数组

3.1.24. .spec.strategy.customStrategy.secrets[]

描述
SecretSpec 指定要包含在构建 pod 中的 secret 及其对应的挂载点
类型
object
必填
  • secretSource
  • mountPath
Expand
属性类型描述

mountPath

string

mountPath 是挂载 secret 的路径

secretSource

LocalObjectReference_v2

secretSource 是对 secret 的引用

3.1.25. .spec.strategy.dockerStrategy

描述
DockerBuildStrategy 定义特定于容器镜像构建的输入参数。
类型
object
Expand
属性类型描述

buildArgs

array (EnvVar)

buildArgs 包含要在 Dockerfile 中解析的构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg。注意:只支持 'name' 和 'value' 字段。'valueFrom' 字段中的任何设置都会被忽略。

dockerfilePath

string

dockerfilePath 是 Dockerfile 的路径,它将用于构建容器镜像,相对于上下文的根目录(contextDir)。如果未设置,则默认为 Dockerfile

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

forcePull

布尔值

forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。

from

ObjectReference

from 是 DockerImage、ImageStreamTags 或 ImageStreamImage 的引用,可覆盖构建的 Dockerfile 中的 FROM 镜像。如果 Dockerfile 使用多阶段构建,这将替换文件的最后一个 FROM 指令中的镜像。

imageOptimizationPolicy

string

imageOptimizationPolicy 描述了系统在构建镜像时可以使用哪些优化,以减少构建镜像的最终大小或时间。默认策略为 'None',这意味着最终构建镜像将等同于由容器镜像构建 API 创建的镜像。实验性策略 'SkipLayers' 将避免在每个镜像步骤之间提交新层,如果 Dockerfile 无法与"None"策略提供兼容性,将失败。一个额外的实验性策略 'SkipLayersAndWarn' 与 'SkipLayers' 相同,只是在无法保留兼容性时警告。

noCache

布尔值

如果设为 true,noCache 表示必须使用 --no-cache=true 标志执行容器镜像构建

pullSecret

LocalObjectReference_v2

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

数组

卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

object

BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。

3.1.26. .spec.strategy.dockerStrategy.volumes

描述
卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

3.1.27. .spec.strategy.dockerStrategy.volumes[]

描述
BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
类型
object
必填
  • name
  • source
  • mounts
Expand
属性类型描述

mounts

数组

mounts 代表镜像构建容器中的卷位置

mounts[]

object

BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。

name

string

name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

source

object

BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

3.1.28. .spec.strategy.dockerStrategy.volumes[].mounts

描述
mounts 代表镜像构建容器中的卷位置
类型
数组

3.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]

描述
BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
类型
object
必填
  • destinationPath
Expand
属性类型描述

destinationPath

string

destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。

3.1.30. .spec.strategy.dockerStrategy.volumes[].source

描述
BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
类型
object
必填
  • type
Expand
属性类型描述

configMap

ConfigMapVolumeSource_v2

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能

secret

SecretVolumeSource_v2

Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

type

string

type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap

3.1.31. .spec.strategy.jenkinsPipelineStrategy

描述
JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
类型
object
Expand
属性类型描述

env

array (EnvVar)

env 包含您要传递给构建管道的额外环境变量。

Jenkinsfile

string

Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。

jenkinsfilePath

string

jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。

3.1.32. .spec.strategy.sourceStrategy

描述
SourceBuildStrategy 定义特定于 Source 构建的输入参数。
类型
object
必填
  • from
Expand
属性类型描述

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

forcePull

布尔值

forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。

from

ObjectReference

from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用

incremental

布尔值

如果为 true,则增量标志会强制 Source 构建执行增量构建。

pullSecret

LocalObjectReference_v2

pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证

脚本

string

脚本是源脚本的位置

数组

卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes

volumes[]

object

BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。

3.1.33. .spec.strategy.sourceStrategy.volumes

描述
卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
类型
数组

3.1.34. .spec.strategy.sourceStrategy.volumes[]

描述
BuildVolume 描述了为构建 pod 提供的卷,以便将其挂载到 buildah 的运行时环境中。仅支持 Kubernetes 卷源的子集。
类型
object
必填
  • name
  • source
  • mounts
Expand
属性类型描述

mounts

数组

mounts 代表镜像构建容器中的卷位置

mounts[]

object

BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。

name

string

name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

source

object

BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。

3.1.35. .spec.strategy.sourceStrategy.volumes[].mounts

描述
mounts 代表镜像构建容器中的卷位置
类型
数组

3.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]

描述
BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
类型
object
必填
  • destinationPath
Expand
属性类型描述

destinationPath

string

destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。

3.1.37. .spec.strategy.sourceStrategy.volumes[].source

描述
BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
类型
object
必填
  • type
Expand
属性类型描述

configMap

ConfigMapVolumeSource_v2

ConfigMap 代表应填充此卷的 ConfigMap

csi

CSIVolumeSource

CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能

secret

SecretVolumeSource_v2

Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret

type

string

type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap

3.1.38. .spec.triggeredBy

描述
triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。
类型
数组

3.1.39. .spec.triggeredBy[]

描述
BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。
类型
object
Expand
属性类型描述

bitbucketWebHook

object

BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。

genericWebHook

object

GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。

githubWebHook

object

GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。

gitlabWebHook

object

GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。

imageChangeBuild

object

ImageChangeCause 包含有关触发构建的镜像的信息

message

string

消息用于存储触发构建的原因的人类可读消息。例如:"手动由 user"触发,"配置更改",etc.

3.1.40. .spec.triggeredBy[].bitbucketWebHook

描述
BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.41. .spec.triggeredBy[].bitbucketWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

3.1.42. .spec.triggeredBy[].bitbucketWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

3.1.45. .spec.triggeredBy[].genericWebHook

描述
GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.46. .spec.triggeredBy[].genericWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

3.1.47. .spec.triggeredBy[].genericWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

3.1.50. .spec.triggeredBy[].githubWebHook

描述
GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.51. .spec.triggeredBy[].githubWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

3.1.52. .spec.triggeredBy[].githubWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

3.1.55. .spec.triggeredBy[].gitlabWebHook

描述
GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

3.1.56. .spec.triggeredBy[].gitlabWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

3.1.57. .spec.triggeredBy[].gitlabWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

3.1.60. .spec.triggeredBy[].imageChangeBuild

描述
ImageChangeCause 包含有关触发构建的镜像的信息
类型
object
Expand
属性类型描述

fromRef

ObjectReference

fromRef 包含有关触发构建的镜像的详细信息。

imageID

string

imageID 是触发新构建的镜像的 ID。

3.1.61. .status

描述
BuildStatus 包含构建的状态
类型
object
必填
  • phase
Expand
属性类型描述

Cancelled

布尔值

Cancelled 描述了是否为构建触发了 cancel 事件。

completionTimestamp

Time

completionTimestamp 是一个代表此构建完成后服务器时间的时间戳,无论构建是否失败。它反映了运行构建所终止的 Pod 的时间。它以 RFC3339 格式表示,并以 UTC 表示。

conditions

数组

条件代表构建当前状态的最新可用影响。

conditions[]

object

BuildCondition 描述了构建在特定时间点上的状态。

config

ObjectReference

在 BuildConfig 中,config 是此构建所基于的 ObjectReference。

duration

整数

duration 包含用于描述构建时间的 time.Duration 对象。

logSnippet

string

logSnippet 是构建日志的最后几行。这个值只为失败的构建设置。

message

string

Message 是人类可读的消息,指示构建具有此状态的详细信息。

output

object

BuildStatusOutput 包含构建的镜像的状态。

outputDockerImageReference

string

outputDockerImageReference 包含对此构建将要构建的容器镜像的引用。其值从 Build.Spec.Output.To 计算,并且应包含 registry 地址,以便它可用于推送和拉取镜像。

phase

string

阶段是构建生命周期中的点。可能的值有 "New", "Pending", "Running", "Complete", "Failed", "Error", 和 "Cancelled"。

reason

string

reason 是一个简短的 CamelCase 字符串,用于描述任何故障,用于 CLI 中的机器解析和波动显示。

stages

数组

阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。

stages[]

object

StageInfo 包含有关构建阶段的详细信息。

startTimestamp

Time

startTimestamp 是一个时间戳,代表此构建在 Pod 中启动时的服务器时间。它以 RFC3339 格式表示,并以 UTC 表示。

3.1.62. .status.conditions

描述
条件代表构建当前状态的最新可用影响。
类型
array

3.1.63. .status.conditions[]

描述
BuildCondition 描述了构建在特定时间点上的状态。
类型
object
必填
  • type
  • status
Expand
属性类型描述

lastTransitionTime

Time

条件从一个状态转换到另一个状态最后一次的时间。

lastUpdateTime

Time

最后一次更新此条件的时间。

message

字符串

人类可读的消息,指示有关转换的详细信息。

reason

字符串

条件最后一次转换的原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

string

构建条件的类型。

3.1.64. .status.output

描述
BuildStatusOutput 包含构建的镜像的状态。
类型
object
Expand
属性类型描述

object

BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。

3.1.65. .status.output.to

描述
BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。
类型
object
Expand
属性类型描述

imageDigest

string

imageDigest 是构建的容器镜像摘要。摘要唯一标识它要推送到的 registry 中的镜像。

请注意,即使推送成功完成,也不能始终设置此字段 - 例如,当 registry 没有摘要或以构建器不理解的格式返回时。

3.1.66. .status.stages

描述
阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。
类型
数组

3.1.67. .status.stages[]

描述
StageInfo 包含有关构建阶段的详细信息。
类型
object
Expand
属性类型描述

durationMilliseconds

整数

durationMilliseconds 标识阶段在毫秒内完成所需的时间。注:一个阶段的持续时间可以超过阶段中步骤持续时间的总和,因为不是所有操作都考虑在显式构建步骤中。

name

string

name 是发生的每个构建阶段的唯一标识符。

startTime

Time

startTime 是一个代表这个阶段启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。

步骤

数组

步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。

steps[]

object

StepInfo 包含构建步骤的详细信息。

3.1.68. .status.stages[].steps

描述
步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。
类型
数组

3.1.69. .status.stages[].steps[]

描述
StepInfo 包含构建步骤的详细信息。
类型
object
Expand
属性类型描述

durationMilliseconds

整数

durationMilliseconds 确定步骤在毫秒内完成所需的时间。

name

string

name 是每个构建步骤的唯一标识符。

startTime

Time

startTime 是一个代表此步骤启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。

3.2. API 端点

可用的 API 端点如下:

  • /apis/build.openshift.io/v1/builds

    • GET: 列出或监视类型为 Build 的对象
  • /apis/build.openshift.io/v1/watch/builds

    • GET: 观察单个对 Build 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/build.openshift.io/v1/namespaces/{namespace}/builds

    • DELETE: 删除构建集合
    • GET: 列出或监视类型为 Build 的对象
    • POST :创建构建
  • /apis/build.openshift.io/v1/watch/namespaces/{namespace}/builds

    • GET: 观察单个对 Build 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}

    • DELETE :删除构建
    • GET :读取指定的构建
    • PATCH: 部分更新指定的构建
    • PUT :替换指定的构建
  • /apis/build.openshift.io/v1/watch/namespaces/{namespace}/builds/{name}

    • GET: 观察对类型为 Build 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
  • /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/details

    • PUT :替换指定构建的详情
  • /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}/webhooks

    • POST :将 POST 请求连接到 BuildConfig 的 Webhook
  • /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}/webhooks/{path}

    • POST :将 POST 请求连接到 BuildConfig 的 Webhook

3.2.1. /apis/build.openshift.io/v1/builds

HTTP 方法
GET
描述
列出或监视类型为 Build 的对象
Expand
表 3.1. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildList 模式

401 - Unauthorized

3.2.2. /apis/build.openshift.io/v1/watch/builds

HTTP 方法
GET
描述
观察单个对 Build 的列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 3.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

HTTP 方法
DELETE
描述
删除构建集合
Expand
表 3.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 3.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status_v4 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 Build 的对象
Expand
表 3.5. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建构建
Expand
表 3.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 3.7. 主体参数
参数类型描述

正文(body)

Build 模式

 
Expand
表 3.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Build 模式

201 - Created

Build 模式

202 - Accepted

Build 模式

401 - Unauthorized

HTTP 方法
GET
描述
观察单个对 Build 的列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 3.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 3.10. 全局路径参数
参数类型描述

name

字符串

构建的名称

HTTP 方法
DELETE
描述
删除构建
Expand
表 3.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 3.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status_v4 模式

202 - Accepted

Status_v4 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的构建
Expand
表 3.13. HTTP 响应
HTTP 代码响应正文

200 - OK

Build 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的构建
Expand
表 3.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 3.15. HTTP 响应
HTTP 代码响应正文

200 - OK

Build 模式

201 - Created

Build 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的构建
Expand
表 3.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 3.17. 主体参数
参数类型描述

正文(body)

Build 模式

 
Expand
表 3.18. HTTP 响应
HTTP 代码响应正文

200 - OK

Build 模式

201 - Created

Build 模式

401 - Unauthorized

Expand
表 3.19. 全局路径参数
参数类型描述

name

字符串

构建的名称

HTTP 方法
GET
描述
观察对类型为 Build 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 3.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 3.21. 全局路径参数
参数类型描述

name

字符串

构建的名称

Expand
表 3.22. 全局查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

HTTP 方法
PUT
描述
替换指定构建的详情
Expand
表 3.23. 主体参数
参数类型描述

正文(body)

Build 模式

 
Expand
表 3.24. HTTP 响应
HTTP 代码响应正文

200 - OK

Build 模式

201 - Created

Build 模式

401 - Unauthorized

Expand
表 3.25. 全局路径参数
参数类型描述

name

字符串

构建的名称

HTTP 方法
POST
描述
将 POST 请求连接到 BuildConfig 的 Webhook
Expand
表 3.26. HTTP 响应
HTTP 代码响应正文

200 - OK

string

401 - 未授权

Expand
表 3.27. 全局路径参数
参数类型描述

name

字符串

构建的名称

HTTP 方法
POST
描述
将 POST 请求连接到 BuildConfig 的 Webhook
Expand
表 3.28. HTTP 响应
HTTP 代码响应正文

200 - OK

string

401 - 未授权

第 4 章 BuildLog [build.openshift.io/v1]

描述

BuildLog 是与构建日志重定向器关联的(未使用的)资源

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

4.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

4.2. API 端点

可用的 API 端点如下:

  • /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/log

    • GET :读取指定构建的日志
Expand
表 4.1. 全局路径参数
参数类型描述

name

string

BuildLog 的名称

HTTP 方法
GET
描述
读取指定构建的日志
Expand
表 4.2. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildLog 模式

401 - Unauthorized

第 5 章 BuildRequest [build.openshift.io/v1]

描述

BuildRequest 是用来传递参数到构建生成器的资源

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

5.1. 规格

Expand
属性类型描述

apiVersion

string

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

二进制

object

BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。

dockerStrategyOptions

object

DockerStrategyOptions 包含容器镜像构建的额外策略选项

env

array (EnvVar)

env 包含您要传递给构建器容器的额外环境变量。

from

ObjectReference

from 是触发构建的 ImageStreamTag 的引用。

kind

string

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

lastVersion

整数

lastVersion (可选)是用于生成构建的 BuildConfig 的 LastVersion。如果生成器中的 BuildConfig 不匹配,则不会生成构建。

metadata

ObjectMeta_v2

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

revision

object

SourceRevision 是构建的修订或提交信息

sourceStrategyOptions

object

SourceStrategyOptions 包含 Source 构建的额外策略选项

triggeredBy

数组

triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。

triggeredBy[]

object

BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。

triggeredByImage

ObjectReference

triggeredByImage 是触发此构建的镜像。

5.1.1. .binary

描述
BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
类型
object
Expand
属性类型描述

asFile

string

asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 /webapp.war 中。如果留空,Docker 和 Source 构建策略假定此文件为 zip、tar 或 tar.gz 文件,并将其提取为源。Custom 策略将这个二进制文件作为标准输入接收。此文件名不能包含斜杠,也可以是 '..' 或 '.'。

5.1.2. .dockerStrategyOptions

描述
DockerStrategyOptions 包含容器镜像构建的额外策略选项
类型
object
Expand
属性类型描述

buildArgs

array (EnvVar)

args 包含要传递给 Docker 的任何构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg

noCache

布尔值

noCache 覆盖构建配置中的 docker-strategy noCache 选项

5.1.3. .revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

5.1.4. .revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

5.1.5. .revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.6. .revision.git.committer

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.7. .sourceStrategyOptions

描述
SourceStrategyOptions 包含 Source 构建的额外策略选项
类型
object
Expand
属性类型描述

incremental

布尔值

增量覆盖构建配置中的 source-strategy 增量选项

5.1.8. .triggeredBy

描述
triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。
类型
数组

5.1.9. .triggeredBy[]

描述
BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。
类型
object
Expand
属性类型描述

bitbucketWebHook

object

BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。

genericWebHook

object

GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。

githubWebHook

object

GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。

gitlabWebHook

object

GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。

imageChangeBuild

object

ImageChangeCause 包含有关触发构建的镜像的信息

message

string

消息用于存储触发构建的原因的人类可读消息。例如:"手动由 user"触发,"配置更改",etc.

5.1.10. .triggeredBy[].bitbucketWebHook

描述
BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

5.1.11. .triggeredBy[].bitbucketWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

5.1.12. .triggeredBy[].bitbucketWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

5.1.13. .triggeredBy[].bitbucketWebHook.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.15. .triggeredBy[].genericWebHook

描述
GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

5.1.16. .triggeredBy[].genericWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

5.1.17. .triggeredBy[].genericWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

5.1.18. .triggeredBy[].genericWebHook.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.20. .triggeredBy[].githubWebHook

描述
GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

5.1.21. .triggeredBy[].githubWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

5.1.22. .triggeredBy[].githubWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

5.1.23. .triggeredBy[].githubWebHook.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.24. .triggeredBy[].githubWebHook.revision.git.committer

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.25. .triggeredBy[].gitlabWebHook

描述
GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。
类型
object
Expand
属性类型描述

revision

object

SourceRevision 是构建的修订或提交信息

secret

string

secret 是触发构建的模糊的 webhook secret。

5.1.26. .triggeredBy[].gitlabWebHook.revision

描述
SourceRevision 是构建的修订或提交信息
类型
object
必填
  • type
Expand
属性类型描述

git

object

GitSourceRevision 是构建的 git 源的提交信息

type

string

构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一

5.1.27. .triggeredBy[].gitlabWebHook.revision.git

描述
GitSourceRevision 是构建的 git 源的提交信息
类型
object
Expand
属性类型描述

作者

object

SourceControlUser 定义源控制用户的身份

commit

string

commit 是标识特定提交的提交哈希

committer

object

SourceControlUser 定义源控制用户的身份

message

string

message 是特定提交的描述

5.1.28. .triggeredBy[].gitlabWebHook.revision.git.author

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.29. .triggeredBy[].gitlabWebHook.revision.git.committer

描述
SourceControlUser 定义源控制用户的身份
类型
object
Expand
属性类型描述

email

string

源控制用户的电子邮件

name

string

源控制用户的名称

5.1.30. .triggeredBy[].imageChangeBuild

描述
ImageChangeCause 包含有关触发构建的镜像的信息
类型
object
Expand
属性类型描述

fromRef

ObjectReference

fromRef 包含有关触发构建的镜像的详细信息。

imageID

string

imageID 是触发新构建的镜像的 ID。

5.2. API 端点

可用的 API 端点如下:

  • /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/clone

    • POST :创建构建克隆
  • /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}/instantiate

    • POST :创建 BuildConfig 的实例化
Expand
表 5.1. 全局路径参数
参数类型描述

name

string

BuildRequest 的名称

Expand
表 5.2. 全局查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

HTTP 方法
POST
描述
创建构建的克隆
Expand
表 5.3. 主体参数
参数类型描述

正文(body)

BuildRequest 模式

 
Expand
表 5.4. HTTP 响应
HTTP 代码响应正文

200 - OK

BuildRequest 模式

201 - Created

BuildRequest 模式

202 - Accepted

BuildRequest 模式

401 - Unauthorized

Expand
表 5.5. 全局路径参数
参数类型描述

name

string

BuildRequest 的名称

Expand
表 5.6. 全局查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

HTTP 方法
POST
描述
创建 BuildConfig 的实例化
Expand
表 5.7. 主体参数
参数类型描述

正文(body)

BuildRequest 模式

 
Expand
表 5.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Build 模式

201 - Created

Build 模式

202 - Accepted

Build 模式

401 - Unauthorized

第 6 章 CronJob [batch/v1]

描述
CronJob 代表单个 cron 作业的配置。
类型
object

6.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

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

spec

object

CronJobSpec 描述作业执行如何以及实际运行时。

status

object

CronJobStatus 代表 cron 任务的当前状态。

6.1.1. .spec

描述
CronJobSpec 描述作业执行如何以及实际运行时。
类型
object
必填
  • 调度
  • jobTemplate
Expand
属性类型描述

concurrencyPolicy

string

指定如何处理作业的并发执行。有效值为:

- "allow" (默认):允许 CronJob 并发运行; - "Forbid": forbids concurrent 运行、跳过下一次运行(如果以前的运行还没有完成); - "Replace": 取消当前运行的作业,并将其替换为新作业

可能枚举值: - "Allow" 允许 CronJob 并发运行。- "Forbid" forbids 并发运行并跳过下一次运行(如果之前还没有完成)。- "Replace" 取消当前运行的作业,并将其替换为新的作业。

failedJobsHistoryLimit

整数

要保留的失败完成作业数量。值必须是非负整数。默认为 1。

jobTemplate

object

JobTemplateSpec 描述从模板创建时作业应具有的数据

调度

string

Cron 格式的调度,请参阅 https://en.wikipedia.org/wiki/Cron

startingDeadlineSeconds

整数

如果因为任何原因而错过了调度时间,则可选截止时间(以秒为单位)。错过的作业执行计为失败的作业。

successfulJobsHistoryLimit

整数

要保留的成功完成作业数量。值必须是非负整数。默认值为 3。

suspend

布尔值

此标志告知控制器暂停后续执行,它不会应用到已经启动的执行。默认为false。

timeZone

string

给定调度的时区名称,请参阅 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones。如果没有指定,则默认为 kube-controller-manager 进程的时区。在 CronJob 验证过程中,API 服务器从系统范围的时区数据库加载有效的时区名称和时区偏移集。如果没有找到系统范围的时区数据库,则改为使用数据库的捆绑版本。如果在 CronJob 的生命周期内或主机配置有变化而变得无效,控制器会停止创建新作业,并将创建一个具有 UnknownTimeZone 原因的系统事件。如需更多信息,请参阅 https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones

6.1.2. .spec.jobTemplate

描述
JobTemplateSpec 描述从模板创建时作业应具有的数据
类型
object
Expand
属性类型描述

metadata

ObjectMeta

从该模板创建的作业的标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

JobSpec 描述作业执行的方式。

6.1.3. .spec.jobTemplate.spec

描述
JobSpec 描述作业执行的方式。
类型
object
必填
  • 模板
Expand
属性类型描述

activeDeadlineSeconds

整数

指定与 startTime 相关的持续时间(以秒为单位),作业可能会在系统尝试终止它前持续激活;值必须是正整数。如果作业被挂起(在创建或通过更新时),则当作业再次恢复时,此计时器将有效停止并重置。

backoffLimit

整数

指定在标记此作业失败前重试次数。默认值为 6

backoffLimitPerIndex

整数

指定索引在将索引标记为失败前在索引中重试次数的限制。当启用每个索引的失败次数时,pod 的 batch.kubernetes.io/job-index-failure-count 注解会保持在 pod 的 batch.kubernetes.io/job-index-failure-count 注解中。只有在作业的 completionMode=Indexed 且 Pod 的重启策略为 Never 时,才能设置它。该字段是不可变的。此字段是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时(默认启用)时,可以使用它。

completionMode

string

completionMode 指定 Pod 完成的跟踪方式。它可以是 NonIndexed (默认)或 Indexed

NonIndexed 表示当 .spec.completions 成功完成 Pod 时,作业被视为已完成。每个 Pod 完成都相互同动。

索引 表示作业的 Pod 从 0 到(.spec.completions - 1),注解 batch.kubernetes.io/job-completion-index 提供。当每个索引都有一个成功完成 Pod 时,作业被视为已完成。当值为 Indexed 时,必须指定 .spec.completions,并且 .spec.parallelism 必须小于或等于 10^5。另外,Pod 名称采用 $(job-name)-$(index)-$(random-string) 的形式,Pod 主机名采用 $(job-name)-$(index) 的形式。

以后可以添加更多完成模式。如果作业控制器观察到没有识别的模式,则控制器会因为版本 skew 而导致升级,则控制器会跳过作业的更新。

可能枚举值: - "Indexed" 是一个作业完成模式。在此模式中,作业的 Pod 从 0 到(.spec.completions - 1)获取关联的完成索引。当 Pod 完成每个完成索引后,作业被视为已完成。- "NonIndexed" 是一个作业完成模式。在这个模式中,当 .spec.completions 成功完成 Pod 时,作业被视为已完成。Pod 完成相互同动。

completions

整数

指定作业应该运行成功完成的 pod 数量。将 设置为 null 意味着,任何 pod 成功都会提示所有 pod 成功,并允许并行( parallelism)具有任何正数的值。设置为 1 表示并行性限制为 1,pod 的成功会通知作业成功。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

managedBy

string

ManagedBy 字段显示管理作业的控制器。k8s 作业控制器协调没有此字段的作业,或者字段值是保留字符串 kubernetes.io/job-controller,但跳过将作业与此字段的自定义值协调。该值必须是有效的域前缀路径(如 acme.io/foo)- 在第一个"/"前的所有字符都必须是 RFC 1123 定义的有效子域。结尾第一个"/"的所有字符都必须是 RFC 3986 定义的有效 HTTP 路径字符。该值不能超过 63 个字符。此字段不可变。

此字段是 beta 级别。当启用了功能门 JobManagedBy 时(默认启用)时,作业控制器接受设置字段。

manualSelector

布尔值

manualSelector 控制 pod 标签和 pod 选择器的生成。除非您确定正在执行的操作,否则请保留 manualSelector。如果为 false 或未设置,系统会选择此作业的唯一标签,并将这些标签附加到 pod 模板。为 true 时,用户负责选择唯一标签并指定选择器。无法选择唯一标签可能会导致此和其他作业无法正常工作。但是,在使用旧 extensions/v1beta1 API 创建的作业中看到 manualSelector=true。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector

maxFailedIndexes

整数

当设置了 backoffLimitPerIndex 时,在将作业标记为失败前指定失败索引的最大数量。当失败的索引数量超过这个数字后,整个作业都会标记为 Failed,其执行将被终止。当保留为 null 时,作业将继续执行其所有索引,并标记为 Complete 作业条件。只有在设置了 backoffLimitPerIndex 时,才能指定它。它可以是 null,也可以是 up to completions。它是必需的,且在完成大于 10^5 时必须小于或等于 10^4。此字段是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时(默认启用)时,可以使用它。

parallelism

整数

指定作业应在任意给定时间运行的最大 pod 数量。当(.spec.completions - .status.successful)< .spec.parallelism)< .spec.parallelism)时,以 steady 状态运行的 pod 的实际数量将小于这个数字。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

podFailurePolicy

object

PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。

podReplacementPolicy

string

podReplacementPolicy 指定何时创建替换 Pod。可能的值有: - TerminatingOrFailed 表示,我们在终止时重新创建 pod (带有 metadata.deletionTimestamp)或失败。- Failed 表示在创建替换 Pod 前等待到之前创建的 Pod 完全终止(has phase Failed 或 Succeeded)。

使用 podFailurePolicy 时,Failed 是唯一允许的值。当 podFailurePolicy 没有使用时,允许 TerminatingOrFailed 和 Failed。这是 beta 字段。要使用此功能,请启用 JobPodReplacementPolicy 功能切换。默认为开启。

可能枚举值:- "Failed" 用于在创建替换 Pod 前等待之前创建的 Pod 完全终止(has phase Failed 或 Succeeded)。- "TerminatingOrFailed" 意味着,我们在终止时重新创建 pod (获取 metadata.deletionTimestamp)或失败。

selector

LabelSelector

与 pod 数量匹配的 pod 的标签查询。通常,系统会为您设置此字段。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

successPolicy

object

SuccessPolicy 描述了根据某些索引成功声明作业成功的时间。

suspend

布尔值

suspend 指定作业控制器是否应该创建 Pod。如果创建一个作业,并将 suspend 设为 true,则作业控制器不会创建 Pod。如果在创建后暂停某个作业(例如,标志从 false 变为 true),则作业控制器将删除与此作业关联的所有活动 Pod。用户必须设计自己的工作负载才能正常处理。暂停作业将重置作业的 StartTime 字段,从而有效地重置 ActiveDeadlineSeconds 计时器。默认为false。

模板

PodTemplateSpec

描述在执行作业时将创建的 pod。唯一允许的 template.spec.restartPolicy 值是 "Never" 或 "OnFailure"。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

ttlSecondsAfterFinished

整数

ttlSecondsAfterFinished 限制已完成执行( Complete 或 Failed)的作业的生命周期。如果设置了此字段,ttlSecondsAfterFinished 在作业完成后,它可以被自动删除。当作业被删除时,其生命周期保证(如终结器)将会被遵守。如果未设置此字段,则不会自动删除作业。如果此字段设为零,则作业在完成后将立即删除。

6.1.4. .spec.jobTemplate.spec.podFailurePolicy

描述
PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。
类型
object
必填
  • rules
Expand
属性类型描述

rules

数组

Pod 失败策略规则列表。规则按顺序评估。当规则与 Pod 故障匹配后,其余的规则将被忽略。如果没有与 Pod 故障匹配的规则,则应用默认处理 - pod 故障的计数器会递增,并针对 backoffLimit 检查。最多允许 20 个元素。

rules[]

object

PodFailurePolicyRule 描述了在满足要求时如何处理 pod 失败。每个规则都可以使用 onExitCodes 和 onPodConditions 中的一个。

6.1.5. .spec.jobTemplate.spec.podFailurePolicy.rules

描述
Pod 失败策略规则列表。规则按顺序评估。当规则与 Pod 故障匹配后,其余的规则将被忽略。如果没有与 Pod 故障匹配的规则,则应用默认处理 - pod 故障的计数器会递增,并针对 backoffLimit 检查。最多允许 20 个元素。
类型
数组

6.1.6. .spec.jobTemplate.spec.podFailurePolicy.rules[]

描述
PodFailurePolicyRule 描述了在满足要求时如何处理 pod 失败。每个规则都可以使用 onExitCodes 和 onPodConditions 中的一个。
类型
object
必填
  • action
Expand
属性类型描述

action

string

指定满足要求时 pod 故障执行的操作。可能的值有:

- FailJob: 表示 pod 的作业标记为 Failed,所有运行的 pod 都被终止。- FailIndex: 表示 pod 的索引标记为 Failed,且不会重启。这个值是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时,可以使用它。- Ignore: 表示对 .backoffLimit 的计数器没有被递增,并创建了替换 pod。- Count: 表示 pod 被默认处理 - .backoffLimit 的计数器会递增。以后会考虑添加额外的值。客户端应通过跳过规则来响应未知操作。

可能枚举值: - "Count" 是一个在 pod 失败时执行的操作 - pod 失败以默认方式处理 - 计数器到 .backoffLimit,由作业的 .status.failed 字段表示,会递增。- "FailIndex" 是 pod 故障的操作,可能在 pod 失败时执行 - 将作业的索引标记为失败,以避免在这个索引中重启。只有在设置了 backoffLimitPerIndex 时,才可以使用此操作。这个值是 beta-level。- "FailJob" 这是可能在 pod 失败时执行的操作 - 将 pod 的作业标记为 Failed,终止所有运行的 pod。- "Ignore" 这是可能在 pod 故障上执行的操作 - 对 .backoffLimit 的计数器(由作业的 .status.failed 字段表示)不会被递增,并创建了替换 pod。

onExitCodes

object

PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。

onPodConditions

数组

代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。

onPodConditions[]

object

PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。

描述
PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。
类型
object
必填
  • operator
  • values
Expand
属性类型描述

containerName

string

使用指定名称将退出代码限制为容器。当为 null 时,该规则适用于所有容器。指定后,它应当与 pod 模板中的一个容器或 initContainer 名称匹配。

operator

string

代表容器退出代码和指定的值之间的关系。成功完成的容器(退出代码 0)不包括在要求检查中。可能的值有:

- in: 如果至少有一个容器退出代码(如果多个容器没有被 'containerName' 字段限制)位于指定的值集合中,则满足要求。- 如果至少一个容器退出代码(如果多个容器没有被 'containerName' 字段限制),则要求会满足。以后会考虑添加额外的值。假设不满足要求,客户端应该对未知操作器做出反应。

可能枚举值: - "In" - "NotIn"

values

数组(整数)

指定一组值。每个返回的容器退出代码(如果有多个容器)都会针对于 Operator 相关的一组值进行检查。值列表必须排序,且不得包含重复值。值 '0' 不能用于 In operator。至少需要一个元素。最多允许 255 个元素。

描述
代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。
类型
数组
描述
PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。
类型
object
必填
  • type
  • status
Expand
属性类型描述

status

string

指定所需的 Pod 条件状态。要匹配 pod 条件,需要指定的状态等于 pod 条件状态。默认值为 True。

type

string

指定所需的 Pod 条件类型。要匹配 pod 条件,需要指定类型等于 pod 条件类型。

6.1.10. .spec.jobTemplate.spec.successPolicy

描述
SuccessPolicy 描述了根据某些索引成功声明作业成功的时间。
类型
object
必填
  • rules
Expand
属性类型描述

rules

数组

规则代表了在 . status.succeededed >= .spec.completions 之前声明作业的替代规则列表。满足任何规则后,会添加 "SucceededCriteriaMet" 条件,并删除闲置 pod。此类作业的终端状态具有"Complete"条件。此外,这些规则按顺序评估;在作业满足其中一个规则后,会忽略其他规则。最多允许 20 个元素。

rules[]

object

SuccessPolicyRule 描述了将作业声明成功的规则。每个规则必须至少指定了 "succeededIndexes" 或 "succeededCount"。

6.1.11. .spec.jobTemplate.spec.successPolicy.rules

描述
规则代表了在 . status.succeededed >= .spec.completions 之前声明作业的替代规则列表。满足任何规则后,会添加 "SucceededCriteriaMet" 条件,并删除闲置 pod。此类作业的终端状态具有"Complete"条件。此外,这些规则按顺序评估;在作业满足其中一个规则后,会忽略其他规则。最多允许 20 个元素。
类型
数组

6.1.12. .spec.jobTemplate.spec.successPolicy.rules[]

描述
SuccessPolicyRule 描述了将作业声明成功的规则。每个规则必须至少指定了 "succeededIndexes" 或 "succeededCount"。
类型
object
Expand
属性类型描述

succeededCount

整数

succeededCount 指定作业成功索引集合的最小所需大小。当 succeededCount 与 succeededIndexes 一起使用时,检查只限制为 succeededIndexes 指定的索引集合。例如,如果 succeededIndexes 为 "1-4",则 succeededCount 为 "3",完成的索引为 "1", "3", 和 "5",则作业不会被声明为成功,因为仅考虑 "1" 和 "3" 索引。当此字段为 null 时,它不会默认为任何值,永远不会随时评估。当指定时,它需要是一个正整数。

succeededIndexes

string

succeededIndexes 指定需要包含在作业的成功索引集合中的索引集合。索引列表必须在 0 到 ".spec.completions-1" 中,且不得包含重复项。至少需要一个元素。索引以以逗号分开的间隔表示。间隔可以是十进制整数,也可以是以连字符分隔的十进制整数。数字列在一系列的第一个和最后一个元素中,用连字符分开。例如,如果完成的索引是 1, 3, 4, 5 和 7,它们表示为 "1,3-5,7"。当此字段为 null 时,此字段不默认为任何值,永远不会在任何时候评估。

6.1.13. .status

描述
CronJobStatus 代表 cron 任务的当前状态。
类型
object
Expand
属性类型描述

active

数组(ObjectReference)

指向当前运行的作业的指针列表。

lastScheduleTime

时间

最后一次调度作业的时间信息。

lastSuccessfulTime

时间

信息是作业成功完成最后一次的时间。

6.2. API 端点

可用的 API 端点如下:

  • /apis/batch/v1/cronjobs

    • GET: 列出或监视类型为 CronJob 的对象
  • /apis/batch/v1/watch/cronjobs

    • GET: 观察单个对 CronJob 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/batch/v1/namespaces/{namespace}/cronjobs

    • DELETE: 删除 CronJob 集合
    • GET: 列出或监视类型为 CronJob 的对象
    • POST :创建 CronJob
  • /apis/batch/v1/watch/namespaces/{namespace}/cronjobs

    • GET: 观察单个对 CronJob 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}

    • DELETE :删除 CronJob
    • GET :读取指定的 CronJob
    • PATCH: 部分更新指定的 CronJob
    • PUT :替换指定的 CronJob
  • /apis/batch/v1/watch/namespaces/{namespace}/cronjobs/{name}

    • GET: 观察对类型为 CronJob 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
  • /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status

    • GET :指定 CronJob 的读取状态
    • PATCH: 部分更新指定 CronJob 的状态
    • PUT :替换指定 CronJob 的状态

6.2.1. /apis/batch/v1/cronjobs

HTTP 方法
GET
描述
列出或监视类型为 CronJob 的对象
Expand
表 6.1. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJobList 模式

401 - 未授权

6.2.2. /apis/batch/v1/watch/cronjobs

HTTP 方法
GET
描述
观察单个对 CronJob 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 6.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

6.2.3. /apis/batch/v1/namespaces/{namespace}/cronjobs

HTTP 方法
DELETE
描述
删除 CronJob 集合
Expand
表 6.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 6.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 CronJob 的对象
Expand
表 6.5. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJobList 模式

401 - 未授权

HTTP 方法
POST
描述
创建 CronJob
Expand
表 6.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 6.7. 主体参数
参数类型描述

正文(body)

CronJob schema

 
Expand
表 6.8. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

201 - Created

CronJob schema

202 - Accepted

CronJob schema

401 - 未授权

6.2.4. /apis/batch/v1/watch/namespaces/{namespace}/cronjobs

HTTP 方法
GET
描述
观察单个对 CronJob 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 6.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 6.10. 全局路径参数
参数类型描述

name

string

CronJob 的名称

HTTP 方法
DELETE
描述
删除 CronJob
Expand
表 6.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 6.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 CronJob
Expand
表 6.13. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定的 CronJob
Expand
表 6.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 6.15. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

201 - Created

CronJob schema

401 - 未授权

HTTP 方法
PUT
描述
替换指定的 CronJob
Expand
表 6.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 6.17. 主体参数
参数类型描述

正文(body)

CronJob schema

 
Expand
表 6.18. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

201 - Created

CronJob schema

401 - 未授权

Expand
表 6.19. 全局路径参数
参数类型描述

name

string

CronJob 的名称

HTTP 方法
GET
描述
观察对类型为 CronJob 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 6.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 6.21. 全局路径参数
参数类型描述

name

string

CronJob 的名称

HTTP 方法
GET
描述
指定 CronJob 的读取状态
Expand
表 6.22. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定 CronJob 的状态
Expand
表 6.23. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 6.24. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

201 - Created

CronJob schema

401 - 未授权

HTTP 方法
PUT
描述
替换指定 CronJob 的状态
Expand
表 6.25. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 6.26. 主体参数
参数类型描述

正文(body)

CronJob schema

 
Expand
表 6.27. HTTP 响应
HTTP 代码响应正文

200 - OK

CronJob schema

201 - Created

CronJob schema

401 - 未授权

第 7 章 DaemonSet [apps/v1]

描述
DaemonSet 代表守护进程集的配置。
类型
object

7.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

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

spec

object

DaemonSetSpec 是守护进程集的规格。

status

object

DaemonSetStatus 代表守护进程集的当前状态。

7.1.1. .spec

描述
DaemonSetSpec 是守护进程集的规格。
类型
object
必填
  • selector
  • 模板
Expand
属性类型描述

minReadySeconds

整数

新创建的 DaemonSet pod 应该在没有其任何容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用)。

revisionHistoryLimit

整数

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

selector

LabelSelector

对由守护进程集管理的 pod 的一个标签查询。必须匹配才能控制。它必须与 pod 模板的标签匹配。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

模板

PodTemplateSpec

描述要创建的 pod 的对象。DaemonSet 将在与模板的节点选择器匹配的每个节点上创建一个副本(如果没有指定节点选择器),则每个节点上都会创建一个副本。唯一允许的 template.spec.restartPolicy 值是 "Always"。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template

updateStrategy

object

DaemonSetUpdateStrategy 是一个结构,用于控制 DaemonSet 的更新策略。

7.1.2. .spec.updateStrategy

描述
DaemonSetUpdateStrategy 是一个结构,用于控制 DaemonSet 的更新策略。
类型
object
Expand
属性类型描述

rollingUpdate

object

spec 控制守护进程集滚动更新所需的行为。

type

string

守护进程集更新的类型。可以是 "RollingUpdate" 或 "OnDelete"。默认为 RollingUpdate。

可能枚举值: - "OnDelete" 仅在被终止时替换旧守护进程 - "RollingUpdate" 使用滚动更新替换旧守护进程,即在另一个节点上替换它们。

7.1.3. .spec.updateStrategy.rollingUpdate

描述
spec 控制守护进程集滚动更新所需的行为。
类型
object
Expand
属性类型描述

maxSurge

IntOrString

在更新过程中,具有现有可用 DaemonSet pod 的最大节点数,可在更新过程中有更新的 DaemonSet pod。值可以是绝对数字(例如 5)或所需 pod 的百分比(例如 10%)。如果 MaxUnavailable 为 0,则不能是 0。绝对数量从百分比计算到最小 1。默认值为 0。示例:当将其设置为 30% 时,应该运行守护进程 pod 的节点总数(如 status.desiredNumberScheduled)可在旧 pod 标记为已删除前创建其新 pod。更新首先在 30% 的节点中启动新 pod。更新的 pod 可用(至少为 minReadySeconds)后,该节点上旧的 DaemonSet pod 标记为已删除。如果旧 pod 因任何原因而不可用(Ready 过渡到 false、被驱除或排空),则会在该节点上立即创建更新的 pod,而不考虑数量限制。Allow surge 意味着,如果就绪度检查失败,任何给定节点上的 daemonset 消耗的资源可能会加倍,因此资源密集型 daemonset 应考虑在中断期间可能会导致驱除。

maxUnavailable

IntOrString

更新期间不可用的最大 DaemonSet pod 数量。值可以是绝对数字(例如 5),也可以是在更新开始时 DaemonSet pod 总数的百分比(例如 10%)。绝对数量从百分比计算。如果 MaxSurge 为 0,则不能是 0。示例:当将其设置为 30% 时,应该运行守护进程 pod 的节点总数(如 status.desiredNumberScheduled)最多 30% 的 pod 可以在任何给定时间停止进行更新。更新从这些 DaemonSet pod 最多停止,然后在其位置上启动新的 DaemonSet pod。新 pod 可用后,它会继续进行其他 DaemonSet pod,从而确保更新期间至少提供原始 DaemonSet pod 的数量。

7.1.4. .status

描述
DaemonSetStatus 代表守护进程集的当前状态。
类型
object
必填
  • currentNumberScheduled
  • numberMisscheduled
  • desiredNumberScheduled
  • numberReady
Expand
属性类型描述

collisionCount

整数

DaemonSet 的哈希冲突计数。当需要为最新的 ControllerRevision 创建名称时,DaemonSet 控制器使用此字段作为冲突机制。

conditions

数组

代表 DaemonSet 当前状态的最新可用影响。

conditions[]

object

DaemonSetCondition 描述了在特定时间点上 DaemonSet 的状态。

currentNumberScheduled

整数

至少运行 1 个守护进程 pod 的节点数量,应该运行守护进程 pod。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

desiredNumberScheduled

整数

应该运行守护进程 pod 的节点总数(包括正确运行守护进程 pod 的节点)。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

numberAvailable

整数

运行守护进程 pod 的节点数量,并有一个或多个守护进程 pod 运行并可用(至少为 spec.minReadySeconds)

numberMisscheduled

整数

运行守护进程 pod 但不应运行守护进程 pod 的节点数量。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

numberReady

整数

numberReady 是应该运行守护进程 pod 的节点数量,并且有一个或多个运行带有 Ready Condition 的守护进程 pod。

numberUnavailable

整数

应该运行守护进程 pod 的节点数量,且没有守护进程 pod 运行并可用(至少为 spec.minReadySeconds)

observedGeneration

整数

守护进程设置控制器观察到的最新生成。

updatedNumberScheduled

整数

运行更新的守护进程 pod 的节点总数

7.1.5. .status.conditions

描述
代表 DaemonSet 当前状态的最新可用影响。
类型
array

7.1.6. .status.conditions[]

描述
DaemonSetCondition 描述了在特定时间点上 DaemonSet 的状态。
类型
object
必填
  • type
  • status
Expand
属性类型描述

lastTransitionTime

Time

条件从一个状态转换到另一个状态最后一次的时间。

message

字符串

人类可读的消息,指示有关转换的详细信息。

reason

字符串

条件最后一次转换的原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

string

DaemonSet 条件的类型。

7.2. API 端点

可用的 API 端点如下:

  • /apis/apps/v1/daemonsets

    • GET :列出或监视类型为 DaemonSet 的对象
  • /apis/apps/v1/watch/daemonsets

    • GET: 观察单个对 DaemonSet 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/apps/v1/namespaces/{namespace}/daemonsets

    • DELETE :删除 DaemonSet 集合
    • GET :列出或监视类型为 DaemonSet 的对象
    • POST :创建 DaemonSet
  • /apis/apps/v1/watch/namespaces/{namespace}/daemonsets

    • GET: 观察单个对 DaemonSet 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

    • DELETE :删除 DaemonSet
    • GET :读取指定的 DaemonSet
    • PATCH: 部分更新指定的 DaemonSet
    • PUT :替换指定的 DaemonSet
  • /apis/apps/v1/watch/namespaces/{namespace}/daemonsets/{name}

    • GET: 观察对类型为 DaemonSet 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
  • /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

    • GET :指定 DaemonSet 的读取状态
    • PATCH: 部分更新指定 DaemonSet 的状态
    • PUT :替换指定 DaemonSet 的状态

7.2.1. /apis/apps/v1/daemonsets

HTTP 方法
GET
描述
列出或监视类型为 DaemonSet 的对象
Expand
表 7.1. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSetList 模式

401 - 未授权

7.2.2. /apis/apps/v1/watch/daemonsets

HTTP 方法
GET
描述
观察单个对 DaemonSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
Expand
表 7.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

7.2.3. /apis/apps/v1/namespaces/{namespace}/daemonsets

HTTP 方法
DELETE
描述
删除 DaemonSet 集合
Expand
表 7.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 7.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 DaemonSet 的对象
Expand
表 7.5. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSetList 模式

401 - 未授权

HTTP 方法
POST
描述
创建 DaemonSet
Expand
表 7.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 7.7. 主体参数
参数类型描述

正文(body)

DaemonSet 模式

 
Expand
表 7.8. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

201 - Created

DaemonSet 模式

202 - Accepted

DaemonSet 模式

401 - 未授权

HTTP 方法
GET
描述
观察单个对 DaemonSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
Expand
表 7.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 7.10. 全局路径参数
参数类型描述

name

string

DaemonSet 的名称

HTTP 方法
DELETE
描述
删除 DaemonSet
Expand
表 7.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 7.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 DaemonSet
Expand
表 7.13. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定的 DaemonSet
Expand
表 7.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 7.15. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

201 - Created

DaemonSet 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定的 DaemonSet
Expand
表 7.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 7.17. 主体参数
参数类型描述

正文(body)

DaemonSet 模式

 
Expand
表 7.18. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

201 - Created

DaemonSet 模式

401 - 未授权

Expand
表 7.19. 全局路径参数
参数类型描述

name

string

DaemonSet 的名称

HTTP 方法
GET
描述
观察对类型为 DaemonSet 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 7.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 7.21. 全局路径参数
参数类型描述

name

string

DaemonSet 的名称

HTTP 方法
GET
描述
指定 DaemonSet 的读取状态
Expand
表 7.22. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定 DaemonSet 的状态
Expand
表 7.23. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 7.24. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

201 - Created

DaemonSet 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定 DaemonSet 的状态
Expand
表 7.25. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 7.26. 主体参数
参数类型描述

正文(body)

DaemonSet 模式

 
Expand
表 7.27. HTTP 响应
HTTP 代码响应正文

200 - OK

DaemonSet 模式

201 - Created

DaemonSet 模式

401 - 未授权

第 8 章 Deployment [apps/v1]

描述
Deployment 为 Pod 和 ReplicaSet 启用声明性更新。
类型
object

8.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

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

spec

对象

DeploymentSpec 是 Deployment 所需的行为的规格。

status

object

DeploymentStatus 是部署最近观察到的状态。

8.1.1. .spec

描述
DeploymentSpec 是 Deployment 所需的行为的规格。
类型
object
必填
  • selector
  • 模板
Expand
属性类型描述

minReadySeconds

整数

新创建的 pod 应该在没有其任何容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用)

paused

布尔值

表示部署已暂停。

progressDeadlineSeconds

整数

部署在被视为失败前进行进度的最长时间(以秒为单位)。部署控制器将继续处理失败的部署,以及具有 ProgressDeadlineExceed 原因的条件将处于部署状态。请注意,在部署暂停期间不会估算进度。默认值为 600s。

replicas

整数

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

revisionHistoryLimit

整数

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

selector

LabelSelector

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

策略

object

DeploymentStrategy 描述了如何将现有 pod 替换为新的 pod。

模板

PodTemplateSpec

Template 描述了要创建的 pod。唯一允许的 template.spec.restartPolicy 值是 "Always"。

8.1.2. .spec.strategy

描述
DeploymentStrategy 描述了如何将现有 pod 替换为新的 pod。
类型
object
Expand
属性类型描述

rollingUpdate

object

spec 控制滚动更新所需的行为。

type

字符串

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

可能枚举值:- "Recreate" Kill all existing pods before create new pods. - "RollingUpdate" 使用滚动更新替换旧 ReplicaSets,这会逐渐缩减旧 ReplicaSet 并扩展新的 pod。

8.1.3. .spec.strategy.rollingUpdate

描述
spec 控制滚动更新所需的行为。
类型
object
Expand
属性类型描述

maxSurge

IntOrString

可以在所需 pod 数量之上调度的最大 pod 数量。值可以是绝对数字(例如 5)或所需 pod 的百分比(例如 10%)。如果 MaxUnavailable 为 0,则不能是 0。绝对数量从百分比计算。默认值为 25%。示例:当将其设置为 30% 时,在滚动更新启动时可以立即扩展新的 ReplicaSet,以便旧 pod 的总数不会超过 130%。旧 pod 终止后,可以进一步扩展新的 ReplicaSet,确保更新期间任何时间运行的 pod 总数最多为 130%。

maxUnavailable

IntOrString

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

8.1.4. .status

描述
DeploymentStatus 是部署最近观察到的状态。
类型
object
Expand
属性类型描述

availableReplicas

整数

此部署的目标可用 pod 的总数(至少为 minReadySeconds)。

collisionCount

整数

Deployment 的哈希冲突计数。当需要为最新的 ReplicaSet 创建名称时,Deployment 控制器使用此字段作为冲突机制。

conditions

数组

代表部署当前状态的最新可用影响。

conditions[]

object

DeploymentCondition 描述了部署在特定时间点上的状态。

observedGeneration

整数

部署控制器观察到的生成。

readyReplicas

整数

readyReplicas 是此 Deployment 目标的 pod 数量,带有 Ready Condition。

replicas

整数

此部署目标的非确定 pod 的总数(标签与选择器匹配)。

unavailableReplicas

整数

此部署目标不可用 pod 的总数。这是部署需要有 100% 可用容量的 pod 总数。它们可能是正在运行但尚未可用或尚未创建的 pod。

updatedReplicas

整数

此部署目标为具有所需模板 spec 的非确定 pod 的总数。

8.1.5. .status.conditions

描述
代表部署当前状态的最新可用影响。
类型
array

8.1.6. .status.conditions[]

描述
DeploymentCondition 描述了部署在特定时间点上的状态。
类型
object
必填
  • type
  • status
Expand
属性类型描述

lastTransitionTime

时间

条件从一个状态转换到另一个状态最后一次的时间。

lastUpdateTime

时间

最后一次更新此条件的时间。

message

字符串

人类可读的消息,指示有关转换的详细信息。

reason

字符串

条件最后一次转换的原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

string

部署条件的类型。

8.2. API 端点

可用的 API 端点如下:

  • /apis/apps/v1/deployments

    • GET :列出或监视类型为 Deployment 的对象
  • /apis/apps/v1/watch/deployments

    • GET: 观察单个对 Deployment 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/apps/v1/namespaces/{namespace}/deployments

    • DELETE :删除部署集合
    • GET :列出或监视类型为 Deployment 的对象
    • POST :创建部署
  • /apis/apps/v1/watch/namespaces/{namespace}/deployments

    • GET: 观察单个对 Deployment 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/apps/v1/namespaces/{namespace}/deployments/{name}

    • DELETE :删除部署
    • GET :读取指定的 Deployment
    • PATCH: 部分更新指定的部署
    • PUT :替换指定的 Deployment
  • /apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}

    • GET: 观察对类型为 Deployment 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
  • /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

    • GET :指定 Deployment 的读取状态
    • PATCH: 部分更新指定部署的状态
    • PUT :替换指定部署的状态

8.2.1. /apis/apps/v1/deployments

HTTP 方法
GET
描述
列出或监视类型为 Deployment 的对象
Expand
表 8.1. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentList 模式

401 - 未授权

8.2.2. /apis/apps/v1/watch/deployments

HTTP 方法
GET
描述
观察单个对 Deployment 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 8.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

8.2.3. /apis/apps/v1/namespaces/{namespace}/deployments

HTTP 方法
DELETE
描述
删除部署集合
Expand
表 8.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 8.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 Deployment 的对象
Expand
表 8.5. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentList 模式

401 - 未授权

HTTP 方法
POST
描述
创建 Deployment
Expand
表 8.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 8.7. 主体参数
参数类型描述

正文(body)

Deployment 模式

 
Expand
表 8.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

201 - Created

Deployment 模式

202 - Accepted

Deployment 模式

401 - 未授权

HTTP 方法
GET
描述
观察单个对 Deployment 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 8.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 8.10. 全局路径参数
参数类型描述

name

string

部署的名称

HTTP 方法
DELETE
描述
删除部署
Expand
表 8.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 8.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的部署
Expand
表 8.13. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定的部署
Expand
表 8.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 8.15. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

201 - Created

Deployment 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定的 Deployment
Expand
表 8.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 8.17. 主体参数
参数类型描述

正文(body)

Deployment 模式

 
Expand
表 8.18. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

201 - Created

Deployment 模式

401 - 未授权

Expand
表 8.19. 全局路径参数
参数类型描述

name

string

部署的名称

HTTP 方法
GET
描述
观察对类型为 Deployment 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 8.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 8.21. 全局路径参数
参数类型描述

name

string

部署的名称

HTTP 方法
GET
描述
指定 Deployment 的读取状态
Expand
表 8.22. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定部署的状态
Expand
表 8.23. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 8.24. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

201 - Created

Deployment 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定 Deployment 的状态
Expand
表 8.25. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 8.26. 主体参数
参数类型描述

正文(body)

Deployment 模式

 
Expand
表 8.27. HTTP 响应
HTTP 代码响应正文

200 - OK

Deployment 模式

201 - Created

Deployment 模式

401 - 未授权

第 9 章 DeploymentConfig [apps.openshift.io/v1]

描述

Deployment Configs 定义 pod 的模板,并管理新镜像或配置更改。单一部署配置通常与单个微服务类似。可以支持许多不同的部署模式,包括完整重启、可自定义滚动更新和完全自定义行为,以及预部署 hook。每个单独的部署都以复制控制器表示。

当部署配置或更改镜像流中的标签时,部署会被"触发"。可以禁用触发器以允许手动控制部署。"strategy"决定了如何执行部署,可以随时更改。当任何方法触发新部署时,latestVersion 字段会被更新。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。弃用:使用部署或其他方法为 pod 进行声明性更新。

类型
object
必填
  • spec

9.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta_v2

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

spec

object

DeploymentConfigSpec 代表部署的所需状态。

status

object

DeploymentConfigStatus 代表当前的部署状态。

9.1.1. .spec

描述
DeploymentConfigSpec 代表部署的所需状态。
类型
object
Expand
属性类型描述

minReadySeconds

整数

MinReadySeconds 是新创建的 pod 应该在其容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用)

paused

布尔值

paused 表示部署配置已暂停,不会出现由其他触发器导致的模板更改或更改。

replicas

整数

replicas 是所需副本数。

revisionHistoryLimit

整数

RevisionHistoryLimit 是要保留的旧 ReplicationController 的数量,以允许回滚。此字段是一个指针,允许在显式零和未指定的间区分。默认值为 10。(这只适用于通过新组 API 资源创建的 DeploymentConfig,而不是传统资源。)

selector

对象(字符串)

selector 是 pod 上的标签查询,它应当与 Replicas 计数匹配。

策略

object

DeploymentStrategy 描述了如何执行部署。

模板

PodTemplateSpec

template 是描述在检测到副本不足时将创建的 pod 的对象。

test

布尔值

测试可确保此部署配置具有零个副本,除了部署运行时除外。这允许将部署配置用作持续部署测试 - 在镜像上触发,运行部署,然后成功或失败。后策略 hook 和 after 操作可用于将成功部署与操作集成。

触发器

数组

触发器决定对 DeploymentConfig 的更新如何生成新部署。如果没有定义触发器,新的部署只能因为明确的客户端使用新的 LatestVersion 更新到 DeploymentConfig 的结果。如果为 null,则默认为使配置更改触发器。

triggers[]

object

DeploymentTriggerPolicy 描述了生成新部署的单一触发器的策略。

9.1.2. .spec.strategy

描述
DeploymentStrategy 描述了如何执行部署。
类型
object
Expand
属性类型描述

activeDeadlineSeconds

整数

activeDeadlineSeconds 是此部署配置的部署器 pod 在系统主动尝试终止它们前可能在节点上处于活跃状态的持续时间(以秒为单位)。

annotations

对象(字符串)

annotations 是一组键、值对,添加到自定义部署器和生命周期前/post hook Pod 中。

customParams

object

CustomDeploymentStrategyParams 是 Custom 部署策略的输入。

labels

对象(字符串)

标签是一组键,即添加到自定义部署器和生命周期前/post hook Pod 的值对。

recreateParams

object

RecreateDeploymentStrategyParams 是 Recreate 部署策略的输入。

resources

ResourceRequirements

资源包含执行部署和任何 hook 的资源要求。

rollingParams

object

RollingDeploymentStrategyParams 是 Rolling 部署策略的输入。

type

string

type 是部署策略的名称。

9.1.3. .spec.strategy.customParams

描述
CustomDeploymentStrategyParams 是 Custom 部署策略的输入。
类型
object
Expand
属性类型描述

命令

数组(字符串)

命令是可选的,并覆盖容器镜像中的 CMD。

环境

array (EnvVar)

环境包含将提供给镜像的容器的环境。

image

string

image 指定可执行部署的容器镜像。

9.1.4. .spec.strategy.recreateParams

描述
RecreateDeploymentStrategyParams 是 Recreate 部署策略的输入。
类型
object
Expand
属性类型描述

mid

object

LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。

POST

object

LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。

pre

object

LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。

timeoutSeconds

整数

timeoutSeconds 是放弃前等待更新的时间。如果值为 nil,则使用默认值。

9.1.5. .spec.strategy.recreateParams.mid

描述
LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
类型
object
必填
  • failurePolicy
Expand
属性类型描述

execNewPod

object

ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。

failurePolicy

string

failurePolicy 指定在 hook 失败时要执行的操作。

tagImages

数组

TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。

tagImages[]

object

TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。

9.1.6. .spec.strategy.recreateParams.mid.execNewPod

描述
ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
类型
object
必填
  • 命令
  • containerName
Expand
属性类型描述

命令

数组(字符串)

command 是 action 命令及其参数。

containerName

string

containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。

env

array (EnvVar)

env 是一组环境变量,用于提供给 hook pod 的容器。

数组(字符串)

volumes 是 pod 模板中命名卷的列表,应复制到 hook pod。pod 规格中未找到的卷名称将被忽略。一个空列表表示不会复制卷。

9.1.7. .spec.strategy.recreateParams.mid.tagImages

描述
TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。
类型
数组

9.1.8. .spec.strategy.recreateParams.mid.tagImages[]

描述
TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。
类型
object
必填
  • containerName
Expand
属性类型描述

containerName

string

containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。

ObjectReference

to 是将容器镜像设置为的目标 ImageStreamTag。

9.1.9. .spec.strategy.recreateParams.post

描述
LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
类型
object
必填
  • failurePolicy
Expand
属性类型描述

execNewPod

object

ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。

failurePolicy

string

failurePolicy 指定在 hook 失败时要执行的操作。

tagImages

数组

TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。

tagImages[]

object

TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。

9.1.10. .spec.strategy.recreateParams.post.execNewPod

描述
ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
类型
object
必填
  • 命令
  • containerName
Expand
属性类型描述

命令

数组(字符串)

command 是 action 命令及其参数。

containerName

string

containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。

env

array (EnvVar)

env 是一组环境变量,用于提供给 hook pod 的容器。

数组(字符串)

volumes 是 pod 模板中命名卷的列表,应复制到 hook pod。pod 规格中未找到的卷名称将被忽略。一个空列表表示不会复制卷。

9.1.11. .spec.strategy.recreateParams.post.tagImages

描述
TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。
类型
数组

9.1.12. .spec.strategy.recreateParams.post.tagImages[]

描述
TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。
类型
object
必填
  • containerName
Expand
属性类型描述

containerName

string

containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。

ObjectReference

to 是将容器镜像设置为的目标 ImageStreamTag。

9.1.13. .spec.strategy.recreateParams.pre

描述
LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
类型
object
必填
  • failurePolicy
Expand
属性类型描述

execNewPod

object

ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。

failurePolicy

string

failurePolicy 指定在 hook 失败时要执行的操作。

tagImages

数组

TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。

tagImages[]

object

TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。

9.1.14. .spec.strategy.recreateParams.pre.execNewPod

描述
ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
类型
object
必填
  • 命令
  • containerName
Expand
属性类型描述

命令

数组(字符串)

command 是 action 命令及其参数。

containerName

string

containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。

env

array (EnvVar)

env 是一组环境变量,用于提供给 hook pod 的容器。

数组(字符串)

volumes 是 pod 模板中命名卷的列表,应复制到 hook pod。pod 规格中未找到的卷名称将被忽略。一个空列表表示不会复制卷。

9.1.15. .spec.strategy.recreateParams.pre.tagImages

描述
TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。
类型
数组

9.1.16. .spec.strategy.recreateParams.pre.tagImages[]

描述
TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。
类型
object
必填
  • containerName
Expand
属性类型描述

containerName

string

containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。

ObjectReference

to 是将容器镜像设置为的目标 ImageStreamTag。

9.1.17. .spec.strategy.rollingParams

描述
RollingDeploymentStrategyParams 是 Rolling 部署策略的输入。
类型
object
Expand
属性类型描述

intervalSeconds

整数

intervalSeconds 是更新后轮询部署状态之间等待的时间。如果值为 nil,则使用默认值。

maxSurge

IntOrString

maxSurge 是可在原始 pod 数量之上调度的最大 pod 数量。值可以是绝对数字(例如 5),也可以是更新开始时 pod 总量的百分比(例如: 10%)。绝对数量从百分比计算。

如果 MaxUnavailable 为 0。默认情况下使用 25%。

示例:当将其设置为 30% 时,当滚动更新启动时,新的 RC 可立即扩展 30%。旧 pod 终止后,可以进一步扩展新的 RC,确保更新期间任何时间运行的 pod 总数最多为原始 pod 的 130%。

maxUnavailable

IntOrString

maxUnavailable 是更新期间不可用的 pod 的最大数量。值可以是绝对数字(例如 5),也可以是开始更新时 pod 总量的百分比(例如: 10%)。绝对数量从百分比计算(通过向下舍入)。

如果 MaxSurge 为 0,则这不能为 0。默认情况下使用 25%。

示例:当将其设置为 30% 时,可以在滚动更新启动时立即由 30% 缩减旧 RC。新 pod 就绪后,可以进一步扩展旧的 RC,然后扩展新的 RC,确保更新过程中至少有 70% 的原始 pod 数量。

POST

object

LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。

pre

object

LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。

timeoutSeconds

整数

timeoutSeconds 是放弃前等待更新的时间。如果值为 nil,则使用默认值。

updatePeriodSeconds

整数

updatePeriodSeconds 是各个 pod 更新之间等待的时间。如果值为 nil,则使用默认值。

9.1.18. .spec.strategy.rollingParams.post

描述
LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
类型
object
必填
  • failurePolicy
Expand
属性类型描述

execNewPod

object

ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。

failurePolicy

string

failurePolicy 指定在 hook 失败时要执行的操作。

tagImages

数组

TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。

tagImages[]

object

TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。

9.1.19. .spec.strategy.rollingParams.post.execNewPod

描述
ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
类型
object
必填
  • 命令
  • containerName
Expand
属性类型描述

命令

数组(字符串)

command 是 action 命令及其参数。

containerName

string

containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。

env

array (EnvVar)

env 是一组环境变量,用于提供给 hook pod 的容器。

数组(字符串)

volumes 是 pod 模板中命名卷的列表,应复制到 hook pod。pod 规格中未找到的卷名称将被忽略。一个空列表表示不会复制卷。

9.1.20. .spec.strategy.rollingParams.post.tagImages

描述
TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。
类型
数组

9.1.21. .spec.strategy.rollingParams.post.tagImages[]

描述
TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。
类型
object
必填
  • containerName
Expand
属性类型描述

containerName

string

containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。

ObjectReference

to 是将容器镜像设置为的目标 ImageStreamTag。

9.1.22. .spec.strategy.rollingParams.pre

描述
LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
类型
object
必填
  • failurePolicy
Expand
属性类型描述

execNewPod

object

ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。

failurePolicy

string

failurePolicy 指定在 hook 失败时要执行的操作。

tagImages

数组

TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。

tagImages[]

object

TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。

9.1.23. .spec.strategy.rollingParams.pre.execNewPod

描述
ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
类型
object
必填
  • 命令
  • containerName
Expand
属性类型描述

命令

数组(字符串)

command 是 action 命令及其参数。

containerName

string

containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。

env

array (EnvVar)

env 是一组环境变量,用于提供给 hook pod 的容器。

数组(字符串)

volumes 是 pod 模板中命名卷的列表,应复制到 hook pod。pod 规格中未找到的卷名称将被忽略。一个空列表表示不会复制卷。

9.1.24. .spec.strategy.rollingParams.pre.tagImages

描述
TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。
类型
数组

9.1.25. .spec.strategy.rollingParams.pre.tagImages[]

描述
TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。
类型
object
必填
  • containerName
Expand
属性类型描述

containerName

string

containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。

ObjectReference

to 是将容器镜像设置为的目标 ImageStreamTag。

9.1.26. .spec.triggers

描述
触发器决定对 DeploymentConfig 的更新如何生成新部署。如果没有定义触发器,新的部署只能因为明确的客户端使用新的 LatestVersion 更新到 DeploymentConfig 的结果。如果为 null,则默认为使配置更改触发器。
类型
数组

9.1.27. .spec.triggers[]

描述
DeploymentTriggerPolicy 描述了生成新部署的单一触发器的策略。
类型
object
Expand
属性类型描述

imageChangeParams

object

DeploymentTriggerImageChangeParams 代表 ImageChange 触发器的参数。

type

string

触发器的类型

9.1.28. .spec.triggers[].imageChangeParams

描述
DeploymentTriggerImageChangeParams 代表 ImageChange 触发器的参数。
类型
object
必填
  • from
Expand
属性类型描述

自动

布尔值

自动意味着新标签值的检测应该会导致 pod 模板中的镜像更新。

containerNames

数组(字符串)

containerNames 用于限制 pod 中指定容器名称集的标签更新。如果多个触发器指向同一容器,则生成的行为未定义。将来的 API 版本会导致这个验证错误。如果 ContainerNames 没有指向有效的容器,则触发器将被忽略。将来的 API 版本会导致这个验证错误。

from

ObjectReference

from 是对镜像流标签的引用,以监视更改。from.Name 是唯一需要的子字段 - 如果 From.Namespace 为空白,则使用当前部署触发器的命名空间。

lastTriggeredImage

string

lastTriggeredImage 是要触发的最后一个镜像。

9.1.29. .status

描述
DeploymentConfigStatus 代表当前的部署状态。
类型
object
必填
  • latestVersion
  • observedGeneration
  • replicas
  • updatedReplicas
  • availableReplicas
  • unavailableReplicas
Expand
属性类型描述

availableReplicas

整数

availableReplicas 是此部署配置目标的可用 pod 的总数。

conditions

数组

条件代表部署配置当前状态的最新可用影响。

conditions[]

object

DeploymentCondition 描述了部署配置在特定时间点上的状态。

详情

object

DeploymentDetails 捕获有关部署原因的信息。

latestVersion

整数

LatestVersion 用于确定与部署配置关联的当前部署是否不同步。

observedGeneration

整数

observedGeneration 是部署配置控制器观察到的最新生成。

readyReplicas

整数

此部署目标就绪 pod 的总数。

replicas

整数

replicas 是此部署配置目标的 pod 总数。

unavailableReplicas

整数

UnavailableReplicas 是此部署配置的目标不可用 pod 的总数。

updatedReplicas

整数

UpdatedReplicas 是此部署配置的目标非确定的 pod 总数,该配置具有所需模板 spec。

9.1.30. .status.conditions

描述
条件代表部署配置当前状态的最新可用影响。
类型
array

9.1.31. .status.conditions[]

描述
DeploymentCondition 描述了部署配置在特定时间点上的状态。
类型
object
必填
  • type
  • status
Expand
属性类型描述

lastTransitionTime

时间

条件从一个状态转换到另一个状态最后一次的时间。

lastUpdateTime

时间

最后一次更新此条件的时间。

message

字符串

人类可读的消息,指示有关转换的详细信息。

reason

字符串

条件最后一次转换的原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

string

部署条件的类型。

9.1.32. .status.details

描述
DeploymentDetails 捕获有关部署原因的信息。
类型
object
必填
  • 原因
Expand
属性类型描述

原因

数组

原因是与创建新部署的所有原因关联的数据

causes[]

object

DeploymentCause 捕获有关部署特定原因的信息。

message

string

如果用户手动触发此部署,则消息是用户指定的更改消息

9.1.33. .status.details.causes

描述
原因是与创建新部署的所有原因关联的数据
类型
数组

9.1.34. .status.details.causes[]

描述
DeploymentCause 捕获有关部署特定原因的信息。
类型
object
必填
  • type
Expand
属性类型描述

imageTrigger

object

DeploymentCauseImageTrigger 代表来自镜像更改触发器的部署原因的详情

type

string

导致创建新部署的触发器类型

9.1.35. .status.details.causes[].imageTrigger

描述
DeploymentCauseImageTrigger 代表来自镜像更改触发器的部署原因的详情
类型
object
必填
  • from
Expand
属性类型描述

from

ObjectReference

from 是触发部署的已更改对象的引用。该字段可能具有 DockerImage、ImageStreamTag 或 ImageStreamImage 类型。

9.2. API 端点

可用的 API 端点如下:

  • /apis/apps.openshift.io/v1/deploymentconfigs

    • GET: 列出或监视类型为 DeploymentConfig 的对象
  • /apis/apps.openshift.io/v1/watch/deploymentconfigs

    • GET: 观察单个对 DeploymentConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs

    • DELETE :删除 DeploymentConfig 集合
    • GET: 列出或监视类型为 DeploymentConfig 的对象
    • POST :创建 DeploymentConfig
  • /apis/apps.openshift.io/v1/watch/namespaces/{namespace}/deploymentconfigs

    • GET: 观察单个对 DeploymentConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}

    • DELETE :删除 DeploymentConfig
    • GET :读取指定的 DeploymentConfig
    • PATCH: 部分更新指定的 DeploymentConfig
    • PUT :替换指定的 DeploymentConfig
  • /apis/apps.openshift.io/v1/watch/namespaces/{namespace}/deploymentconfigs/{name}

    • GET: 观察对类型为 DeploymentConfig 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
  • /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/status

    • GET :指定 DeploymentConfig 的读取状态
    • PATCH: 部分更新指定 DeploymentConfig 的状态
    • PUT :替换指定 DeploymentConfig 的状态

9.2.1. /apis/apps.openshift.io/v1/deploymentconfigs

HTTP 方法
GET
描述
列出或监视类型为 DeploymentConfig 的对象
Expand
表 9.1. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentConfigList 模式

401 - 未授权

9.2.2. /apis/apps.openshift.io/v1/watch/deploymentconfigs

HTTP 方法
GET
描述
观察单个对 DeploymentConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 9.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

HTTP 方法
DELETE
描述
删除 DeploymentConfig 集合
Expand
表 9.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 9.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status_v2 schema

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 DeploymentConfig 的对象
Expand
表 9.5. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentConfigList 模式

401 - 未授权

HTTP 方法
POST
描述
创建 DeploymentConfig
Expand
表 9.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 9.7. 主体参数
参数类型描述

正文(body)

deploymentConfig 模式

 
Expand
表 9.8. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

201 - Created

deploymentConfig 模式

202 - Accepted

deploymentConfig 模式

401 - 未授权

HTTP 方法
GET
描述
观察单个对 DeploymentConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 9.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 9.10. 全局路径参数
参数类型描述

name

string

DeploymentConfig 的名称

HTTP 方法
DELETE
描述
删除 DeploymentConfig
Expand
表 9.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 9.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status_v2 schema

202 - Accepted

Status_v2 schema

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 DeploymentConfig
Expand
表 9.13. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定的 DeploymentConfig
Expand
表 9.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 9.15. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

201 - Created

deploymentConfig 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定的 DeploymentConfig
Expand
表 9.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 9.17. 主体参数
参数类型描述

正文(body)

deploymentConfig 模式

 
Expand
表 9.18. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

201 - Created

deploymentConfig 模式

401 - 未授权

Expand
表 9.19. 全局路径参数
参数类型描述

name

string

DeploymentConfig 的名称

HTTP 方法
GET
描述
观察对类型为 DeploymentConfig 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 9.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 9.21. 全局路径参数
参数类型描述

name

string

DeploymentConfig 的名称

HTTP 方法
GET
描述
指定 DeploymentConfig 的读取状态
Expand
表 9.22. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定 DeploymentConfig 的状态
Expand
表 9.23. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 9.24. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

201 - Created

deploymentConfig 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定 DeploymentConfig 的状态
Expand
表 9.25. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 9.26. 主体参数
参数类型描述

正文(body)

deploymentConfig 模式

 
Expand
表 9.27. HTTP 响应
HTTP 代码响应正文

200 - OK

deploymentConfig 模式

201 - Created

deploymentConfig 模式

401 - 未授权

描述

DeploymentConfigRollback 提供回滚生成的输入。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • name
  • spec

10.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

name

string

将回滚的部署配置的名称。

spec

object

DeploymentConfigRollbackSpec 代表回滚生成的选项。

updatedAnnotations

对象(字符串)

UpdatedAnnotations 是一组新注解,将在部署配置中添加。

10.1.1. .spec

描述
DeploymentConfigRollbackSpec 代表回滚生成的选项。
类型
object
必填
  • from
  • includeTriggers
  • includeTemplate
  • includeReplicationMeta
  • includeStrategy
Expand
属性类型描述

from

ObjectReference

from 指向一个 ReplicationController,这是部署。

includeReplicationMeta

布尔值

IncludeReplicationMeta 指定是否包含副本数和选择器。

includeStrategy

布尔值

IncludeStrategy 指定是否包含部署策略。

includeTemplate

布尔值

IncludeTemplate 指定是否包含 PodTemplateSpec。

includeTriggers

布尔值

IncludeTriggers 指定是否包含配置触发器。

revision

整数

要回滚到的修订。如果设置为 0,请回滚到最后一个修订版本。

10.2. API 端点

可用的 API 端点如下:

  • /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/rollback

    • POST :创建 DeploymentConfig 的回滚
Expand
表 10.1. 全局路径参数
参数类型描述

name

string

DeploymentConfigRollback 的名称

Expand
表 10.2. 全局查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

HTTP 方法
POST
描述
创建 DeploymentConfig 的回滚
Expand
表 10.3. 主体参数
参数类型描述

正文(body)

DeploymentConfigRollback 模式

 
Expand
表 10.4. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentConfigRollback 模式

201 - Created

DeploymentConfigRollback 模式

202 - Accepted

DeploymentConfigRollback 模式

401 - 未授权

第 11 章 DeploymentLog [apps.openshift.io/v1]

描述

DeploymentLog 代表部署的日志

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object

11.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

11.2. API 端点

可用的 API 端点如下:

  • /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/log

    • GET :读取指定 DeploymentConfig 的日志
Expand
表 11.1. 全局路径参数
参数类型描述

name

string

DeploymentLog 的名称

HTTP 方法
GET
描述
读取指定 DeploymentConfig 的日志
Expand
表 11.2. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentLog 模式

401 - 未授权

第 12 章 DeploymentRequest [apps.openshift.io/v1]

描述

DeploymentRequest 是对新部署的部署配置的请求。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • name
  • latest
  • force

12.1. 规格

Expand
属性类型描述

apiVersion

string

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

excludeTriggers

数组(字符串)

ExcludeTriggers 指示 instantiator 避免处理指定的触发器。此字段覆盖最新的触发器,并允许客户端控制特定逻辑。如果没有指定,则忽略此字段。

force

布尔值

强制将尝试强制运行新部署。如果部署配置暂停,则将其设置为 true 将返回 Invalid 错误。

kind

string

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

latest

布尔值

latest 将使用来自所有触发器的最新状态来更新部署配置。

name

string

请求新部署的部署配置的名称。

12.2. API 端点

可用的 API 端点如下:

  • /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/instantiate

    • POST :创建 DeploymentConfig 的实例化
Expand
表 12.1. 全局路径参数
参数类型描述

name

string

DeploymentRequest 的名称

Expand
表 12.2. 全局查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

HTTP 方法
POST
描述
创建 DeploymentConfig 实例化
Expand
表 12.3. 主体参数
参数类型描述

正文(body)

DeploymentRequest 模式

 
Expand
表 12.4. HTTP 响应
HTTP 代码响应正文

200 - OK

DeploymentRequest 模式

201 - Created

DeploymentRequest 模式

202 - Accepted

DeploymentRequest 模式

401 - 未授权

第 13 章 Job [batch/v1]

描述
Job 代表单个作业的配置。
类型
object

13.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

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

spec

object

JobSpec 描述作业执行的方式。

status

object

JobStatus 代表作业的当前状态。

13.1.1. .spec

描述
JobSpec 描述作业执行的方式。
类型
object
必填
  • 模板
Expand
属性类型描述

activeDeadlineSeconds

整数

指定与 startTime 相关的持续时间(以秒为单位),作业可能会在系统尝试终止它前持续激活;值必须是正整数。如果作业被挂起(在创建或通过更新时),则当作业再次恢复时,此计时器将有效停止并重置。

backoffLimit

整数

指定在标记此作业失败前重试次数。默认值为 6

backoffLimitPerIndex

整数

指定索引在将索引标记为失败前在索引中重试次数的限制。当启用每个索引的失败次数时,pod 的 batch.kubernetes.io/job-index-failure-count 注解会保持在 pod 的 batch.kubernetes.io/job-index-failure-count 注解中。只有在作业的 completionMode=Indexed 且 Pod 的重启策略为 Never 时,才能设置它。该字段是不可变的。此字段是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时(默认启用)时,可以使用它。

completionMode

string

completionMode 指定 Pod 完成的跟踪方式。它可以是 NonIndexed (默认)或 Indexed

NonIndexed 表示当 .spec.completions 成功完成 Pod 时,作业被视为已完成。每个 Pod 完成都相互同动。

索引 表示作业的 Pod 从 0 到(.spec.completions - 1),注解 batch.kubernetes.io/job-completion-index 提供。当每个索引都有一个成功完成 Pod 时,作业被视为已完成。当值为 Indexed 时,必须指定 .spec.completions,并且 .spec.parallelism 必须小于或等于 10^5。另外,Pod 名称采用 $(job-name)-$(index)-$(random-string) 的形式,Pod 主机名采用 $(job-name)-$(index) 的形式。

以后可以添加更多完成模式。如果作业控制器观察到没有识别的模式,则控制器会因为版本 skew 而导致升级,则控制器会跳过作业的更新。

可能枚举值: - "Indexed" 是一个作业完成模式。在此模式中,作业的 Pod 从 0 到(.spec.completions - 1)获取关联的完成索引。当 Pod 完成每个完成索引后,作业被视为已完成。- "NonIndexed" 是一个作业完成模式。在这个模式中,当 .spec.completions 成功完成 Pod 时,作业被视为已完成。Pod 完成相互同动。

completions

整数

指定作业应该运行成功完成的 pod 数量。将 设置为 null 意味着,任何 pod 成功都会提示所有 pod 成功,并允许并行( parallelism)具有任何正数的值。设置为 1 表示并行性限制为 1,pod 的成功会通知作业成功。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

managedBy

string

ManagedBy 字段显示管理作业的控制器。k8s 作业控制器协调没有此字段的作业,或者字段值是保留字符串 kubernetes.io/job-controller,但跳过将作业与此字段的自定义值协调。该值必须是有效的域前缀路径(如 acme.io/foo)- 在第一个"/"前的所有字符都必须是 RFC 1123 定义的有效子域。结尾第一个"/"的所有字符都必须是 RFC 3986 定义的有效 HTTP 路径字符。该值不能超过 63 个字符。此字段不可变。

此字段是 beta 级别。当启用了功能门 JobManagedBy 时(默认启用)时,作业控制器接受设置字段。

manualSelector

布尔值

manualSelector 控制 pod 标签和 pod 选择器的生成。除非您确定正在执行的操作,否则请保留 manualSelector。如果为 false 或未设置,系统会选择此作业的唯一标签,并将这些标签附加到 pod 模板。为 true 时,用户负责选择唯一标签并指定选择器。无法选择唯一标签可能会导致此和其他作业无法正常工作。但是,在使用旧 extensions/v1beta1 API 创建的作业中看到 manualSelector=true。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector

maxFailedIndexes

整数

当设置了 backoffLimitPerIndex 时,在将作业标记为失败前指定失败索引的最大数量。当失败的索引数量超过这个数字后,整个作业都会标记为 Failed,其执行将被终止。当保留为 null 时,作业将继续执行其所有索引,并标记为 Complete 作业条件。只有在设置了 backoffLimitPerIndex 时,才能指定它。它可以是 null,也可以是 up to completions。它是必需的,且在完成大于 10^5 时必须小于或等于 10^4。此字段是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时(默认启用)时,可以使用它。

parallelism

整数

指定作业应在任意给定时间运行的最大 pod 数量。当(.spec.completions - .status.successful)< .spec.parallelism)< .spec.parallelism)时,以 steady 状态运行的 pod 的实际数量将小于这个数字。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

podFailurePolicy

object

PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。

podReplacementPolicy

string

podReplacementPolicy 指定何时创建替换 Pod。可能的值有: - TerminatingOrFailed 表示,我们在终止时重新创建 pod (带有 metadata.deletionTimestamp)或失败。- Failed 表示在创建替换 Pod 前等待到之前创建的 Pod 完全终止(has phase Failed 或 Succeeded)。

使用 podFailurePolicy 时,Failed 是唯一允许的值。当 podFailurePolicy 没有使用时,允许 TerminatingOrFailed 和 Failed。这是 beta 字段。要使用此功能,请启用 JobPodReplacementPolicy 功能切换。默认为开启。

可能枚举值:- "Failed" 用于在创建替换 Pod 前等待之前创建的 Pod 完全终止(has phase Failed 或 Succeeded)。- "TerminatingOrFailed" 意味着,我们在终止时重新创建 pod (获取 metadata.deletionTimestamp)或失败。

selector

LabelSelector

与 pod 数量匹配的 pod 的标签查询。通常,系统会为您设置此字段。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

successPolicy

object

SuccessPolicy 描述了根据某些索引成功声明作业成功的时间。

suspend

布尔值

suspend 指定作业控制器是否应该创建 Pod。如果创建一个作业,并将 suspend 设为 true,则作业控制器不会创建 Pod。如果在创建后暂停某个作业(例如,标志从 false 变为 true),则作业控制器将删除与此作业关联的所有活动 Pod。用户必须设计自己的工作负载才能正常处理。暂停作业将重置作业的 StartTime 字段,从而有效地重置 ActiveDeadlineSeconds 计时器。默认为false。

模板

PodTemplateSpec

描述在执行作业时将创建的 pod。唯一允许的 template.spec.restartPolicy 值是 "Never" 或 "OnFailure"。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

ttlSecondsAfterFinished

整数

ttlSecondsAfterFinished 限制已完成执行( Complete 或 Failed)的作业的生命周期。如果设置了此字段,ttlSecondsAfterFinished 在作业完成后,它可以被自动删除。当作业被删除时,其生命周期保证(如终结器)将会被遵守。如果未设置此字段,则不会自动删除作业。如果此字段设为零,则作业在完成后将立即删除。

13.1.2. .spec.podFailurePolicy

描述
PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。
类型
object
必填
  • rules
Expand
属性类型描述

rules

数组

Pod 失败策略规则列表。规则按顺序评估。当规则与 Pod 故障匹配后,其余的规则将被忽略。如果没有与 Pod 故障匹配的规则,则应用默认处理 - pod 故障的计数器会递增,并针对 backoffLimit 检查。最多允许 20 个元素。

rules[]

object

PodFailurePolicyRule 描述了在满足要求时如何处理 pod 失败。每个规则都可以使用 onExitCodes 和 onPodConditions 中的一个。

13.1.3. .spec.podFailurePolicy.rules

描述
Pod 失败策略规则列表。规则按顺序评估。当规则与 Pod 故障匹配后,其余的规则将被忽略。如果没有与 Pod 故障匹配的规则,则应用默认处理 - pod 故障的计数器会递增,并针对 backoffLimit 检查。最多允许 20 个元素。
类型
数组

13.1.4. .spec.podFailurePolicy.rules[]

描述
PodFailurePolicyRule 描述了在满足要求时如何处理 pod 失败。每个规则都可以使用 onExitCodes 和 onPodConditions 中的一个。
类型
object
必填
  • action
Expand
属性类型描述

action

string

指定满足要求时 pod 故障执行的操作。可能的值有:

- FailJob: 表示 pod 的作业标记为 Failed,所有运行的 pod 都被终止。- FailIndex: 表示 pod 的索引标记为 Failed,且不会重启。这个值是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时,可以使用它。- Ignore: 表示对 .backoffLimit 的计数器没有被递增,并创建了替换 pod。- Count: 表示 pod 被默认处理 - .backoffLimit 的计数器会递增。以后会考虑添加额外的值。客户端应通过跳过规则来响应未知操作。

可能枚举值: - "Count" 是一个在 pod 失败时执行的操作 - pod 失败以默认方式处理 - 计数器到 .backoffLimit,由作业的 .status.failed 字段表示,会递增。- "FailIndex" 是 pod 故障的操作,可能在 pod 失败时执行 - 将作业的索引标记为失败,以避免在这个索引中重启。只有在设置了 backoffLimitPerIndex 时,才可以使用此操作。这个值是 beta-level。- "FailJob" 这是可能在 pod 失败时执行的操作 - 将 pod 的作业标记为 Failed,终止所有运行的 pod。- "Ignore" 这是可能在 pod 故障上执行的操作 - 对 .backoffLimit 的计数器(由作业的 .status.failed 字段表示)不会被递增,并创建了替换 pod。

onExitCodes

object

PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。

onPodConditions

数组

代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。

onPodConditions[]

object

PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。

13.1.5. .spec.podFailurePolicy.rules[].onExitCodes

描述
PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。
类型
object
必填
  • operator
  • values
Expand
属性类型描述

containerName

string

使用指定名称将退出代码限制为容器。当为 null 时,该规则适用于所有容器。指定后,它应当与 pod 模板中的一个容器或 initContainer 名称匹配。

operator

string

代表容器退出代码和指定的值之间的关系。成功完成的容器(退出代码 0)不包括在要求检查中。可能的值有:

- in: 如果至少有一个容器退出代码(如果多个容器没有被 'containerName' 字段限制)位于指定的值集合中,则满足要求。- 如果至少一个容器退出代码(如果多个容器没有被 'containerName' 字段限制),则要求会满足。以后会考虑添加额外的值。假设不满足要求,客户端应该对未知操作器做出反应。

可能枚举值: - "In" - "NotIn"

values

数组(整数)

指定一组值。每个返回的容器退出代码(如果有多个容器)都会针对于 Operator 相关的一组值进行检查。值列表必须排序,且不得包含重复值。值 '0' 不能用于 In operator。至少需要一个元素。最多允许 255 个元素。

13.1.6. .spec.podFailurePolicy.rules[].onPodConditions

描述
代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。
类型
数组

13.1.7. .spec.podFailurePolicy.rules[].onPodConditions[]

描述
PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。
类型
object
必填
  • type
  • status
Expand
属性类型描述

status

string

指定所需的 Pod 条件状态。要匹配 pod 条件,需要指定的状态等于 pod 条件状态。默认值为 True。

type

string

指定所需的 Pod 条件类型。要匹配 pod 条件,需要指定类型等于 pod 条件类型。

13.1.8. .spec.successPolicy

描述
SuccessPolicy 描述了根据某些索引成功声明作业成功的时间。
类型
object
必填
  • rules
Expand
属性类型描述

rules

数组

规则代表了在 . status.succeededed >= .spec.completions 之前声明作业的替代规则列表。满足任何规则后,会添加 "SucceededCriteriaMet" 条件,并删除闲置 pod。此类作业的终端状态具有"Complete"条件。此外,这些规则按顺序评估;在作业满足其中一个规则后,会忽略其他规则。最多允许 20 个元素。

rules[]

object

SuccessPolicyRule 描述了将作业声明成功的规则。每个规则必须至少指定了 "succeededIndexes" 或 "succeededCount"。

13.1.9. .spec.successPolicy.rules

描述
规则代表了在 . status.succeededed >= .spec.completions 之前声明作业的替代规则列表。满足任何规则后,会添加 "SucceededCriteriaMet" 条件,并删除闲置 pod。此类作业的终端状态具有"Complete"条件。此外,这些规则按顺序评估;在作业满足其中一个规则后,会忽略其他规则。最多允许 20 个元素。
类型
数组

13.1.10. .spec.successPolicy.rules[]

描述
SuccessPolicyRule 描述了将作业声明成功的规则。每个规则必须至少指定了 "succeededIndexes" 或 "succeededCount"。
类型
object
Expand
属性类型描述

succeededCount

整数

succeededCount 指定作业成功索引集合的最小所需大小。当 succeededCount 与 succeededIndexes 一起使用时,检查只限制为 succeededIndexes 指定的索引集合。例如,如果 succeededIndexes 为 "1-4",则 succeededCount 为 "3",完成的索引为 "1", "3", 和 "5",则作业不会被声明为成功,因为仅考虑 "1" 和 "3" 索引。当此字段为 null 时,它不会默认为任何值,永远不会随时评估。当指定时,它需要是一个正整数。

succeededIndexes

string

succeededIndexes 指定需要包含在作业的成功索引集合中的索引集合。索引列表必须在 0 到 ".spec.completions-1" 中,且不得包含重复项。至少需要一个元素。索引以以逗号分开的间隔表示。间隔可以是十进制整数,也可以是以连字符分隔的十进制整数。数字列在一系列的第一个和最后一个元素中,用连字符分开。例如,如果完成的索引是 1, 3, 4, 5 和 7,它们表示为 "1,3-5,7"。当此字段为 null 时,此字段不默认为任何值,永远不会在任何时候评估。

13.1.11. .status

描述
JobStatus 代表作业的当前状态。
类型
object
Expand
属性类型描述

active

整数

未终止的待处理和运行的 pod 数量(没有 deletionTimestamp)。完成的作业的值为零。

completedIndexes

string

当 .spec.completionMode = "Indexed" 采用文本格式时,completedIndexes 包含已完成的索引。索引以十进制整数表示,以逗号分开。数字以增加的顺序列出。三个或更多连续的数字会被压缩,由一系列的第一个和最后一个元素代表,用连字符隔开。例如,如果完成的索引是 1, 3, 4, 5 和 7,它们表示为 "1,3-5,7"。

completionTime

时间

表示作业完成的时间。无法保证在单独的操作之间按顺序设置。它以 RFC3339 格式表示,并以 UTC 表示。完成时间会在作业成功完成时设置,然后只设置。该值不能更新或删除。该值表示与 startTime 字段相同的或者之后的时间点。

conditions

数组

对象当前状态的最新可用影响。当作业失败时,其中一个条件将具有类型 "Failed" 和 status true。当作业被暂停时,其中一个条件类型为 "Suspended" 和 status true;当作业被恢复时,此条件的状态将变为 false。作业完成后,其中一个条件将键入 "Complete" 和 status true。

作业在终端条件中被视为已完成,可以是 "Complete" 或 "Failed"。一个作业不能同时具有 "Complete" 和 "Failed" 条件。另外,它不能处于 "Complete" 和 "FailureTarget" 条件。无法禁用 "Complete", "Failed" 和 "FailureTarget" 条件。

更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

conditions[]

object

JobCondition 描述了作业的当前状态。

失败

整数

达到阶段 Failed 的 pod 数量。该值会以 monoton 的方式增加。

failedIndexes

string

当设置了 spec.backoffLimitPerIndex 时,FailedIndexes 包含失败的索引。索引以文本格式表示,类似于 completedIndexes 字段 ie。它们被保留为以逗号分开的十进制整数。数字以增加的顺序列出。三个或更多连续的数字会被压缩,由一系列的第一个和最后一个元素代表,用连字符隔开。例如,如果失败的索引为 1, 3, 4, 5 和 7,它们表示为 "1,3-5,7"。失败的索引集合不能与一组完成的索引重叠。

此字段是 beta 级别。当启用 JobBackoffLimitPerIndex 功能门时(默认启用)时,可以使用它。

ready

整数

具有 Ready 条件且没有终止的活跃 pod 数量(没有 deletionTimestamp)。

startTime

时间

代表作业控制器开始处理作业时。当作业以暂停状态创建时,不会设置此字段,直到在第一次恢复为止。每次从挂起中恢复作业时,都会重置此字段。它以 RFC3339 格式表示,并以 UTC 表示。

设置之后,只能在作业暂停时删除字段。在作业被取消或完成后,无法修改该字段。

succeeded

整数

达到阶段 Succeeded 的 pod 数量。该值会根据给定的 spec 递增 monoton。但是,可以降低对弹性索引作业进行缩减的响应。

Terminating

整数

终止的 pod 数量(处于 Pending 或 Running 状态,并具有 deletionTimestamp)。

此字段是 beta 级别。当启用了功能门 JobPodReplacementPolicy (默认启用)时,作业控制器会填充字段。

uncountedTerminatedPods

object

UncountedTerminatedPods 包含已终止但没有在作业状态计数器中考虑的 Pod 的 UID。

13.1.12. .status.conditions

描述

对象当前状态的最新可用影响。当作业失败时,其中一个条件将具有类型 "Failed" 和 status true。当作业被暂停时,其中一个条件类型为 "Suspended" 和 status true;当作业被恢复时,此条件的状态将变为 false。作业完成后,其中一个条件将键入 "Complete" 和 status true。

作业在终端条件中被视为已完成,可以是 "Complete" 或 "Failed"。一个作业不能同时具有 "Complete" 和 "Failed" 条件。另外,它不能处于 "Complete" 和 "FailureTarget" 条件。无法禁用 "Complete", "Failed" 和 "FailureTarget" 条件。

更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

类型
array

13.1.13. .status.conditions[]

描述
JobCondition 描述了作业的当前状态。
类型
object
必填
  • type
  • status
Expand
属性类型描述

lastProbeTime

时间

检查条件最后一次的时间。

lastTransitionTime

时间

条件从一个状态传输到另一个状态最后一次的时间。

message

字符串

人类可读的消息,指示最后一次转换的详细信息。

reason

字符串

(brief)条件最后一次转换的原因。

status

字符串

条件的状态,True, False, Unknown 之一。

type

string

作业状况的类型,完成或失败。

13.1.14. .status.uncountedTerminatedPods

描述
UncountedTerminatedPods 包含已终止但没有在作业状态计数器中考虑的 Pod 的 UID。
类型
object
Expand
属性类型描述

失败

数组(字符串)

Failed 包含失败 Pod 的 UID。

succeeded

数组(字符串)

Succeeded 包含成功 Pod 的 UID。

13.2. API 端点

可用的 API 端点如下:

  • /apis/batch/v1/jobs

    • GET :列出或监视类型为作业的对象
  • /apis/batch/v1/watch/jobs

    • GET: 观察单个对作业列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/batch/v1/namespaces/{namespace}/jobs

    • DELETE :删除作业集合
    • GET :列出或监视类型为作业的对象
    • POST :创建作业
  • /apis/batch/v1/watch/namespaces/{namespace}/jobs

    • GET: 观察单个对作业列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/batch/v1/namespaces/{namespace}/jobs/{name}

    • DELETE :删除作业
    • GET :读取指定的作业
    • PATCH: 部分更新指定的作业
    • PUT :替换指定的作业
  • /apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}

    • GET: 观察对类型为 Job 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
  • /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status

    • GET :指定作业的读取状态
    • PATCH: 部分更新指定作业的状态
    • PUT :替换指定作业的状态

13.2.1. /apis/batch/v1/jobs

HTTP 方法
GET
描述
列出或监视类型为 Job 的对象
Expand
表 13.1. HTTP 响应
HTTP 代码响应正文

200 - OK

JobList 模式

401 - 未授权

13.2.2. /apis/batch/v1/watch/jobs

HTTP 方法
GET
描述
观察单个对作业列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 13.2. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

13.2.3. /apis/batch/v1/namespaces/{namespace}/jobs

HTTP 方法
DELETE
描述
删除作业集合
Expand
表 13.3. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 13.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 Job 的对象
Expand
表 13.5. HTTP 响应
HTTP 代码响应正文

200 - OK

JobList 模式

401 - 未授权

HTTP 方法
POST
描述
创建作业
Expand
表 13.6. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 13.7. 主体参数
参数类型描述

正文(body)

Job 模式

 
Expand
表 13.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

201 - Created

Job 模式

202 - Accepted

Job 模式

401 - 未授权

13.2.4. /apis/batch/v1/watch/namespaces/{namespace}/jobs

HTTP 方法
GET
描述
观察单个对作业列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
Expand
表 13.9. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

13.2.5. /apis/batch/v1/namespaces/{namespace}/jobs/{name}

Expand
表 13.10. 全局路径参数
参数类型描述

name

string

作业的名称

HTTP 方法
DELETE
描述
删除作业
Expand
表 13.11. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

Expand
表 13.12. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的作业
Expand
表 13.13. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定的作业
Expand
表 13.14. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 13.15. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

201 - Created

Job 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定的作业
Expand
表 13.16. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 13.17. 主体参数
参数类型描述

正文(body)

Job 模式

 
Expand
表 13.18. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

201 - Created

Job 模式

401 - 未授权

Expand
表 13.19. 全局路径参数
参数类型描述

name

string

作业的名称

HTTP 方法
GET
描述
观察对类型为 Job 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
Expand
表 13.20. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

Expand
表 13.21. 全局路径参数
参数类型描述

name

string

作业的名称

HTTP 方法
GET
描述
指定作业的读取状态
Expand
表 13.22. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

401 - 未授权

HTTP 方法
PATCH
描述
部分更新指定作业的状态
Expand
表 13.23. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 13.24. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

201 - Created

Job 模式

401 - 未授权

HTTP 方法
PUT
描述
替换指定作业的状态
Expand
表 13.25. 查询参数
参数类型描述

dryRun

string

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

Expand
表 13.26. 主体参数
参数类型描述

正文(body)

Job 模式

 
Expand
表 13.27. HTTP 响应
HTTP 代码响应正文

200 - OK

Job 模式

201 - Created

Job 模式

401 - 未授权

第 14 章 Pod [v1]

描述
Pod 是可在主机上运行的容器的集合。此资源由客户端创建并调度到主机上。
类型
object

14.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

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

spec

object

PodSpec 是 pod 的描述。

status

object

PodStatus 代表 pod 状态的信息。状态可能会跟踪系统的实际状态,特别是当托管 pod 的节点无法联系 control plane 时。

14.1.1. .spec

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

activeDeadlineSeconds

整数

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

关联性

object

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

automountServiceAccountToken

布尔值

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

containers

array

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

containers[]

对象

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

dnsConfig

object

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

DNSPolicy

字符串

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

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

enableServiceLinks

布尔值

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

ephemeralContainers

array

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

ephemeralContainers[]

object

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

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

hostAliases

array

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

hostAliases[]

对象

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

hostIPC

布尔值

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

hostNetwork

布尔值

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

hostPID

布尔值

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

hostUsers

布尔值

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

hostname

字符串

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

imagePullSecrets

array

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

imagePullSecrets[]

对象

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

initContainers

array

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

initContainers[]

对象

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

nodeName

string

nodeName 表示此 pod 调度到哪个节点上。如果为空,则此 pod 是由 schedulerName 中定义的调度程序调度的候选者。设置此字段后,此节点的 kubelet 将负责此 pod 的生命周期。此字段不应用于表达 pod 调度到特定节点上。https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename

nodeSelector

对象(字符串)

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

os

object

PodOS 定义 pod 的 OS 参数。

开销

对象(数量)

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

preemptionPolicy

字符串

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

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

priority

整数

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

priorityClassName

字符串

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

readinessGates

array

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

readinessGates[]

对象

PodReadinessGate 包含对 pod 条件的引用

resourceClaims

数组

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

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

此字段不可变。

resourceClaims[]

object

PodResourceClaim 完全引用一个 ResourceClaim,要么直接或通过命名 ResourceClaimTemplate,然后转换为 pod 的 ResourceClaim。

它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。

resources

对象

ResourceRequirements 描述了计算资源要求。

restartPolicy

字符串

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

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

runtimeClassName

字符串

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

schedulerName

字符串

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

schedulingGates

数组

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

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

schedulingGates[]

object

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

securityContext

object

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

serviceAccount

string

DeprecatedServiceAccount 是 ServiceAccountName 的已弃用别名。弃用 :使用 serviceAccountName 替代。

serviceAccountName

字符串

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

setHostnameAsFQDN

布尔值

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

shareProcessNamespace

布尔值

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

subdomain

字符串

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

terminationGracePeriodSeconds

整数

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

容限(tolerations)

array

如果指定,pod 的容限。

tolerations[]

对象

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

topologySpreadConstraints

array

topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。

topologySpreadConstraints[]

对象

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

array

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

volumes[]

对象

卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。

14.1.2. .spec.affinity

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

nodeAffinity

object

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

podAffinity

object

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

podAntiAffinity

object

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

14.1.3. .spec.affinity.nodeAffinity

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

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

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

requiredDuringSchedulingIgnoredDuringExecution

object

节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。

描述
调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。
类型
array
描述
空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。
类型
object
必填
  • weight
  • preference
Expand
属性类型描述

preference

object

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

weight

整数

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

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

matchExpressions

array

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

matchExpressions[]

对象

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

matchFields

array

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

matchFields[]

对象

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

描述
按节点标签划分的节点选择器要求列表。
类型
array
描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
Expand
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

可能枚举值: - "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

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

描述
按节点字段划分的节点选择器要求列表。
类型
array
描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
Expand
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

可能枚举值: - "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

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

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

nodeSelectorTerms

array

必需。节点选择器术语列表。术语为 ORed。

nodeSelectorTerms[]

对象

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

描述
必需。节点选择器术语列表。术语为 ORed。
类型
array
描述
null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
类型
object
Expand
属性类型描述

matchExpressions

array

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

matchExpressions[]

对象

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

matchFields

array

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

matchFields[]

对象

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

描述
按节点标签划分的节点选择器要求列表。
类型
array
描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
Expand
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

可能枚举值: - "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

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

描述
按节点字段划分的节点选择器要求列表。
类型
array
描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
Expand
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

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

可能枚举值: - "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

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

14.1.18. .spec.affinity.podAffinity

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

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。

requiredDuringSchedulingIgnoredDuringExecution

array

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

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。

描述
调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。
类型
array
描述
所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
类型
object
必填
  • weight
  • podAffinityTerm
Expand
属性类型描述

podAffinityTerm

object

定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。

weight

整数

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

描述
定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
类型
object
必填
  • topologyKey
Expand
属性类型描述

labelSelector

LabelSelector

对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。

matchLabelKeys

数组(字符串)

matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择要考虑传入 pod 的 pod (anti)关联性的现有 pod 组。传入的 pod 标签中不存在的键将被忽略。默认值为空。matchLabelKeys 和 labelSelector 中都禁止相同的密钥。另外,当 labelSelector 未设置时,无法设置 matchLabelKeys。这是一个 beta 字段,需要启用 MatchLabelKeysInPodAffinity 功能门(默认启用)。

mismatchLabelKeys

数组(字符串)

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

namespaceSelector

LabelSelector

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

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

描述
如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
类型
array
描述
定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
类型
object
必填
  • topologyKey
Expand
属性类型描述

labelSelector

LabelSelector

对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。

matchLabelKeys

数组(字符串)

matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择要考虑传入 pod 的 pod (anti)关联性的现有 pod 组。传入的 pod 标签中不存在的键将被忽略。默认值为空。matchLabelKeys 和 labelSelector 中都禁止相同的密钥。另外,当 labelSelector 未设置时,无法设置 matchLabelKeys。这是一个 beta 字段,需要启用 MatchLabelKeysInPodAffinity 功能门(默认启用)。

mismatchLabelKeys

数组(字符串)

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

namespaceSelector

LabelSelector

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

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

14.1.24. .spec.affinity.podAntiAffinity

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

preferredDuringSchedulingIgnoredDuringExecution

array

调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。

preferredDuringSchedulingIgnoredDuringExecution[]

对象

所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。

requiredDuringSchedulingIgnoredDuringExecution

array

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

requiredDuringSchedulingIgnoredDuringExecution[]

对象

定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。

描述
调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。
类型
array
描述
所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
类型
object
必填
  • weight
  • podAffinityTerm
Expand
属性类型描述

podAffinityTerm

object

定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。

weight

整数

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

描述
定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
类型
object
必填
  • topologyKey
Expand
属性类型描述

labelSelector

LabelSelector

对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。

matchLabelKeys

数组(字符串)

matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择要考虑传入 pod 的 pod (anti)关联性的现有 pod 组。传入的 pod 标签中不存在的键将被忽略。默认值为空。matchLabelKeys 和 labelSelector 中都禁止相同的密钥。另外,当 labelSelector 未设置时,无法设置 matchLabelKeys。这是一个 beta 字段,需要启用 MatchLabelKeysInPodAffinity 功能门(默认启用)。

mismatchLabelKeys

数组(字符串)

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

namespaceSelector

LabelSelector

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

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

描述
如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
类型
array
描述
定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
类型
object
必填
  • topologyKey
Expand
属性类型描述

labelSelector

LabelSelector

对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。

matchLabelKeys

数组(字符串)

matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 labelSelector 合并为 key in (value),以选择要考虑传入 pod 的 pod (anti)关联性的现有 pod 组。传入的 pod 标签中不存在的键将被忽略。默认值为空。matchLabelKeys 和 labelSelector 中都禁止相同的密钥。另外,当 labelSelector 未设置时,无法设置 matchLabelKeys。这是一个 beta 字段,需要启用 MatchLabelKeysInPodAffinity 功能门(默认启用)。

mismatchLabelKeys

数组(字符串)

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

namespaceSelector

LabelSelector

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

命名空间

数组(字符串)

namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。

topologyKey

字符串

此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。

14.1.30. .spec.containers

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

14.1.31. .spec.containers[]

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

args

数组(字符串)

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

命令

数组(字符串)

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

env

array

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

env[]

对象

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

envFrom

array

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

envFrom[]

对象

EnvFromSource 代表一组 ConfigMap 的源

image

string

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

imagePullPolicy

字符串

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

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

生命周期

object

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

livenessProbe

object

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

name

字符串

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

ports

array

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

ports[]

对象

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

readinessProbe

object

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

resizePolicy

数组

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

resizePolicy[]

object

ContainerResizePolicy 代表容器的资源重新定义策略。

resources

对象

ResourceRequirements 描述了计算资源要求。

restartPolicy

string

restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。

securityContext

object

securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。

startupProbe

object

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

stdin

布尔值

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

stdinOnce

布尔值

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

terminationMessagePath

字符串

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

terminationMessagePolicy

字符串

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

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

tty

布尔值

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

volumeDevices

array

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

volumeDevices[]

对象

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

volumeMounts

array

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

volumeMounts[]

对象

VolumeMount 描述了容器内卷挂载。

workingDir

字符串

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

14.1.32. .spec.containers[].env

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

14.1.33. .spec.containers[].env[]

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

name

字符串

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

value

字符串

变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为一个单个 $,它用于转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。

valueFrom

object

EnvVarSource 代表 EnvVar 的值的源。

14.1.34. .spec.containers[].env[].valueFrom

描述
EnvVarSource 代表 EnvVar 的值的源。
类型
object
Expand
属性类型描述

configMapKeyRef

object

从 ConfigMap 中选择一个键。

fieldRef

object

ObjectFieldSelector 选择对象的 APIVersioned 字段。

resourceFieldRef

object

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

secretKeyRef

object

SecretKeySelector 选择 Secret 的密钥。

14.1.35. .spec.containers[].env[].valueFrom.configMapKeyRef

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

key

字符串

要选择的密钥。

name

字符串

引用的名称。有效地需要此字段,但因为允许向后兼容为空。这里具有空值的此类实例几乎是错误的。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

布尔值

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

14.1.36. .spec.containers[].env[].valueFrom.fieldRef

描述
ObjectFieldSelector 选择对象的 APIVersioned 字段。
类型
object
Expand
   

14.1.37. 

Expand
   

14.1.38. 

Expand
   

14.1.39. 

14.1.40. 

Expand
   

14.1.41. 

Expand
   

14.1.42. 

Expand
   

14.1.43. 

Expand
   

14.1.44. 

Expand
   

14.1.45. 

Expand
   

14.1.46. 

Expand
   

14.1.47. 

14.1.48. 

Expand
   

14.1.49. 

Expand
   

14.1.50. 

Expand
   

14.1.51. 

Expand
   

14.1.52. 

Expand
   

14.1.53. 

Expand
   

14.1.54. 

14.1.55. 

Expand
   

14.1.56. 

Expand
   

14.1.57. 

Expand
   

14.1.58. 

Expand
   

14.1.59. 

Expand
   

14.1.60. 

Expand
   

14.1.61. 

Expand
   

14.1.62. 

14.1.63. 

Expand
   

14.1.64. 

Expand
   

14.1.65. 

14.1.66. 

Expand
   

14.1.67. 

Expand
   

14.1.68. 

Expand
   

14.1.69. 

Expand
   

14.1.70. 

Expand
   

14.1.71. 

14.1.72. 

Expand
   

14.1.73. 

Expand
   

14.1.74. 

14.1.75. 

Expand
   

14.1.76. 

Expand
   

14.1.77. 

14.1.78. 

Expand
   

14.1.79. 

Expand
   

14.1.80. 

Expand
   

14.1.81. 

Expand
   

14.1.82. 

Expand
   

14.1.83. 

Expand
   

14.1.84. 

Expand
   

14.1.85. 

Expand
   

14.1.86. 

Expand
   

14.1.87. 

Expand
   

14.1.88. 

Expand
   

14.1.89. 

14.1.90. 

Expand
   

14.1.91. 

Expand
   

14.1.92. 

14.1.93. 

Expand
   

14.1.94. 

14.1.95. 

Expand
   

14.1.96. 

Expand
   

14.1.97. 

14.1.98. 

Expand
   

14.1.99. 

14.1.100. 

Expand
   

14.1.101. 

14.1.102. 

Expand
   

14.1.103. 

Expand
   

14.1.104. 

Expand
   

14.1.105. 

Expand
   

14.1.106. 

Expand
   

14.1.107. 

Expand
   

14.1.108. 

14.1.109. 

Expand
   

14.1.110. 

Expand
   

14.1.111. 

Expand
   

14.1.112. 

Expand
   

14.1.113. 

Expand
   

14.1.114. 

Expand
   

14.1.115. 

Expand
   

14.1.116. 

14.1.117. 

Expand
   

14.1.118. 

Expand
   

14.1.119. 

Expand
   

14.1.120. 

Expand
   

14.1.121. 

Expand
   

14.1.122. 

Expand
   

14.1.123. 

14.1.124. 

Expand
   

14.1.125. 

Expand
   

14.1.126. 

Expand
   

14.1.127. 

Expand
   

14.1.128. 

Expand
   

14.1.129. 

Expand
   

14.1.130. 

Expand
   

14.1.131. 

14.1.132. 

Expand
   

14.1.133. 

Expand
   

14.1.134. 

14.1.135. 

Expand
   

14.1.136. 

Expand
   

14.1.137. 

Expand
   

14.1.138. 

Expand
   

14.1.139. 

Expand
   

14.1.140. 

14.1.141. 

Expand
   

14.1.142. 

Expand
   

14.1.143. 

14.1.144. 

Expand
   

14.1.145. 

Expand
   

14.1.146. 

14.1.147. 

Expand
   

14.1.148. 

Expand
   

14.1.149. 

Expand
   

14.1.150. 

Expand
   

14.1.151. 

Expand
   

14.1.152. 

Expand
   

14.1.153. 

Expand
   

14.1.154. 

Expand
   

14.1.155. 

Expand
   

14.1.156. 

Expand
   

14.1.157. 

Expand
   

14.1.158. 

14.1.159. 

Expand
   

14.1.160. 

Expand
   

14.1.161. 

14.1.162. 

Expand
   

14.1.163. 

14.1.164. 

Expand
   

14.1.165. 

14.1.166. 

Expand
   

14.1.167. 

14.1.168. 

Expand
   

14.1.169. 

14.1.170. 

Expand
   

14.1.171. 

14.1.172. 

Expand
   

14.1.173. 

Expand
   

14.1.174. 

Expand
   

14.1.175. 

Expand
   

14.1.176. 

Expand
   

14.1.177. 

Expand
   

14.1.178. 

14.1.179. 

Expand
   

14.1.180. 

Expand
   

14.1.181. 

Expand
   

14.1.182. 

Expand
   

14.1.183. 

Expand
   

14.1.184. 

Expand
   

14.1.185. 

Expand
   

14.1.186. 

14.1.187. 

Expand
   

14.1.188. 

Expand
   

14.1.189. 

Expand
   

14.1.190. 

Expand
   

14.1.191. 

Expand
   

14.1.192. 

Expand
   

14.1.193. 

14.1.194. 

Expand
   

14.1.195. 

Expand
   

14.1.196. 

Expand
   

14.1.197. 

Expand
   

14.1.198. 

Expand
   

14.1.199. 

Expand
   

14.1.200. 

Expand
   

14.1.201. 

14.1.202. 

Expand
   

14.1.203. 

Expand
   

14.1.204. 

14.1.205. 

Expand
   

14.1.206. 

Expand
   

14.1.207. 

Expand
   

14.1.208. 

Expand
   

14.1.209. 

Expand
   

14.1.210. 

14.1.211. 

Expand
   

14.1.212. 

Expand
   

14.1.213. 

14.1.214. 

Expand
   

14.1.215. 

Expand
   

14.1.216. 

14.1.217. 

Expand
   

14.1.218. 

Expand
   

14.1.219. 

Expand
   

14.1.220. 

Expand
   

14.1.221. 

Expand
   

14.1.222. 

Expand
   

14.1.223. 

Expand
   

14.1.224. 

Expand
   

14.1.225. 

Expand
   

14.1.226. 

Expand
   

14.1.227. 

Expand
   

14.1.228. 

14.1.229. 

Expand
   

14.1.230. 

Expand
   

14.1.231. 

14.1.232. 

Expand
   

14.1.233. 

14.1.234. 

Expand
   

14.1.235. 

Expand
   

14.1.236. 

14.1.237. 

Expand
   

14.1.238. 

14.1.239. 

Expand
   

14.1.240. 

Expand
   

14.1.241. 

14.1.242. 

Expand
   

14.1.243. 

14.1.244. 

Expand
   

14.1.245. 

Expand
   

14.1.246. 

Expand
   

14.1.247. 

Expand
   

14.1.248. 

Expand
   

14.1.249. 

14.1.250. 

Expand
   

14.1.251. 

Expand
   

14.1.252. 

14.1.253. 

Expand
   

14.1.254. 

14.1.255. 

Expand
   

14.1.256. 

14.1.257. 

Expand
   

14.1.258. 

Expand
   

14.1.259. 

Expand
   

14.1.260. 

Expand
   

14.1.261. 

Expand
   

14.1.262. 

Expand
   

14.1.263. 

Expand
   

14.1.264. 

Expand
   

14.1.265. 

Expand
   

14.1.266. 

14.1.267. 

Expand
   

14.1.268. 

Expand
   

14.1.269. 

Expand
   

14.1.270. 

Expand
   

14.1.271. 

14.1.272. 

Expand
   

14.1.273. 

Expand
   

14.1.274. 

Expand
   

14.1.275. 

Expand
   

14.1.276. 

Expand
   

14.1.277. 

Expand
   

14.1.278. 

Expand
   

14.1.279. 

Expand
   

14.1.280. 

Expand
   

14.1.281. 

Expand
   

14.1.282. 

Expand
   

14.1.283. 

Expand
   

14.1.284. 

Expand
   

14.1.285. 

Expand
   

14.1.286. 

Expand
   

14.1.287. 

Expand
   

14.1.288. 

Expand
   

14.1.289. 

Expand
   

14.1.290. 

Expand
   

14.1.291. 

Expand
   

14.1.292. 

Expand
   

14.1.293. 

Expand
   

14.1.294. 

Expand
   

14.1.295. 

Expand
   

14.1.296. 

Expand
   

14.1.297. 

Expand
   

14.1.298. 

14.1.299. 

Expand
   

14.1.300. 

Expand
   

14.1.301. 

Expand
   

14.1.302. 

14.1.303. 

Expand
   

14.1.304. 

Expand
   

14.1.305. 

14.1.306. 

Expand
   

14.1.307. 

Expand
   

14.1.308. 

Expand
   

14.1.309. 

Expand
   

14.1.310. 

14.1.311. 

Expand
   

14.1.312. 

Expand
   

14.1.313. 

Expand
   

14.1.314. 

Expand
   

14.1.315. 

Expand
   

14.1.316. 

Expand
   

14.1.317. 

Expand
   

14.1.318. 

Expand
   

14.1.319. 

14.1.320. 

Expand
   

14.1.321. 

Expand
   

14.1.322. 

Expand
   

14.1.323. 

Expand
   

14.1.324. 

Expand
   

14.1.325. 

14.1.326. 

Expand
   

14.1.327. 

14.1.328. 

Expand
   

14.1.329. 

14.1.330. 

Expand
   

14.1.331. 

14.1.332. 

Expand
   

14.1.333. 

Expand
   

14.1.334. 

Expand
   

14.1.335. 

Expand
   

14.1.336. 

Expand
   

14.1.337. 

Expand
   

14.1.338. 

14.1.339. 

Expand
   

14.1.340. 

Expand
   

14.1.341. 

Expand
   

14.1.342. 

Expand
   

14.1.343. 

Expand
   

14.1.344. 

Expand
   

14.1.345. 

Expand
   

14.1.346. 

14.1.347. 

Expand
   

14.1.348. 

14.1.349. 

Expand
   

14.1.350. 

14.1.351. 

Expand
   

14.1.352. 

14.1.353. 

Expand
   

14.1.354. 

Expand
   

14.1.355. 

Expand
   

14.1.356. 

Expand
   

14.1.357. 

Expand
   

14.1.358. 

Expand
   

14.1.359. 

14.1.360. 

Expand
   

14.1.361. 

Expand
   

14.1.362. 

Expand
   

14.1.363. 

Expand
   

14.1.364. 

Expand
   

14.1.365. 

Expand
   

14.1.366. 

Expand
   

14.1.367. 

14.1.368. 

Expand
   

14.1.369. 

14.1.370. 

Expand
   

14.1.371. 

14.1.372. 

Expand
   

14.1.373. 

14.1.374. 

Expand
   

14.1.375. 

14.1.376. 

Expand
   

14.1.377. 

Expand
   

14.1.378. 

Expand
   

14.1.379. 

Expand
   

14.1.380. 

Expand
   

14.1.381. 

Expand
   

14.1.382. 

14.1.383. 

Expand
   

14.1.384. 

Expand
   

14.1.385. 

Expand
   

14.1.386. 

Expand
   

14.1.387. 

Expand
   

14.1.388. 

Expand
   

14.1.389. 

Expand
   

14.1.390. 

14.1.391. 

Expand
   

14.1.392. 

14.1.393. 

Expand
   

14.1.394. 

14.1.395. 

Expand
   

14.2. 

14.2.1. 

Expand
表 14.1. 
  

14.2.2. 

Expand
表 14.2. 
  

14.2.3. 

Expand
表 14.3. 
   

Expand
表 14.4. 
  

Expand
表 14.5. 
  

Expand
表 14.6. 
   

Expand
表 14.7. 
   

 
Expand
表 14.8. 
  

14.2.4. 

Expand
表 14.9. 
  

14.2.5. 

Expand
表 14.10. 
   

Expand
表 14.11. 
   

Expand
表 14.12. 
  

Expand
表 14.13. 
  

Expand
表 14.14. 
   

Expand
表 14.15. 
  

Expand
表 14.16. 
   

Expand
表 14.17. 
   

 
Expand
表 14.18. 
  

14.2.6. 

Expand
表 14.19. 
   

Expand
表 14.20. 
  

14.2.7. 

Expand
表 14.21. 
   

Expand
表 14.22. 
  

14.2.8. 

Expand
表 14.23. 
   

Expand
表 14.24. 
  

Expand
表 14.25. 
   

Expand
表 14.26. 
  

Expand
表 14.27. 
   

Expand
表 14.28. 
   

 
Expand
表 14.29. 
  

14.2.9. 

Expand
表 14.30. 
   

Expand
表 14.31. 
  

Expand
表 14.32. 
   

Expand
表 14.33. 
  

Expand
表 14.34. 
   

Expand
表 14.35. 
   

 
Expand
表 14.36. 
  

第 15 章 

15.1. 

Expand
   

15.1.1. 

Expand
   

15.1.2. 

Expand
   

15.1.3. 

Expand
   

15.1.4. 

Expand
   

15.1.5. 

Expand
   

15.1.6. 

15.1.7. 

Expand
   

15.1.8. 

Expand
   

15.1.9. 

15.1.10. 

Expand
   

15.1.11. 

15.1.12. 

Expand
   

15.1.13. 

Expand
   

15.1.14. 

15.1.15. 

Expand
   

15.1.16. 

15.1.17. 

Expand
   

15.1.18. 

15.1.19. 

Expand
   

15.1.20. 

Expand
   

15.1.21. 

15.1.22. 

Expand
   

15.1.23. 

Expand
   

15.1.24. 

15.1.25. 

Expand
   

15.1.26. 

Expand
   

15.1.27. 

15.1.28. 

Expand
   

15.1.29. 

Expand
   

15.1.30. 

15.1.31. 

Expand
   

15.1.32. 

15.1.33. 

Expand
   

15.1.34. 

15.1.35. 

Expand
   

15.1.36. 

Expand
   

15.1.37. 

Expand
   

15.1.38. 

Expand
   

15.1.39. 

Expand
   

15.1.40. 

Expand
   

15.1.41. 

15.1.42. 

Expand
   

15.1.43. 

Expand
   

15.1.44. 

Expand
   

15.1.45. 

Expand
   

15.1.46. 

Expand
   

15.1.47. 

Expand
   

15.1.48. 

Expand
   

15.1.49. 

15.1.50. 

Expand
   

15.1.51. 

Expand
   

15.1.52. 

Expand
   

15.1.53. 

Expand
   

15.1.54. 

Expand
   

15.1.55. 

Expand
   

15.1.56. 

15.1.57. 

Expand
   

15.1.58. 

Expand
   

15.1.59. 

Expand
   

15.1.60. 

Expand
   

15.1.61. 

Expand
   

15.1.62. 

Expand
   

15.1.63. 

Expand
   

15.1.64. 

15.1.65. 

Expand
   

15.1.66. 

Expand
   

15.1.67. 

15.1.68. 

Expand
   

15.1.69. 

Expand
   

15.1.70. 

Expand
   

15.1.71. 

Expand
   

15.1.72. 

Expand
   

15.1.73. 

15.1.74. 

Expand
   

15.1.75. 

Expand
   

15.1.76. 

15.1.77. 

Expand
   

15.1.78. 

Expand
   

15.1.79. 

15.1.80. 

Expand
   

15.1.81. 

Expand
   

15.1.82. 

Expand
   

15.1.83. 

Expand
   

15.1.84. 

Expand
   

15.1.85. 

Expand
   

15.1.86. 

Expand
   

15.1.87. 

Expand
   

15.1.88. 

Expand
   

15.1.89. 

Expand
   

15.1.90. 

Expand
   

15.1.91. 

15.1.92. 

Expand
   

15.1.93. 

Expand
   

15.1.94. 

15.1.95. 

Expand
   

15.1.96. 

15.1.97. 

Expand
   

15.1.98. 

Expand
   

15.1.99. 

15.1.100. 

Expand
   

15.1.101. 

15.1.102. 

Expand
   

15.1.103. 

15.1.104. 

Expand
   

15.1.105. 

Expand
   

15.1.106. 

Expand
   

15.1.107. 

Expand
   

15.1.108. 

Expand
   

15.1.109. 

Expand
   

15.1.110. 

15.1.111. 

Expand
   

15.1.112. 

Expand
   

15.1.113. 

Expand
   

15.1.114. 

Expand
   

15.1.115. 

Expand
   

15.1.116. 

Expand
   

15.1.117. 

Expand
   

15.1.118. 

15.1.119. 

Expand
   

15.1.120. 

Expand
   

15.1.121. 

Expand
   

15.1.122. 

Expand
   

15.1.123. 

Expand
   

15.1.124. 

Expand
   

15.1.125. 

15.1.126. 

Expand
   

15.1.127. 

Expand
   

15.1.128. 

Expand
   

15.1.129. 

Expand
   

15.1.130. 

Expand
   

15.1.131. 

Expand
   

15.1.132. 

Expand
   

15.1.133. 

15.1.134. 

Expand
   

15.1.135. 

Expand
   

15.1.136. 

15.1.137. 

Expand
   

15.1.138. 

Expand
   

15.1.139. 

Expand
   

15.1.140. 

Expand
   

15.1.141. 

Expand
   

15.1.142. 

15.1.143. 

Expand
   

15.1.144. 

Expand
   

15.1.145. 

15.1.146. 

Expand
   

15.1.147. 

Expand
   

15.1.148. 

15.1.149. 

Expand
   

15.1.150. 

Expand
   

15.1.151. 

Expand
   

15.1.152. 

Expand
   

15.1.153. 

Expand
   

15.1.154. 

Expand
   

15.1.155. 

Expand
   

15.1.156. 

Expand
   

15.1.157. 

Expand
   

15.1.158. 

Expand
   

15.1.159. 

Expand
   

15.1.160. 

15.1.161. 

Expand
   

15.1.162. 

Expand
   

15.1.163. 

15.1.164. 

Expand
   

15.1.165. 

15.1.166. 

Expand
   

15.1.167. 

15.1.168. 

Expand
   

15.1.169. 

15.1.170. 

Expand
   

15.1.171. 

15.1.172. 

Expand
   

15.1.173. 

15.1.174. 

Expand
   

15.1.175. 

Expand
   

15.1.176. 

Expand
   

15.1.177. 

Expand
   

15.1.178. 

Expand
   

15.1.179. 

Expand
   

15.1.180. 

15.1.181. 

Expand
   

15.1.182. 

Expand
   

15.1.183. 

Expand
   

15.1.184. 

Expand
   

15.1.185. 

Expand
   

15.1.186. 

Expand
   

15.1.187. 

Expand
   

15.1.188. 

15.1.189. 

Expand
   

15.1.190. 

Expand
   

15.1.191. 

Expand
   

15.1.192. 

Expand
   

15.1.193. 

Expand
   

15.1.194. 

Expand
   

15.1.195. 

15.1.196. 

Expand
   

15.1.197. 

Expand
   

15.1.198. 

Expand
   

15.1.199. 

Expand
   

15.1.200. 

Expand
   

15.1.201. 

Expand
   

15.1.202. 

Expand
   

15.1.203. 

15.1.204. 

Expand
   

15.1.205. 

Expand
   

15.1.206. 

15.1.207. 

Expand
   

15.1.208. 

Expand
   

15.1.209. 

Expand
   

15.1.210. 

Expand
   

15.1.211. 

Expand
   

15.1.212. 

15.1.213. 

Expand
   

15.1.214. 

Expand
   

15.1.215. 

15.1.216. 

Expand
   

15.1.217. 

Expand
   

15.1.218. 

15.1.219. 

Expand
   

15.1.220. 

Expand
   

15.1.221. 

Expand
   

15.1.222. 

Expand
   

15.1.223. 

Expand
   

15.1.224. 

Expand
   

15.1.225. 

Expand
   

15.1.226. 

Expand
   

15.1.227. 

Expand
   

15.1.228. 

Expand
   

15.1.229. 

Expand
   

15.1.230. 

15.1.231. 

Expand
   

15.1.232. 

Expand
   

15.1.233. 

15.1.234. 

Expand
   

15.1.235. 

15.1.236. 

Expand
   

15.1.237. 

Expand
   

15.1.238. 

15.1.239. 

Expand
   

15.1.240. 

15.1.241. 

Expand
   

15.1.242. 

Expand
   

15.1.243. 

15.1.244. 

Expand
   

15.1.245. 

15.1.246. 

Expand
   

15.1.247. 

Expand
   

15.1.248. 

Expand
   

15.1.249. 

Expand
   

15.1.250. 

Expand
   

15.1.251. 

15.1.252. 

Expand
   

15.1.253. 

Expand
   

15.1.254. 

15.1.255. 

Expand
   

15.1.256. 

15.1.257. 

Expand
   

15.1.258. 

15.1.259. 

Expand
   

15.1.260. 

Expand
   

15.1.261. 

Expand
   

15.1.262. 

Expand
   

15.1.263. 

Expand
   

15.1.264. 

Expand
   

15.1.265. 

Expand
   

15.1.266. 

Expand
   

15.1.267. 

Expand
   

15.1.268. 

15.1.269. 

Expand
   

15.1.270. 

Expand
   

15.1.271. 

Expand
   

15.1.272. 

Expand
   

15.1.273. 

15.1.274. 

Expand
   

15.1.275. 

Expand
   

15.1.276. 

Expand
   

15.1.277. 

Expand
   

15.1.278. 

Expand
   

15.1.279. 

Expand
   

15.1.280. 

Expand
   

15.1.281. 

Expand
   

15.1.282. 

Expand
   

15.1.283. 

Expand
   

15.1.284. 

Expand
   

15.1.285. 

Expand
   

15.1.286. 

Expand
   

15.1.287. 

Expand
   

15.1.288. 

Expand
   

15.1.289. 

Expand
   

15.1.290. 

Expand
   

15.1.291. 

Expand
   

15.1.292. 

Expand
   

15.1.293. 

Expand
   

15.1.294. 

Expand
   

15.1.295. 

Expand
   

15.1.296. 

Expand
   

15.1.297. 

Expand
   

15.1.298. 

Expand
   

15.1.299. 

Expand
   

15.1.300. 

15.1.301. 

Expand
   

15.1.302. 

Expand
   

15.1.303. 

Expand
   

15.1.304. 

15.1.305. 

Expand
   

15.1.306. 

Expand
   

15.1.307. 

15.1.308. 

Expand
   

15.1.309. 

Expand
   

15.1.310. 

Expand
   

15.1.311. 

Expand
   

15.1.312. 

15.1.313. 

Expand
   

15.1.314. 

Expand
   

15.1.315. 

Expand
   

15.1.316. 

Expand
   

15.1.317. 

Expand
   

15.1.318. 

Expand
   

15.1.319. 

Expand
   

15.1.320. 

Expand
   

15.1.321. 

15.1.322. 

Expand
   

15.1.323. 

Expand
   

15.1.324. 

Expand
   

15.1.325. 

Expand
   

15.1.326. 

Expand
   

15.1.327. 

15.1.328. 

Expand
   

15.2. 

15.2.1. 

Expand
表 15.1. 
  

15.2.2. 

Expand
表 15.2. 
  

15.2.3. 

Expand
表 15.3. 
   

Expand
表 15.4. 
  

Expand
表 15.5. 
  

Expand
表 15.6. 
   

Expand
表 15.7. 
   

 
Expand
表 15.8. 
  

15.2.4. 

Expand
表 15.9. 
  

15.2.5. 

Expand
表 15.10. 
   

Expand
表 15.11. 
   

Expand
表 15.12. 
  

Expand
表 15.13. 
  

Expand
表 15.14. 
   

Expand
表 15.15. 
  

Expand
表 15.16. 
   

Expand
表 15.17. 
   

 
Expand
表 15.18. 
  

15.2.6. 

Expand
表 15.19. 
   

Expand
表 15.20. 
  

15.2.7. 

Expand
表 15.21. 
   

Expand
表 15.22. 
  

Expand
表 15.23. 
   

Expand
表 15.24. 
  

Expand
表 15.25. 
   

Expand
表 15.26. 
   

 
Expand
表 15.27. 
  

第 16 章 

16.1. 

Expand
   

16.1.1. 

Expand
   

16.1.2. 

Expand
   

16.1.3. 

16.1.4. 

Expand
   

16.2. 

16.2.1. 

Expand
表 16.1. 
  

16.2.2. 

Expand
表 16.2. 
  

16.2.3. 

Expand
表 16.3. 
   

Expand
表 16.4. 
  

Expand
表 16.5. 
  

Expand
表 16.6. 
   

Expand
表 16.7. 
   

 
Expand
表 16.8. 
  

16.2.4. 

Expand
表 16.9. 
  

16.2.5. 

Expand
表 16.10. 
   

Expand
表 16.11. 
   

Expand
表 16.12. 
  

Expand
表 16.13. 
  

Expand
表 16.14. 
   

Expand
表 16.15. 
  

Expand
表 16.16. 
   

Expand
表 16.17. 
   

 
Expand
表 16.18. 
  

16.2.6. 

Expand
表 16.19. 
   

Expand
表 16.20. 
  

16.2.7. 

Expand
表 16.21. 
   

Expand
表 16.22. 
  

Expand
表 16.23. 
   

Expand
表 16.24. 
  

Expand
表 16.25. 
   

Expand
表 16.26. 
   

 
Expand
表 16.27. 
  

第 17 章 

17.1. 

Expand
   

17.1.1. 

Expand
   

17.1.2. 

Expand
   

17.1.3. 

Expand
   

17.1.4. 

Expand
   

17.1.5. 

Expand
   

17.1.6. 

Expand
   

17.1.7. 

17.1.8. 

Expand
   

17.2. 

17.2.1. 

Expand
表 17.1. 
  

17.2.2. 

Expand
表 17.2. 
  

17.2.3. 

Expand
表 17.3. 
   

Expand
表 17.4. 
  

Expand
表 17.5. 
  

Expand
表 17.6. 
   

Expand
表 17.7. 
   

 
Expand
表 17.8. 
  

17.2.4. 

Expand
表 17.9. 
  

17.2.5. 

Expand
表 17.10. 
   

Expand
表 17.11. 
   

Expand
表 17.12. 
  

Expand
表 17.13. 
  

Expand
表 17.14. 
   

Expand
表 17.15. 
  

Expand
表 17.16. 
   

Expand
表 17.17. 
   

 
Expand
表 17.18. 
  

17.2.6. 

Expand
表 17.19. 
   

Expand
表 17.20. 
  

17.2.7. 

Expand
表 17.21. 
   

Expand
表 17.22. 
  

Expand
表 17.23. 
   

Expand
表 17.24. 
  

Expand
表 17.25. 
   

Expand
表 17.26. 
   

 
Expand
表 17.27. 
  

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat