工作负载 API
工作负载 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. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| BuildConfigSpec 描述了创建构建的时间和方式 |
|
| BuildConfigStatus 包含构建配置对象的当前状态。 |
2.1.1. .spec
- 描述
- BuildConfigSpec 描述了创建构建的时间和方式
- 类型
-
object
- 必填
-
策略
-
属性 | 类型 | 描述 |
---|---|---|
|
| completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。 |
|
| failedBuildsHistoryLimit 是要保留的旧失败构建的数量。创建 BuildConfig 时,将保留 5 个最新失败构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有失败的构建都会被保留。 |
|
| mountTrustedCA 绑定会将集群的可信证书颁发机构(如集群的代理配置中定义的)挂载到构建中。这允许自定义 PKI 证书颁发机构(如私有工件存储库和 HTTPS 代理)签名的构建信任组件内处理。
当此字段设置为 true 时,构建中的 |
|
| nodeSelector 是一个选择器,对于构建 pod 适合某个节点,则必须为 true。如果为 nil,它可以被集群的默认构建 nodeselector 值覆盖。如果设置为空映射或带有任何值的映射,则忽略默认的构建 nodeselector 值。 |
|
| BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。 |
|
| BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。 如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。
配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 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。 |
| 资源计算资源执行构建的要求。 | |
|
| SourceRevision 是构建的修订或提交信息 |
|
| runPolicy 描述了如何调度从此构建配置创建的新构建来执行。如果未指定,则默认为 "Serial"。 |
|
| ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret |
|
| BuildSource 是用于构建的 SCM。 |
|
| BuildStrategy 包含如何执行构建的详细信息。 |
|
| successfulBuildsHistoryLimit 是要保留的旧成功构建的数量。创建 BuildConfig 时,将保留 5 个最新成功构建,除非设置了这个值。如果在 BuildConfig 创建后删除,则所有成功构建都会被保留。 |
|
| 触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。 |
|
| BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。 |
2.1.2. .spec.output
- 描述
- BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。 |
|
| ImageLabel 代表应用于生成的镜像的标签。 |
| pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。 | |
| 将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。 |
2.1.3. .spec.output.imageLabels
- 描述
- imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
- 类型
-
数组
2.1.4. .spec.output.imageLabels[]
- 描述
- ImageLabel 代表应用于生成的镜像的标签。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 定义标签的名称。它必须具有非零长度。 |
|
| value 定义标签的字面值。 |
2.1.5. .spec.postCommit
- 描述
BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。
如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。
配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行
rake test --verbose
。Shell 脚本:
"postCommit": { "script": "rake test --verbose", }
The above is a convenient form which is equivalent to:
"postCommit": { "command": ["/bin/sh", "-ic"], "args": ["rake test --verbose"] }
作为镜像入口点的命令:
"postCommit": { "commit": ["rake", "test", "--verbose"] }
Command overrides the image entrypoint in the exec form, as documented in Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.
将参数传递给默认入口点:
"postCommit": { "args": ["rake", "test", "--verbose"] }
This form is only useful if the image entrypoint can handle arguments.
Shell 脚本带有参数:
"postCommit": { "script": "rake test $1", "args": ["--verbose"] }
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.
命令带有参数:
"postCommit": { "command": ["rake", "test"], "args": ["--verbose"] }
This form is equivalent to appending the arguments to the Command slice.
同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| args 是提供给 Command、Script 或容器镜像的默认入口点的参数列表。参数将紧接在要运行的命令后面。 |
|
|
命令是要运行的命令。它不能使用 Script 指定。如果镜像没有 |
|
|
脚本是使用 |
2.1.6. .spec.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
2.1.7. .spec.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
2.1.8. .spec.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
2.1.9. .spec.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
2.1.10. .spec.source
- 描述
- BuildSource 是用于构建的 SCM。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。 |
|
| ConfigMaps 代表 configMaps 列表,其目的地将用于构建。 |
|
| ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。 |
|
| contextDir 指定应用程序的源代码所在的子目录。这允许在存储库根目录以外的目录中具有构建源。 |
|
| Dockerfile 是应构建的 Dockerfile 的原始内容。当指定此选项时,可以根据您的策略基础镜像修改 FROM,您的策略环境中的其他 ENV 小节将添加到 FROM 之后,但在 Dockerfile 小节的其余部分之前。在这些情况下,Dockerfile 源类型可以和 git - 等其他选项一起使用,Git 仓库将在上下文 dir 中替换任何 innate Dockerfile。 |
|
| GitBuildSource 定义 Git SCM 的参数 |
|
| 镜像描述一组用于为构建提供源的镜像 |
|
| ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。 |
|
| secrets 代表 secret 列表及其目的地,仅用于构建。 |
|
| SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。 |
| sourceSecret 是 Secret 的名称,用于设置用于克隆私有存储库的身份验证。secret 包含远程存储库的有效凭证,其中 data 的键代表要使用的身份验证方法,value 是 base64 编码的凭证。支持的验证方法有:ssh-privatekey. | |
|
| 要接受的构建输入类型 |
2.1.11. .spec.source.binary
- 描述
- BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 |
2.1.12. .spec.source.configMaps
- 描述
- ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
- 类型
-
数组
2.1.13. .spec.source.configMaps[]
- 描述
- ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
configMap
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 是您要在构建中使用的现有 configmap 的引用。 | |
|
| destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
2.1.14. .spec.source.git
- 描述
- GitBuildSource 定义 Git SCM 的参数
- 类型
-
object
- 必填
-
uri
-
属性 | 类型 | 描述 |
---|---|---|
|
| httpProxy 是一个代理,用于通过 http 访问 git 存储库 |
|
| httpsProxy 是一个代理,用于通过 https 访问 git 存储库 |
|
| noProxy 是不应使用代理的域列表 |
|
| ref 是要构建的分支/标签/ref。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。 |
| from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。 | |
|
| paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。 |
|
| ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。 |
| pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。 |
2.1.17. .spec.source.images[].paths
- 描述
- paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
- 类型
-
数组
2.1.18. .spec.source.images[].paths[]
- 描述
- ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
- 类型
-
object
- 必填
-
sourcePath
-
destinationDir
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。 |
|
| sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。 |
2.1.19. .spec.source.secrets
- 描述
- secrets 代表 secret 列表及其目的地,仅用于构建。
- 类型
-
数组
2.1.20. .spec.source.secrets[]
- 描述
- SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
secret
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
| Secret 是对要在构建中使用的现有 secret 的引用。 |
2.1.21. .spec.strategy
- 描述
- BuildStrategy 包含如何执行构建的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| CustomBuildStrategy 定义特定于 Custom build 的输入参数。 |
|
| DockerBuildStrategy 定义特定于容器镜像构建的输入参数。 |
|
| JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines |
|
| SourceBuildStrategy 定义特定于 Source 构建的输入参数。 |
|
| type 是构建策略的类型。 |
2.1.22. .spec.strategy.customStrategy
- 描述
- CustomBuildStrategy 定义特定于 Custom build 的输入参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
|
| buildAPIVersion 是 Build 对象序列化的请求的 API 版本,并传递给自定义构建器 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| exposeDockerSocket 将允许从容器内运行 Docker 命令(和构建容器镜像)。 |
|
| forcePull 描述控制器应该将构建 pod 配置为始终拉取构建器的镜像,或者仅在本地没有时拉取(pull)。 |
| from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用 | |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| secret 是构建 pod 中包含的额外 secret 的列表 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| mountPath 是挂载 secret 的路径 |
| secretSource 是对 secret 的引用 |
2.1.25. .spec.strategy.dockerStrategy
- 描述
- DockerBuildStrategy 定义特定于容器镜像构建的输入参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| buildArgs 包含要在 Dockerfile 中解析的构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg。注意:只支持 'name' 和 'value' 字段。'valueFrom' 字段中的任何设置都会被忽略。 | |
|
|
dockerfilePath 是 Dockerfile 的路径,它将用于构建容器镜像,相对于上下文的根目录(contextDir)。如果未设置,则默认为 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。 |
| from 是 DockerImage、ImageStreamTags 或 ImageStreamImage 的引用,可覆盖构建的 Dockerfile 中的 FROM 镜像。如果 Dockerfile 使用多阶段构建,这将替换文件的最后一个 FROM 指令中的镜像。 | |
|
| imageOptimizationPolicy 描述了系统在构建镜像时可以使用哪些优化,以减少构建镜像的最终大小或时间。默认策略为 'None',这意味着最终构建镜像将等同于由容器镜像构建 API 创建的镜像。实验性策略 'SkipLayers' 将避免在每个镜像步骤之间提交新层,如果 Dockerfile 无法与"None"策略提供兼容性,将失败。一个额外的实验性策略 'SkipLayersAndWarn' 与 'SkipLayers' 相同,只是在无法保留兼容性时警告。 |
|
| 如果设为 true,noCache 表示必须使用 --no-cache=true 标志执行容器镜像构建 |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| mounts 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
2.1.28. .spec.strategy.dockerStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
2.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
2.1.30. .spec.strategy.dockerStrategy.volumes[].source
- 描述
- BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 代表应填充此卷的 ConfigMap | |
| CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能 | |
| Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret | |
|
| type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap |
2.1.31. .spec.strategy.jenkinsPipelineStrategy
- 描述
- JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建管道的额外环境变量。 | |
|
| Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。 |
|
| jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。 |
2.1.32. .spec.strategy.sourceStrategy
- 描述
- SourceBuildStrategy 定义特定于 Source 构建的输入参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。 |
| from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用 | |
|
| 如果为 true,则增量标志会强制 Source 构建执行增量构建。 |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| 脚本是源脚本的位置 |
|
| 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| mounts 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
2.1.35. .spec.strategy.sourceStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
2.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
2.1.37. .spec.strategy.sourceStrategy.volumes[].source
- 描述
- BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 代表应填充此卷的 ConfigMap | |
| CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能 | |
| Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret | |
|
| type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap |
2.1.38. .spec.triggers
- 描述
- 触发器决定如何从 BuildConfig 启动新构建。如果没有定义触发器,则只能在创建显式客户端构建后进行新构建。
- 类型
-
数组
2.1.39. .spec.triggers[]
- 描述
- BuildTriggerPolicy 描述了生成新构建的单个触发器的策略。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用 |
|
| ImageChangeTrigger 允许在 ImageStream 更改时触发构建 |
|
| 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
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.41. .spec.triggers[].bitbucket.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.42. .spec.triggers[].generic
- 描述
- WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.43. .spec.triggers[].generic.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.44. .spec.triggers[].github
- 描述
- WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.45. .spec.triggers[].github.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.46. .spec.triggers[].gitlab
- 描述
- WebHookTrigger 是一个触发器,它使用 webhook 类型 post 调用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowEnv 决定 webhook 是否可以设置环境变量;对于 GenericWebHook,只能设置为 true。 |
|
| 用于验证请求的 secret。deprecated: 使用 SecretReference 替代。 |
|
| SecretLocalReference 包含指向所使用的本地 secret 的信息 |
2.1.47. .spec.triggers[].gitlab.secretReference
- 描述
- SecretLocalReference 包含指向所使用的本地 secret 的信息
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是被引用同一命名空间中的资源的名称 |
2.1.48. .spec.triggers[].imageChange
- 描述
- ImageChangeTrigger 允许在 ImageStream 更改时触发构建
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| from 是对 ImageStreamTag 的引用,该引用将在更新时触发构建是可选的。如果没有指定 From,则使用构建策略中的 From 镜像。构建配置中只允许一个带有空的 From 引用的一个 ImageChangeTrigger。 | |
|
| lastTriggeredImageID 由 ImageChangeController 在内部使用,以保存构建此字段的最后使用的镜像 ID 已被弃用,并将在以后的发行版本中删除。Deprecated |
|
| 如果此触发器被临时禁用,则暂停为 true。可选。 |
2.1.49. .status
- 描述
- BuildConfigStatus 包含构建配置对象的当前状态。
- 类型
-
object
- 必填
-
lastVersion
-
属性 | 类型 | 描述 |
---|---|---|
|
| ImageChangeTriggers 捕获 BuildConfigSpec 中指定的任何 ImageChangeTrigger 的运行时状态,包括 OpenShift APIServer 为 lastTriggeredImageID 协调的值。这个数组中有一个条目用于 spec 中的每个镜像更改触发器。每个触发器状态引用作为触发器源的 ImageStreamTag。 |
|
| ImageChangeTriggerStatus 跟踪 BuildConfigSpec.Triggers struct 中指定的关联 ImageChangeTrigger 策略的最新解析状态。 |
|
| 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
属性 | 类型 | 描述 |
---|---|---|
|
| ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。 |
| lastTriggerTime 是这个特定 ImageStreamTag 最后一次触发构建来启动的时间。只有在此触发器特别启动 Build 时,此字段才会更新。 | |
|
| 当为此 BuildConfig 的构建启动时,lastTriggeredImageID 代表 ImageStreamTag 的 sha/id。每次启动此 BuildConfig 的构建时都会更新 lastTriggeredImageID,即使此 ImageStreamTag 不是启动构建的原因。 |
2.1.52. .status.imageChangeTriggers[].from
- 描述
- ImageStreamTagReference 根据命名空间和名称引用镜像更改触发器中的 ImageStreamTag。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 是 ImageChangeTrigger 的 ImageStreamTag 的名称 |
|
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.2. /apis/build.openshift.io/v1/watch/buildconfigs
- HTTP 方法
-
GET
- 描述
- 观察单个对 BuildConfig 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.3. /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs
- HTTP 方法
-
DELETE
- 描述
- 删除 BuildConfig 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 BuildConfig 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 BuildConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
2.2.4. /apis/build.openshift.io/v1/watch/namespaces/{namespace}/buildconfigs
- HTTP 方法
-
GET
- 描述
- 观察单个对 BuildConfig 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
2.2.5. /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| BuildConfig 的名称 |
- HTTP 方法
-
DELETE
- 描述
- delete a BuildConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 BuildConfig
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 BuildConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 BuildConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
2.2.6. /apis/build.openshift.io/v1/watch/namespaces/{namespace}/buildconfigs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| BuildConfig 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 BuildConfig 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 3 章 Build [build.openshift.io/v1]
- 描述
构建封装了生成新可部署镜像所需的输入,以及执行的状态以及执行构建的 Pod 的引用。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
3.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| BuildSpec 具有代表构建的信息,以及构建的附加信息 |
|
| BuildStatus 包含构建的状态 |
3.1.1. .spec
- 描述
- BuildSpec 具有代表构建的信息,以及构建的附加信息
- 类型
-
object
- 必填
-
策略
-
属性 | 类型 | 描述 |
---|---|---|
|
| completionDeadlineSeconds 是一个可选持续时间(以秒为单位),从系统中调度构建 pod 的时间,在系统主动尝试终止构建前,构建可能在节点上处于活跃状态;值必须是正整数。 |
|
| mountTrustedCA 绑定会将集群的可信证书颁发机构(如集群的代理配置中定义的)挂载到构建中。这允许自定义 PKI 证书颁发机构(如私有工件存储库和 HTTPS 代理)签名的构建信任组件内处理。
当此字段设置为 true 时,构建中的 |
|
| nodeSelector 是一个选择器,对于构建 pod 适合某个节点,则必须为 true。如果为 nil,它可以被集群的默认构建 nodeselector 值覆盖。如果设置为空映射或带有任何值的映射,则忽略默认的构建 nodeselector 值。 |
|
| BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。 |
|
| BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。 如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。
配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行 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。 |
| 资源计算资源执行构建的要求。 | |
|
| SourceRevision 是构建的修订或提交信息 |
|
| ServiceAccount 是用于运行此构建创建的 pod 的 ServiceAccount 的名称。pod 允许使用 ServiceAccount 引用的 secret |
|
| BuildSource 是用于构建的 SCM。 |
|
| BuildStrategy 包含如何执行构建的详细信息。 |
|
| triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。 |
|
| BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。 |
3.1.2. .spec.output
- 描述
- BuildOutput 是构建策略的输入,并描述了策略应生成的容器镜像。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。 |
|
| ImageLabel 代表应用于生成的镜像的标签。 |
| pushSecret 是 Secret 的名称,用于设置执行 Docker push 的身份验证到启用 Docker Registry (或 Docker Hub)的身份验证。 | |
| 将此构建的输出推送到的可选位置。kind 必须是 'ImageStreamTag' 或 'DockerImage' 之一。这个值将用于查找要推送到的容器镜像存储库。对于 ImageStreamTag,除非指定了 Namespace,否则 ImageStreamTag 将会在构建的命名空间中查找。 |
3.1.3. .spec.output.imageLabels
- 描述
- imageLabels 定义应用到生成的镜像的标签列表。如果存在具有相同名称的多个标签,则使用列表中的最后一个标签。
- 类型
-
数组
3.1.4. .spec.output.imageLabels[]
- 描述
- ImageLabel 代表应用于生成的镜像的标签。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 定义标签的名称。它必须具有非零长度。 |
|
| value 定义标签的字面值。 |
3.1.5. .spec.postCommit
- 描述
BuildPostCommitSpec 包含构建提交 hook 规格。hook 在运行构建输出镜像的临时容器中执行命令,紧接在提交镜像的最后一层后,并在镜像推送到 registry 之前。命令通过当前工作目录($PWD)设置为镜像的 WORKDIR 来执行。
如果 hook 执行失败,构建将标记为失败。如果脚本或命令返回非零退出代码,或者存在与启动临时容器相关的任何其他错误,它将失败。
配置 hook 有五种不同的方法。例如,以下所有形式同等,将执行
rake test --verbose
。Shell 脚本:
"postCommit": { "script": "rake test --verbose", }
The above is a convenient form which is equivalent to:
"postCommit": { "command": ["/bin/sh", "-ic"], "args": ["rake test --verbose"] }
作为镜像入口点的命令:
"postCommit": { "commit": ["rake", "test", "--verbose"] }
Command overrides the image entrypoint in the exec form, as documented in Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.
将参数传递给默认入口点:
"postCommit": { "args": ["rake", "test", "--verbose"] }
This form is only useful if the image entrypoint can handle arguments.
Shell 脚本带有参数:
"postCommit": { "script": "rake test $1", "args": ["--verbose"] }
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.
命令带有参数:
"postCommit": { "command": ["rake", "test"], "args": ["--verbose"] }
This form is equivalent to appending the arguments to the Command slice.
同时提供脚本和命令是无效的。如果没有指定任何字段,则不会执行 hook。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| args 是提供给 Command、Script 或容器镜像的默认入口点的参数列表。参数将紧接在要运行的命令后面。 |
|
|
命令是要运行的命令。它不能使用 Script 指定。如果镜像没有 |
|
|
脚本是使用 |
3.1.6. .spec.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.7. .spec.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.8. .spec.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.9. .spec.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.10. .spec.source
- 描述
- BuildSource 是用于构建的 SCM。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。 |
|
| ConfigMaps 代表 configMaps 列表,其目的地将用于构建。 |
|
| ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。 |
|
| contextDir 指定应用程序的源代码所在的子目录。这允许在存储库根目录以外的目录中具有构建源。 |
|
| Dockerfile 是应构建的 Dockerfile 的原始内容。当指定此选项时,可以根据您的策略基础镜像修改 FROM,您的策略环境中的其他 ENV 小节将添加到 FROM 之后,但在 Dockerfile 小节的其余部分之前。在这些情况下,Dockerfile 源类型可以和 git - 等其他选项一起使用,Git 仓库将在上下文 dir 中替换任何 innate Dockerfile。 |
|
| GitBuildSource 定义 Git SCM 的参数 |
|
| 镜像描述一组用于为构建提供源的镜像 |
|
| ImageSource 用于描述将从镜像中提取的构建源,或者在多阶段构建期间使用。可以使用类型 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。可以指定 pull secret 以从外部 registry 拉取镜像;如果从内部 registry 中拉取,则覆盖默认服务帐户 secret。镜像源可用于从镜像提取内容,并将其与存储库源一起放入构建上下文中,或者在多阶段容器镜像构建期间直接使用,以允许复制内容而不覆盖存储库源的内容(请参阅"路径"和"as"字段)。 |
|
| secrets 代表 secret 列表及其目的地,仅用于构建。 |
|
| SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。 |
| sourceSecret 是 Secret 的名称,用于设置用于克隆私有存储库的身份验证。secret 包含远程存储库的有效凭证,其中 data 的键代表要使用的身份验证方法,value 是 base64 编码的凭证。支持的验证方法有:ssh-privatekey. | |
|
| 要接受的构建输入类型 |
3.1.11. .spec.source.binary
- 描述
- BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 |
3.1.12. .spec.source.configMaps
- 描述
- ConfigMaps 代表 configMaps 列表,其目的地将用于构建。
- 类型
-
数组
3.1.13. .spec.source.configMaps[]
- 描述
- ConfigMapBuildSource 描述了 configmap 及其目标目录,它们仅在构建时使用。此处引用的 configmap 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
configMap
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 是您要在构建中使用的现有 configmap 的引用。 | |
|
| destinationDir 是 ConfigMap 中文件应该可用于构建时间的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
3.1.14. .spec.source.git
- 描述
- GitBuildSource 定义 Git SCM 的参数
- 类型
-
object
- 必填
-
uri
-
属性 | 类型 | 描述 |
---|---|---|
|
| httpProxy 是一个代理,用于通过 http 访问 git 存储库 |
|
| httpsProxy 是一个代理,用于通过 https 访问 git 存储库 |
|
| noProxy 是不应使用代理的域列表 |
|
| ref 是要构建的分支/标签/ref。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此源在多阶段容器镜像构建期间将使用的镜像名称列表。例如,使用 "COPY --from=nginx:latest" 的 Dockerfile 将首先检查此字段中具有"nginx:latest"的镜像源,然后再尝试直接拉取。如果 Dockerfile 不引用镜像源,它将被忽略。此字段和路径均可设置,在这种情况下,内容将使用两次。 |
| from 是从 中复制源的 ImageStreamTag、ImageStreamImage 或 DockerImage 的引用。 | |
|
| paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。 |
|
| ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。 |
| pullSecret 是用于从 OpenShift registry 中拉取镜像的 secret 的引用,则不需要设置此字段。 |
3.1.17. .spec.source.images[].paths
- 描述
- paths 是从镜像复制的源和目标路径列表。在开始构建前,此内容将复制到构建上下文中。如果没有设置路径,则不会更改构建上下文。
- 类型
-
数组
3.1.18. .spec.source.images[].paths[]
- 描述
- ImageSourcePath 描述了要在构建目录中从源镜像复制的路径及其目的地。
- 类型
-
object
- 必填
-
sourcePath
-
destinationDir
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建目录中的相对目录,其中放置从镜像复制的文件。 |
|
| sourcePath 是镜像中要复制到构建目录的文件或目录的绝对路径。如果源路径以 /. 结尾,则复制目录的内容,但不会在目的地上创建目录本身。 |
3.1.19. .spec.source.secrets
- 描述
- secrets 代表 secret 列表及其目的地,仅用于构建。
- 类型
-
数组
3.1.20. .spec.source.secrets[]
- 描述
- SecretBuildSource 描述了仅在构建时使用的 secret 及其目标目录。此处引用的 secret 的内容将复制到目标目录中,而不是挂载。
- 类型
-
object
- 必填
-
secret
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationDir 是构建时间可以使用 secret 中的文件的目录。对于 Source 构建策略,它们将注入到运行 assemble 脚本的容器中。之后,脚本完成后,注入的所有文件都会被截断为零长度。对于容器镜像构建策略,它们将复制到构建目录中,其中 Dockerfile 所在的位置,以便在容器镜像构建过程中 ADD 或 COPY。 |
| Secret 是对要在构建中使用的现有 secret 的引用。 |
3.1.21. .spec.strategy
- 描述
- BuildStrategy 包含如何执行构建的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| CustomBuildStrategy 定义特定于 Custom build 的输入参数。 |
|
| DockerBuildStrategy 定义特定于容器镜像构建的输入参数。 |
|
| JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines |
|
| SourceBuildStrategy 定义特定于 Source 构建的输入参数。 |
|
| type 是构建策略的类型。 |
3.1.22. .spec.strategy.customStrategy
- 描述
- CustomBuildStrategy 定义特定于 Custom build 的输入参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
|
| buildAPIVersion 是 Build 对象序列化的请求的 API 版本,并传递给自定义构建器 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| exposeDockerSocket 将允许从容器内运行 Docker 命令(和构建容器镜像)。 |
|
| forcePull 描述控制器应该将构建 pod 配置为始终拉取构建器的镜像,或者仅在本地没有时拉取(pull)。 |
| from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用 | |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| secret 是构建 pod 中包含的额外 secret 的列表 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| mountPath 是挂载 secret 的路径 |
| secretSource 是对 secret 的引用 |
3.1.25. .spec.strategy.dockerStrategy
- 描述
- DockerBuildStrategy 定义特定于容器镜像构建的输入参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| buildArgs 包含要在 Dockerfile 中解析的构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg。注意:只支持 'name' 和 'value' 字段。'valueFrom' 字段中的任何设置都会被忽略。 | |
|
|
dockerfilePath 是 Dockerfile 的路径,它将用于构建容器镜像,相对于上下文的根目录(contextDir)。如果未设置,则默认为 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。 |
| from 是 DockerImage、ImageStreamTags 或 ImageStreamImage 的引用,可覆盖构建的 Dockerfile 中的 FROM 镜像。如果 Dockerfile 使用多阶段构建,这将替换文件的最后一个 FROM 指令中的镜像。 | |
|
| imageOptimizationPolicy 描述了系统在构建镜像时可以使用哪些优化,以减少构建镜像的最终大小或时间。默认策略为 'None',这意味着最终构建镜像将等同于由容器镜像构建 API 创建的镜像。实验性策略 'SkipLayers' 将避免在每个镜像步骤之间提交新层,如果 Dockerfile 无法与"None"策略提供兼容性,将失败。一个额外的实验性策略 'SkipLayersAndWarn' 与 'SkipLayers' 相同,只是在无法保留兼容性时警告。 |
|
| 如果设为 true,noCache 表示必须使用 --no-cache=true 标志执行容器镜像构建 |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| mounts 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
3.1.28. .spec.strategy.dockerStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
3.1.29. .spec.strategy.dockerStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
3.1.30. .spec.strategy.dockerStrategy.volumes[].source
- 描述
- BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 代表应填充此卷的 ConfigMap | |
| CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能 | |
| Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret | |
|
| type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap |
3.1.31. .spec.strategy.jenkinsPipelineStrategy
- 描述
- JenkinsPipelineBuildStrategy 包含特定于 Jenkins Pipeline 构建的参数。已弃用:使用 OpenShift Pipelines
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建管道的额外环境变量。 | |
|
| Jenkinsfile 定义 Jenkinsfile 的可选原始内容,用于定义 Jenkins 管道构建。 |
|
| jenkinsfilePath 是 Jenkinsfile 的可选路径,它将用于配置相对于上下文的根目录(contextDir)的管道。如果同时没有指定 JenkinsfilePath 和 Jenkinsfile,则默认为指定 contextDir 中的 Jenkinsfile。 |
3.1.32. .spec.strategy.sourceStrategy
- 描述
- SourceBuildStrategy 定义特定于 Source 构建的输入参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
| env 包含您要传递给构建器容器的额外环境变量。 | |
|
| forcePull 描述构建前,构建器是否应该从 registry 中拉取镜像。 |
| from 是指应当从中拉取容器镜像的 DockerImage、ImageStreamStream 或 ImageStreamImage 的引用 | |
|
| 如果为 true,则增量标志会强制 Source 构建执行增量构建。 |
| pullSecret 是 Secret 的名称,用于设置从私有 Docker registry 中拉取容器镜像的身份验证 | |
|
| 脚本是源脚本的位置 |
|
| 卷是可以挂载到构建运行时环境的输入卷列表。构建只支持 Kubernetes 卷源的子集。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| mounts 代表镜像构建容器中的卷位置 |
|
| BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。 |
|
| name 是此 BuildVolume 的唯一标识符。它必须符合 Kubernetes DNS 标签标准,并在 pod 中唯一。与构建控制器添加的名称将会导致构建失败,并显示错误消息,详细描述了导致错误的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。 |
3.1.35. .spec.strategy.sourceStrategy.volumes[].mounts
- 描述
- mounts 代表镜像构建容器中的卷位置
- 类型
-
数组
3.1.36. .spec.strategy.sourceStrategy.volumes[].mounts[]
- 描述
- BuildVolumeMount 描述了在 buildah 的运行时环境中挂载卷。
- 类型
-
object
- 必填
-
destinationPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| destinationPath 是 buildah 运行时环境中的路径,其应挂载该卷。构建镜像中的临时挂载和后备卷都将被挂载为只读。必须是绝对路径,不得包含 '..' 或 ':',且不得与构建器进程路径生成的目的地路径冲突,使构建控制器添加的构建将产生一个失败的构建,并详细描述了哪个路径导致错误导致错误。 |
3.1.37. .spec.strategy.sourceStrategy.volumes[].source
- 描述
- BuildVolumeSource 代表卷的来源,在任何给定时间只能指定其支持的类型之一。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
| ConfigMap 代表应填充此卷的 ConfigMap | |
| CSI 代表外部 CSI 驱动程序提供的临时存储,支持此功能 | |
| Secret 代表应填充此卷的 Secret。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret | |
|
| type 是卷源的 BuildVolumeSourceType。type 必须与填充的卷源匹配。有效类型有: Secret、ConfigMap |
3.1.38. .spec.triggeredBy
- 描述
- triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。
- 类型
-
数组
3.1.39. .spec.triggeredBy[]
- 描述
- BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。 |
|
| GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。 |
|
| GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。 |
|
| GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。 |
|
| ImageChangeCause 包含有关触发构建的镜像的信息 |
|
| 消息用于存储触发构建的原因的人类可读消息。例如:"手动由 user"触发,"配置更改",etc. |
3.1.40. .spec.triggeredBy[].bitbucketWebHook
- 描述
- BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.41. .spec.triggeredBy[].bitbucketWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.42. .spec.triggeredBy[].bitbucketWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.43. .spec.triggeredBy[].bitbucketWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.44. .spec.triggeredBy[].bitbucketWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.45. .spec.triggeredBy[].genericWebHook
- 描述
- GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.46. .spec.triggeredBy[].genericWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.47. .spec.triggeredBy[].genericWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.48. .spec.triggeredBy[].genericWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.49. .spec.triggeredBy[].genericWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.50. .spec.triggeredBy[].githubWebHook
- 描述
- GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.51. .spec.triggeredBy[].githubWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.52. .spec.triggeredBy[].githubWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.53. .spec.triggeredBy[].githubWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.54. .spec.triggeredBy[].githubWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.55. .spec.triggeredBy[].gitlabWebHook
- 描述
- GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
3.1.56. .spec.triggeredBy[].gitlabWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
3.1.57. .spec.triggeredBy[].gitlabWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
3.1.58. .spec.triggeredBy[].gitlabWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.59. .spec.triggeredBy[].gitlabWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
3.1.60. .spec.triggeredBy[].imageChangeBuild
- 描述
- ImageChangeCause 包含有关触发构建的镜像的信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| fromRef 包含有关触发构建的镜像的详细信息。 | |
|
| imageID 是触发新构建的镜像的 ID。 |
3.1.61. .status
- 描述
- BuildStatus 包含构建的状态
- 类型
-
object
- 必填
-
phase
-
属性 | 类型 | 描述 |
---|---|---|
|
| Cancelled 描述了是否为构建触发了 cancel 事件。 |
| completionTimestamp 是一个代表此构建完成后服务器时间的时间戳,无论构建是否失败。它反映了运行构建所终止的 Pod 的时间。它以 RFC3339 格式表示,并以 UTC 表示。 | |
|
| 条件代表构建当前状态的最新可用影响。 |
|
| BuildCondition 描述了构建在特定时间点上的状态。 |
| 在 BuildConfig 中,config 是此构建所基于的 ObjectReference。 | |
|
| duration 包含用于描述构建时间的 time.Duration 对象。 |
|
| logSnippet 是构建日志的最后几行。这个值只为失败的构建设置。 |
|
| Message 是人类可读的消息,指示构建具有此状态的详细信息。 |
|
| BuildStatusOutput 包含构建的镜像的状态。 |
|
| outputDockerImageReference 包含对此构建将要构建的容器镜像的引用。其值从 Build.Spec.Output.To 计算,并且应包含 registry 地址,以便它可用于推送和拉取镜像。 |
|
| 阶段是构建生命周期中的点。可能的值有 "New", "Pending", "Running", "Complete", "Failed", "Error", 和 "Cancelled"。 |
|
| reason 是一个简短的 CamelCase 字符串,用于描述任何故障,用于 CLI 中的机器解析和波动显示。 |
|
| 阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。 |
|
| StageInfo 包含有关构建阶段的详细信息。 |
| startTimestamp 是一个时间戳,代表此构建在 Pod 中启动时的服务器时间。它以 RFC3339 格式表示,并以 UTC 表示。 |
3.1.62. .status.conditions
- 描述
- 条件代表构建当前状态的最新可用影响。
- 类型
-
array
3.1.63. .status.conditions[]
- 描述
- BuildCondition 描述了构建在特定时间点上的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
| 最后一次更新此条件的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 构建条件的类型。 |
3.1.64. .status.output
- 描述
- BuildStatusOutput 包含构建的镜像的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。 |
3.1.65. .status.output.to
- 描述
- BuildStatusOutputTo 描述了构建镜像应该要推送到的镜像 registry 的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| imageDigest 是构建的容器镜像摘要。摘要唯一标识它要推送到的 registry 中的镜像。 请注意,即使推送成功完成,也不能始终设置此字段 - 例如,当 registry 没有摘要或以构建器不理解的格式返回时。 |
3.1.66. .status.stages
- 描述
- 阶段包含构建期间发生的每个阶段的详细信息,包括开始时间(以毫秒为单位)以及每个阶段所发生的步骤。
- 类型
-
数组
3.1.67. .status.stages[]
- 描述
- StageInfo 包含有关构建阶段的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| durationMilliseconds 标识阶段在毫秒内完成所需的时间。注:一个阶段的持续时间可以超过阶段中步骤持续时间的总和,因为不是所有操作都考虑在显式构建步骤中。 |
|
| name 是发生的每个构建阶段的唯一标识符。 |
| startTime 是一个代表这个阶段启动时服务器时间的时间戳。它以 RFC3339 格式表示,并以 UTC 表示。 | |
|
| 步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。 |
|
| StepInfo 包含构建步骤的详细信息。 |
3.1.68. .status.stages[].steps
- 描述
- 步骤包含构建阶段所发生的每个步骤的详细信息,包括开始时间和持续时间(以毫秒为单位)。
- 类型
-
数组
3.1.69. .status.stages[].steps[]
- 描述
- StepInfo 包含构建步骤的详细信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| durationMilliseconds 确定步骤在毫秒内完成所需的时间。 |
|
| name 是每个构建步骤的唯一标识符。 |
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
3.2.2. /apis/build.openshift.io/v1/watch/builds
- HTTP 方法
-
GET
- 描述
- 观察单个对 Build 的列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
3.2.3. /apis/build.openshift.io/v1/namespaces/{namespace}/builds
- HTTP 方法
-
DELETE
- 描述
- 删除构建集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Build 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
POST
- 描述
- 创建构建
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
3.2.4. /apis/build.openshift.io/v1/watch/namespaces/{namespace}/builds
- HTTP 方法
-
GET
- 描述
- 观察单个对 Build 的列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
3.2.5. /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 构建的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除构建
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的构建
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的构建
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的构建
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
3.2.6. /apis/build.openshift.io/v1/watch/namespaces/{namespace}/builds/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 构建的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Build 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
3.2.7. /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/details
参数 | 类型 | 描述 |
---|---|---|
|
| 构建的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
PUT
- 描述
- 替换指定构建的详情
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - Unauthorized | 空 |
3.2.8. /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}/webhooks
参数 | 类型 | 描述 |
---|---|---|
|
| 构建的名称 |
- HTTP 方法
-
POST
- 描述
- 将 POST 请求连接到 BuildConfig 的 Webhook
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
3.2.9. /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}/webhooks/{path}
参数 | 类型 | 描述 |
---|---|---|
|
| 构建的名称 |
- HTTP 方法
-
POST
- 描述
- 将 POST 请求连接到 BuildConfig 的 Webhook
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
第 4 章 BuildLog [build.openshift.io/v1]
- 描述
BuildLog 是与构建日志重定向器关联的(未使用的)资源
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
4.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
4.2. API 端点
可用的 API 端点如下:
/apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/log
-
GET
:读取指定构建的日志
-
4.2.1. /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/log
参数 | 类型 | 描述 |
---|---|---|
|
| BuildLog 的名称 |
- HTTP 方法
-
GET
- 描述
- 读取指定构建的日志
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
第 5 章 BuildRequest [build.openshift.io/v1]
- 描述
BuildRequest 是用来传递参数到构建生成器的资源
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
对象
5.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。 |
|
| DockerStrategyOptions 包含容器镜像构建的额外策略选项 |
| env 包含您要传递给构建器容器的额外环境变量。 | |
| from 是触发构建的 ImageStreamTag 的引用。 | |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| lastVersion (可选)是用于生成构建的 BuildConfig 的 LastVersion。如果生成器中的 BuildConfig 不匹配,则不会生成构建。 |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| SourceRevision 是构建的修订或提交信息 |
|
| SourceStrategyOptions 包含 Source 构建的额外策略选项 |
|
| triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。 |
|
| BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。 |
| triggeredByImage 是触发此构建的镜像。 |
5.1.1. .binary
- 描述
- BinaryBuildSource 描述了用于 Docker 和 Source 构建策略的二进制文件,该文件将提取并用作构建源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
asFile 表示提供的二进制输入应被视为构建输入中的一个文件。例如,指定"webapp.war"会将提供的二进制文件放在构建器的 |
5.1.2. .dockerStrategyOptions
- 描述
- DockerStrategyOptions 包含容器镜像构建的额外策略选项
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| args 包含要传递给 Docker 的任何构建参数。详情请查看 https://docs.docker.com/engine/reference/builder/#/arg | |
|
| noCache 覆盖构建配置中的 docker-strategy noCache 选项 |
5.1.3. .revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
5.1.4. .revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
5.1.5. .revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.6. .revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.7. .sourceStrategyOptions
- 描述
- SourceStrategyOptions 包含 Source 构建的额外策略选项
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 增量覆盖构建配置中的 source-strategy 增量选项 |
5.1.8. .triggeredBy
- 描述
- triggeredBy 描述了哪些触发器启动对构建配置的最新更新,并包含有关这些触发器的信息。
- 类型
-
数组
5.1.9. .triggeredBy[]
- 描述
- BuildTriggerCause 包含有关触发的构建的信息。它用于显示 oc describe 中每个构建的构建触发器数据。它还用于描述导致构建配置中最近更新哪些触发器。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。 |
|
| GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。 |
|
| GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。 |
|
| GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。 |
|
| ImageChangeCause 包含有关触发构建的镜像的信息 |
|
| 消息用于存储触发构建的原因的人类可读消息。例如:"手动由 user"触发,"配置更改",etc. |
5.1.10. .triggeredBy[].bitbucketWebHook
- 描述
- BitbucketWebHookCause 包含有关触发构建的 Bitbucket Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
5.1.11. .triggeredBy[].bitbucketWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
5.1.12. .triggeredBy[].bitbucketWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
5.1.13. .triggeredBy[].bitbucketWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.14. .triggeredBy[].bitbucketWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.15. .triggeredBy[].genericWebHook
- 描述
- GenericWebHookCause 包含有关触发构建的通用 WebHook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
5.1.16. .triggeredBy[].genericWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
5.1.17. .triggeredBy[].genericWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
5.1.18. .triggeredBy[].genericWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.19. .triggeredBy[].genericWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.20. .triggeredBy[].githubWebHook
- 描述
- GitHubWebHookCause 包含有关触发构建的 GitHub Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
5.1.21. .triggeredBy[].githubWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
5.1.22. .triggeredBy[].githubWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
5.1.23. .triggeredBy[].githubWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.24. .triggeredBy[].githubWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.25. .triggeredBy[].gitlabWebHook
- 描述
- GitLabWebHookCause 包含有关触发构建的 GitLab Webhook 的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceRevision 是构建的修订或提交信息 |
|
| secret 是触发构建的模糊的 webhook secret。 |
5.1.26. .triggeredBy[].gitlabWebHook.revision
- 描述
- SourceRevision 是构建的修订或提交信息
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| GitSourceRevision 是构建的 git 源的提交信息 |
|
| 构建源的类型可以是 'Source', 'Dockerfile', 'Binary', 或 'Images' 之一 |
5.1.27. .triggeredBy[].gitlabWebHook.revision.git
- 描述
- GitSourceRevision 是构建的 git 源的提交信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| SourceControlUser 定义源控制用户的身份 |
|
| commit 是标识特定提交的提交哈希 |
|
| SourceControlUser 定义源控制用户的身份 |
|
| message 是特定提交的描述 |
5.1.28. .triggeredBy[].gitlabWebHook.revision.git.author
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.29. .triggeredBy[].gitlabWebHook.revision.git.committer
- 描述
- SourceControlUser 定义源控制用户的身份
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 源控制用户的电子邮件 |
|
| 源控制用户的名称 |
5.1.30. .triggeredBy[].imageChangeBuild
- 描述
- ImageChangeCause 包含有关触发构建的镜像的信息
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| fromRef 包含有关触发构建的镜像的详细信息。 | |
|
| 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 的实例化
-
5.2.1. /apis/build.openshift.io/v1/namespaces/{namespace}/builds/{name}/clone
参数 | 类型 | 描述 |
---|---|---|
|
| BuildRequest 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- 创建构建的克隆
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
5.2.2. /apis/build.openshift.io/v1/namespaces/{namespace}/buildconfigs/{name}/instantiate
参数 | 类型 | 描述 |
---|---|---|
|
| BuildRequest 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- 创建 BuildConfig 的实例化
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
第 6 章 CronJob [batch/v1]
- 描述
- CronJob 代表单个 cron 作业的配置。
- 类型
-
object
6.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| CronJobSpec 描述作业执行如何以及实际运行时。 |
|
| CronJobStatus 代表 cron 任务的当前状态。 |
6.1.1. .spec
- 描述
- CronJobSpec 描述作业执行如何以及实际运行时。
- 类型
-
object
- 必填
-
调度
-
jobTemplate
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定如何处理作业的并发执行。有效值为: - "allow" (默认):允许 CronJob 并发运行; - "Forbid": forbids concurrent 运行、跳过下一次运行(如果以前的运行还没有完成); - "Replace": 取消当前运行的作业,并将其替换为新作业
可能枚举值: - |
|
| 要保留的失败完成作业数量。值必须是非负整数。默认为 1。 |
|
| JobTemplateSpec 描述从模板创建时作业应具有的数据 |
|
| Cron 格式的调度,请参阅 https://en.wikipedia.org/wiki/Cron。 |
|
| 如果因为任何原因而错过了调度时间,则可选截止时间(以秒为单位)。错过的作业执行计为失败的作业。 |
|
| 要保留的成功完成作业数量。值必须是非负整数。默认值为 3。 |
|
| 此标志告知控制器暂停后续执行,它不会应用到已经启动的执行。默认为false。 |
|
| 给定调度的时区名称,请参阅 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
属性 | 类型 | 描述 |
---|---|---|
| 从该模板创建的作业的标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| JobSpec 描述作业执行的方式。 |
6.1.3. .spec.jobTemplate.spec
- 描述
- JobSpec 描述作业执行的方式。
- 类型
-
object
- 必填
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定与 startTime 相关的持续时间(以秒为单位),作业可能会在系统尝试终止它前持续激活;值必须是正整数。如果作业被挂起(在创建或通过更新时),则当作业再次恢复时,此计时器将有效停止并重置。 |
|
| 指定在标记此作业失败前重试次数。默认值为 6 |
|
|
指定索引在将索引标记为失败前在索引中重试次数的限制。当启用每个索引的失败次数时,pod 的 batch.kubernetes.io/job-index-failure-count 注解会保持在 pod 的 batch.kubernetes.io/job-index-failure-count 注解中。只有在作业的 completionMode=Indexed 且 Pod 的重启策略为 Never 时,才能设置它。该字段是不可变的。此字段是 beta 级别。当启用 |
|
|
completionMode 指定 Pod 完成的跟踪方式。它可以是
以后可以添加更多完成模式。如果作业控制器观察到没有识别的模式,则控制器会因为版本 skew 而导致升级,则控制器会跳过作业的更新。
可能枚举值: - |
|
| 指定作业应该运行成功完成的 pod 数量。将 设置为 null 意味着,任何 pod 成功都会提示所有 pod 成功,并允许并行( parallelism)具有任何正数的值。设置为 1 表示并行性限制为 1,pod 的成功会通知作业成功。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
manualSelector 控制 pod 标签和 pod 选择器的生成。除非您确定正在执行的操作,否则请保留 |
|
|
当设置了 backoffLimitPerIndex 时,在将作业标记为失败前指定失败索引的最大数量。当失败的索引数量超过这个数字后,整个作业都会标记为 Failed,其执行将被终止。当保留为 null 时,作业将继续执行其所有索引,并标记为 |
|
| 指定作业应在任意给定时间运行的最大 pod 数量。当(.spec.completions - .status.successful)< .spec.parallelism)< .spec.parallelism)时,以 steady 状态运行的 pod 的实际数量将小于这个数字。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
| PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。 |
|
| podReplacementPolicy 指定何时创建替换 Pod。可能的值有: - TerminatingOrFailed 表示,我们在终止时重新创建 pod (带有 metadata.deletionTimestamp)或失败。- Failed 表示在创建替换 Pod 前等待到之前创建的 Pod 完全终止(has phase Failed 或 Succeeded)。 使用 podFailurePolicy 时,Failed 是唯一允许的值。当 podFailurePolicy 没有使用时,允许 TerminatingOrFailed 和 Failed。这是 beta 字段。要使用此功能,请启用 JobPodReplacementPolicy 功能切换。默认为开启。
可能枚举值:- |
| 与 pod 数量匹配的 pod 的标签查询。通常,系统会为您设置此字段。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors | |
|
| suspend 指定作业控制器是否应该创建 Pod。如果创建一个作业,并将 suspend 设为 true,则作业控制器不会创建 Pod。如果在创建后暂停某个作业(例如,标志从 false 变为 true),则作业控制器将删除与此作业关联的所有活动 Pod。用户必须设计自己的工作负载才能正常处理。暂停作业将重置作业的 StartTime 字段,从而有效地重置 ActiveDeadlineSeconds 计时器。默认为false。 |
| 描述在执行作业时将创建的 pod。唯一允许的 template.spec.restartPolicy 值是 "Never" 或 "OnFailure"。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ | |
|
| ttlSecondsAfterFinished 限制已完成执行( Complete 或 Failed)的作业的生命周期。如果设置了此字段,ttlSecondsAfterFinished 在作业完成后,它可以被自动删除。当作业被删除时,其生命周期保证(如终结器)将会被遵守。如果未设置此字段,则不会自动删除作业。如果此字段设为零,则作业在完成后将立即删除。 |
6.1.4. .spec.jobTemplate.spec.podFailurePolicy
- 描述
- PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。
- 类型
-
object
- 必填
-
rules
-
属性 | 类型 | 描述 |
---|---|---|
|
| Pod 失败策略规则列表。规则按顺序评估。当规则与 Pod 故障匹配后,其余的规则将被忽略。如果没有与 Pod 故障匹配的规则,则应用默认处理 - pod 故障的计数器会递增,并针对 backoffLimit 检查。最多允许 20 个元素。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定满足要求时 pod 故障执行的操作。可能的值有:
- FailJob: 表示 pod 的作业标记为 Failed,所有运行的 pod 都被终止。- FailIndex: 表示 pod 的索引标记为 Failed,且不会重启。这个值是 beta 级别。当启用
可能枚举值: - |
|
| PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。 |
|
| 代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。 |
|
| PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。 |
6.1.7. .spec.jobTemplate.spec.podFailurePolicy.rules[].onExitCodes
- 描述
- PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。
- 类型
-
object
- 必填
-
operator
-
values
-
属性 | 类型 | 描述 |
---|---|---|
|
| 使用指定名称将退出代码限制为容器。当为 null 时,该规则适用于所有容器。指定后,它应当与 pod 模板中的一个容器或 initContainer 名称匹配。 |
|
| 代表容器退出代码和指定的值之间的关系。成功完成的容器(退出代码 0)不包括在要求检查中。可能的值有: - in: 如果至少有一个容器退出代码(如果多个容器没有被 'containerName' 字段限制)位于指定的值集合中,则满足要求。- 如果至少一个容器退出代码(如果多个容器没有被 'containerName' 字段限制),则要求会满足。以后会考虑添加额外的值。假设不满足要求,客户端应该对未知操作器做出反应。
可能枚举值: - |
|
| 指定一组值。每个返回的容器退出代码(如果有多个容器)都会针对于 Operator 相关的一组值进行检查。值列表必须排序,且不得包含重复值。值 '0' 不能用于 In operator。至少需要一个元素。最多允许 255 个元素。 |
6.1.8. .spec.jobTemplate.spec.podFailurePolicy.rules[].onPodConditions
- 描述
- 代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。
- 类型
-
数组
6.1.9. .spec.jobTemplate.spec.podFailurePolicy.rules[].onPodConditions[]
- 描述
- PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定所需的 Pod 条件状态。要匹配 pod 条件,需要指定的状态等于 pod 条件状态。默认值为 True。 |
|
| 指定所需的 Pod 条件类型。要匹配 pod 条件,需要指定类型等于 pod 条件类型。 |
6.1.10. .status
- 描述
- CronJobStatus 代表 cron 任务的当前状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 指向当前运行的作业的指针列表。 | |
| 最后一次调度作业的时间信息。 | |
| 信息是作业成功完成最后一次的时间。 |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
6.2.2. /apis/batch/v1/watch/cronjobs
- HTTP 方法
-
GET
- 描述
- 观察单个对 CronJob 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
6.2.3. /apis/batch/v1/namespaces/{namespace}/cronjobs
- HTTP 方法
-
DELETE
- 描述
- 删除 CronJob 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 CronJob 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 CronJob
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
6.2.4. /apis/batch/v1/watch/namespaces/{namespace}/cronjobs
- HTTP 方法
-
GET
- 描述
- 观察单个对 CronJob 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
6.2.5. /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CronJob 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 CronJob
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 CronJob
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 CronJob
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 CronJob
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
6.2.6. /apis/batch/v1/watch/namespaces/{namespace}/cronjobs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| CronJob 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 CronJob 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
6.2.7. /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| CronJob 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 CronJob 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 CronJob 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 CronJob 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
第 7 章 DaemonSet [apps/v1]
- 描述
- DaemonSet 代表守护进程集的配置。
- 类型
-
object
7.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| DaemonSetSpec 是守护进程集的规格。 |
|
| DaemonSetStatus 代表守护进程集的当前状态。 |
7.1.1. .spec
- 描述
- DaemonSetSpec 是守护进程集的规格。
- 类型
-
object
- 必填
-
selector
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
|
| 新创建的 DaemonSet pod 应该在没有其任何容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用)。 |
|
| 要保留的旧历史记录的数量,以允许回滚。这是一个指针,用于区分显式零和未指定的。默认值为 10。 |
| 对由守护进程集管理的 pod 的一个标签查询。必须匹配才能控制。它必须与 pod 模板的标签匹配。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors | |
| 描述要创建的 pod 的对象。DaemonSet 将在与模板的节点选择器匹配的每个节点上创建一个副本(如果没有指定节点选择器),则每个节点上都会创建一个副本。唯一允许的 template.spec.restartPolicy 值是 "Always"。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template | |
|
| DaemonSetUpdateStrategy 是一个结构,用于控制 DaemonSet 的更新策略。 |
7.1.2. .spec.updateStrategy
- 描述
- DaemonSetUpdateStrategy 是一个结构,用于控制 DaemonSet 的更新策略。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| spec 控制守护进程集滚动更新所需的行为。 |
|
| 守护进程集更新的类型。可以是 "RollingUpdate" 或 "OnDelete"。默认为 RollingUpdate。
可能枚举值: - |
7.1.3. .spec.updateStrategy.rollingUpdate
- 描述
- spec 控制守护进程集滚动更新所需的行为。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 在更新过程中,具有现有可用 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 应考虑在中断期间可能会导致驱除。 | |
| 更新期间不可用的最大 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| DaemonSet 的哈希冲突计数。当需要为最新的 ControllerRevision 创建名称时,DaemonSet 控制器使用此字段作为冲突机制。 |
|
| 代表 DaemonSet 当前状态的最新可用影响。 |
|
| DaemonSetCondition 描述了在特定时间点上 DaemonSet 的状态。 |
|
| 至少运行 1 个守护进程 pod 的节点数量,应该运行守护进程 pod。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
|
| 应该运行守护进程 pod 的节点总数(包括正确运行守护进程 pod 的节点)。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
|
| 运行守护进程 pod 的节点数量,并有一个或多个守护进程 pod 运行并可用(至少为 spec.minReadySeconds) |
|
| 运行守护进程 pod 但不应运行守护进程 pod 的节点数量。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ |
|
| numberReady 是应该运行守护进程 pod 的节点数量,并且有一个或多个运行带有 Ready Condition 的守护进程 pod。 |
|
| 应该运行守护进程 pod 的节点数量,且没有守护进程 pod 运行并可用(至少为 spec.minReadySeconds) |
|
| 守护进程设置控制器观察到的最新生成。 |
|
| 运行更新的守护进程 pod 的节点总数 |
7.1.5. .status.conditions
- 描述
- 代表 DaemonSet 当前状态的最新可用影响。
- 类型
-
array
7.1.6. .status.conditions[]
- 描述
- DaemonSetCondition 描述了在特定时间点上 DaemonSet 的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
7.2.2. /apis/apps/v1/watch/daemonsets
- HTTP 方法
-
GET
- 描述
- 观察单个对 DaemonSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
7.2.3. /apis/apps/v1/namespaces/{namespace}/daemonsets
- HTTP 方法
-
DELETE
- 描述
- 删除 DaemonSet 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 DaemonSet 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 DaemonSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
7.2.4. /apis/apps/v1/watch/namespaces/{namespace}/daemonsets
- HTTP 方法
-
GET
- 描述
- 观察单个对 DaemonSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
7.2.5. /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| DaemonSet 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 DaemonSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 DaemonSet
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 DaemonSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 DaemonSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
7.2.6. /apis/apps/v1/watch/namespaces/{namespace}/daemonsets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| DaemonSet 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 DaemonSet 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
7.2.7. /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| DaemonSet 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 DaemonSet 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 DaemonSet 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 DaemonSet 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
第 8 章 Deployment [apps/v1]
- 描述
- Deployment 为 Pod 和 ReplicaSet 启用声明性更新。
- 类型
-
对象
8.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| DeploymentSpec 是 Deployment 所需的行为的规格。 |
|
| DeploymentStatus 是部署最近观察到的状态。 |
8.1.1. .spec
- 描述
- DeploymentSpec 是 Deployment 所需的行为的规格。
- 类型
-
object
- 必填
-
selector
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
|
| 新创建的 pod 应该在没有其任何容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用) |
|
| 表示部署已暂停。 |
|
| 部署在被视为失败前进行进度的最长时间(以秒为单位)。部署控制器将继续处理失败的部署,以及具有 ProgressDeadlineExceed 原因的条件将处于部署状态。请注意,在部署暂停期间不会估算进度。默认值为 600s。 |
|
| 所需的 pod 数量。这是一个指针,用于区分显式零和未指定的。默认为 1。 |
|
| 要保留的旧 ReplicaSet 数量,以允许回滚。这是一个指针,用于区分显式零和未指定的。默认值为 10。 |
| pod 的标签选择器。其 pod 被选择的现有 ReplicaSet 将会受到此部署的影响。它必须与 pod 模板的标签匹配。 | |
|
| DeploymentStrategy 描述了如何将现有 pod 替换为新的 pod。 |
| Template 描述了要创建的 pod。唯一允许的 template.spec.restartPolicy 值是 "Always"。 |
8.1.2. .spec.strategy
- 描述
- DeploymentStrategy 描述了如何将现有 pod 替换为新的 pod。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| spec 控制滚动更新所需的行为。 |
|
| 部署类型。可以是 "Recreate" 或 "RollingUpdate"。默认为 RollingUpdate。
可能枚举值:- |
8.1.3. .spec.strategy.rollingUpdate
- 描述
- spec 控制滚动更新所需的行为。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 可以在所需 pod 数量之上调度的最大 pod 数量。值可以是绝对数字(例如 5)或所需 pod 的百分比(例如 10%)。如果 MaxUnavailable 为 0,则不能是 0。绝对数量从百分比计算。默认值为 25%。示例:当将其设置为 30% 时,在滚动更新启动时可以立即扩展新的 ReplicaSet,以便旧 pod 的总数不会超过 130%。旧 pod 终止后,可以进一步扩展新的 ReplicaSet,确保更新期间任何时间运行的 pod 总数最多为 130%。 | |
| 更新期间不可用的 pod 的最大数量。值可以是绝对数字(例如 5)或所需 pod 的百分比(例如 10%)。绝对数量从百分比计算(通过向下舍入)。如果 MaxSurge 为 0,则这不能是 0。默认值为 25%。示例:当将其设置为 30% 时,在滚动更新启动时,可以立即将旧 ReplicaSet 缩减到 70% 的 pod。新 pod 就绪后,可以进一步扩展旧的 ReplicaSet,然后扩展新的 ReplicaSet,确保更新期间可用的 pod 总数至少 70%。 |
8.1.4. .status
- 描述
- DeploymentStatus 是部署最近观察到的状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 此部署的目标可用 pod 的总数(至少为 minReadySeconds)。 |
|
| Deployment 的哈希冲突计数。当需要为最新的 ReplicaSet 创建名称时,Deployment 控制器使用此字段作为冲突机制。 |
|
| 代表部署当前状态的最新可用影响。 |
|
| DeploymentCondition 描述了部署在特定时间点上的状态。 |
|
| 部署控制器观察到的生成。 |
|
| readyReplicas 是此 Deployment 目标的 pod 数量,带有 Ready Condition。 |
|
| 此部署目标的非确定 pod 的总数(标签与选择器匹配)。 |
|
| 此部署目标不可用 pod 的总数。这是部署需要有 100% 可用容量的 pod 总数。它们可能是正在运行但尚未可用或尚未创建的 pod。 |
|
| 此部署目标为具有所需模板 spec 的非确定 pod 的总数。 |
8.1.5. .status.conditions
- 描述
- 代表部署当前状态的最新可用影响。
- 类型
-
array
8.1.6. .status.conditions[]
- 描述
- DeploymentCondition 描述了部署在特定时间点上的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
| 最后一次更新此条件的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 部署条件的类型。 |
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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
8.2.2. /apis/apps/v1/watch/deployments
- HTTP 方法
-
GET
- 描述
- 观察单个对 Deployment 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
8.2.3. /apis/apps/v1/namespaces/{namespace}/deployments
- HTTP 方法
-
DELETE
- 描述
- 删除部署集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Deployment 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 Deployment
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
8.2.4. /apis/apps/v1/watch/namespaces/{namespace}/deployments
- HTTP 方法
-
GET
- 描述
- 观察单个对 Deployment 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
8.2.5. /apis/apps/v1/namespaces/{namespace}/deployments/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 部署的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除部署
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的部署
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的部署
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 Deployment
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
8.2.6. /apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 部署的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Deployment 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
8.2.7. /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| 部署的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 Deployment 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定部署的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 Deployment 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
第 9 章 DeploymentConfig [apps.openshift.io/v1]
- 描述
Deployment Configs 定义 pod 的模板,并管理新镜像或配置更改。单一部署配置通常与单个微服务类似。可以支持许多不同的部署模式,包括完整重启、可自定义滚动更新和完全自定义行为,以及预部署 hook。每个单独的部署都以复制控制器表示。
当部署配置或更改镜像流中的标签时,部署会被"触发"。可以禁用触发器以允许手动控制部署。"strategy"决定了如何执行部署,可以随时更改。当任何方法触发新部署时,
latestVersion
字段会被更新。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。弃用:使用部署或其他方法为 pod 进行声明性更新。
- 类型
-
object
- 必填
-
spec
-
9.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| DeploymentConfigSpec 代表部署的所需状态。 |
|
| DeploymentConfigStatus 代表当前的部署状态。 |
9.1.1. .spec
- 描述
- DeploymentConfigSpec 代表部署的所需状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| MinReadySeconds 是新创建的 pod 应该在其容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用) |
|
| paused 表示部署配置已暂停,不会出现由其他触发器导致的模板更改或更改。 |
|
| replicas 是所需副本数。 |
|
| RevisionHistoryLimit 是要保留的旧 ReplicationController 的数量,以允许回滚。此字段是一个指针,允许在显式零和未指定的间区分。默认值为 10。(这只适用于通过新组 API 资源创建的 DeploymentConfig,而不是传统资源。) |
|
| selector 是 pod 上的标签查询,它应当与 Replicas 计数匹配。 |
|
| DeploymentStrategy 描述了如何执行部署。 |
| template 是描述在检测到副本不足时将创建的 pod 的对象。 | |
|
| 测试可确保此部署配置具有零个副本,除了部署运行时除外。这允许将部署配置用作持续部署测试 - 在镜像上触发,运行部署,然后成功或失败。后策略 hook 和 after 操作可用于将成功部署与操作集成。 |
|
| 触发器决定对 DeploymentConfig 的更新如何生成新部署。如果没有定义触发器,新的部署只能因为明确的客户端使用新的 LatestVersion 更新到 DeploymentConfig 的结果。如果为 null,则默认为使配置更改触发器。 |
|
| DeploymentTriggerPolicy 描述了生成新部署的单一触发器的策略。 |
9.1.2. .spec.strategy
- 描述
- DeploymentStrategy 描述了如何执行部署。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| activeDeadlineSeconds 是此部署配置的部署器 pod 在系统主动尝试终止它们前可能在节点上处于活跃状态的持续时间(以秒为单位)。 |
|
| annotations 是一组键、值对,添加到自定义部署器和生命周期前/post hook Pod 中。 |
|
| CustomDeploymentStrategyParams 是 Custom 部署策略的输入。 |
|
| 标签是一组键,即添加到自定义部署器和生命周期前/post hook Pod 的值对。 |
|
| RecreateDeploymentStrategyParams 是 Recreate 部署策略的输入。 |
| 资源包含执行部署和任何 hook 的资源要求。 | |
|
| RollingDeploymentStrategyParams 是 Rolling 部署策略的输入。 |
|
| type 是部署策略的名称。 |
9.1.3. .spec.strategy.customParams
- 描述
- CustomDeploymentStrategyParams 是 Custom 部署策略的输入。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是可选的,并覆盖容器镜像中的 CMD。 |
| 环境包含将提供给镜像的容器的环境。 | |
|
| image 指定可执行部署的容器镜像。 |
9.1.4. .spec.strategy.recreateParams
- 描述
- RecreateDeploymentStrategyParams 是 Recreate 部署策略的输入。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。 |
|
| LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。 |
|
| LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。 |
|
| timeoutSeconds 是放弃前等待更新的时间。如果值为 nil,则使用默认值。 |
9.1.5. .spec.strategy.recreateParams.mid
- 描述
- LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
- 类型
-
object
- 必填
-
failurePolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。 |
|
| failurePolicy 指定在 hook 失败时要执行的操作。 |
|
| TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。 |
|
| TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。 |
9.1.6. .spec.strategy.recreateParams.mid.execNewPod
- 描述
- ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
- 类型
-
object
- 必填
-
命令
-
containerName
-
属性 | 类型 | 描述 |
---|---|---|
|
| command 是 action 命令及其参数。 |
|
| containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。 |
| 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
-
至
-
属性 | 类型 | 描述 |
---|---|---|
|
| containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。 |
| to 是将容器镜像设置为的目标 ImageStreamTag。 |
9.1.9. .spec.strategy.recreateParams.post
- 描述
- LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
- 类型
-
object
- 必填
-
failurePolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。 |
|
| failurePolicy 指定在 hook 失败时要执行的操作。 |
|
| TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。 |
|
| TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。 |
9.1.10. .spec.strategy.recreateParams.post.execNewPod
- 描述
- ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
- 类型
-
object
- 必填
-
命令
-
containerName
-
属性 | 类型 | 描述 |
---|---|---|
|
| command 是 action 命令及其参数。 |
|
| containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。 |
| 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
-
至
-
属性 | 类型 | 描述 |
---|---|---|
|
| containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。 |
| to 是将容器镜像设置为的目标 ImageStreamTag。 |
9.1.13. .spec.strategy.recreateParams.pre
- 描述
- LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
- 类型
-
object
- 必填
-
failurePolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。 |
|
| failurePolicy 指定在 hook 失败时要执行的操作。 |
|
| TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。 |
|
| TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。 |
9.1.14. .spec.strategy.recreateParams.pre.execNewPod
- 描述
- ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
- 类型
-
object
- 必填
-
命令
-
containerName
-
属性 | 类型 | 描述 |
---|---|---|
|
| command 是 action 命令及其参数。 |
|
| containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。 |
| 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
-
至
-
属性 | 类型 | 描述 |
---|---|---|
|
| containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。 |
| to 是将容器镜像设置为的目标 ImageStreamTag。 |
9.1.17. .spec.strategy.rollingParams
- 描述
- RollingDeploymentStrategyParams 是 Rolling 部署策略的输入。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| intervalSeconds 是更新后轮询部署状态之间等待的时间。如果值为 nil,则使用默认值。 |
| maxSurge 是可在原始 pod 数量之上调度的最大 pod 数量。值可以是绝对数字(例如 5),也可以是更新开始时 pod 总量的百分比(例如: 10%)。绝对数量从百分比计算。 如果 MaxUnavailable 为 0。默认情况下使用 25%。 示例:当将其设置为 30% 时,当滚动更新启动时,新的 RC 可立即扩展 30%。旧 pod 终止后,可以进一步扩展新的 RC,确保更新期间任何时间运行的 pod 总数最多为原始 pod 的 130%。 | |
| maxUnavailable 是更新期间不可用的 pod 的最大数量。值可以是绝对数字(例如 5),也可以是开始更新时 pod 总量的百分比(例如: 10%)。绝对数量从百分比计算(通过向下舍入)。 如果 MaxSurge 为 0,则这不能为 0。默认情况下使用 25%。 示例:当将其设置为 30% 时,可以在滚动更新启动时立即由 30% 缩减旧 RC。新 pod 就绪后,可以进一步扩展旧的 RC,然后扩展新的 RC,确保更新过程中至少有 70% 的原始 pod 数量。 | |
|
| LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。 |
|
| LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。 |
|
| timeoutSeconds 是放弃前等待更新的时间。如果值为 nil,则使用默认值。 |
|
| updatePeriodSeconds 是各个 pod 更新之间等待的时间。如果值为 nil,则使用默认值。 |
9.1.18. .spec.strategy.rollingParams.post
- 描述
- LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
- 类型
-
object
- 必填
-
failurePolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。 |
|
| failurePolicy 指定在 hook 失败时要执行的操作。 |
|
| TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。 |
|
| TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。 |
9.1.19. .spec.strategy.rollingParams.post.execNewPod
- 描述
- ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
- 类型
-
object
- 必填
-
命令
-
containerName
-
属性 | 类型 | 描述 |
---|---|---|
|
| command 是 action 命令及其参数。 |
|
| containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。 |
| 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
-
至
-
属性 | 类型 | 描述 |
---|---|---|
|
| containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。 |
| to 是将容器镜像设置为的目标 ImageStreamTag。 |
9.1.22. .spec.strategy.rollingParams.pre
- 描述
- LifecycleHook 定义特定的部署生命周期操作。可以随时指定一种类型的操作。
- 类型
-
object
- 必填
-
failurePolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。 |
|
| failurePolicy 指定在 hook 失败时要执行的操作。 |
|
| TagImages 指示部署器将容器中引用的当前镜像标记为镜像流标签。 |
|
| TagImageHook 是一个将特定容器中的镜像标记到 ImageStreamTag 的请求。 |
9.1.23. .spec.strategy.rollingParams.pre.execNewPod
- 描述
- ExecNewPodHook 是一个 hook 实现,它基于指定的容器在新 pod 中运行命令,它被认为是部署模板的一部分。
- 类型
-
object
- 必填
-
命令
-
containerName
-
属性 | 类型 | 描述 |
---|---|---|
|
| command 是 action 命令及其参数。 |
|
| containerName 是部署 pod 模板中的容器名称,其容器镜像将用于 hook pod 的容器。 |
| 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
-
至
-
属性 | 类型 | 描述 |
---|---|---|
|
| containerName 是部署配置中的容器的名称,其镜像值将用作标签的来源。如果只有一个容器,这个值将默认为该容器的名称。 |
| to 是将容器镜像设置为的目标 ImageStreamTag。 |
9.1.26. .spec.triggers
- 描述
- 触发器决定对 DeploymentConfig 的更新如何生成新部署。如果没有定义触发器,新的部署只能因为明确的客户端使用新的 LatestVersion 更新到 DeploymentConfig 的结果。如果为 null,则默认为使配置更改触发器。
- 类型
-
数组
9.1.27. .spec.triggers[]
- 描述
- DeploymentTriggerPolicy 描述了生成新部署的单一触发器的策略。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| DeploymentTriggerImageChangeParams 代表 ImageChange 触发器的参数。 |
|
| 触发器的类型 |
9.1.28. .spec.triggers[].imageChangeParams
- 描述
- DeploymentTriggerImageChangeParams 代表 ImageChange 触发器的参数。
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
|
| 自动意味着新标签值的检测应该会导致 pod 模板中的镜像更新。 |
|
| containerNames 用于限制 pod 中指定容器名称集的标签更新。如果多个触发器指向同一容器,则生成的行为未定义。将来的 API 版本会导致这个验证错误。如果 ContainerNames 没有指向有效的容器,则触发器将被忽略。将来的 API 版本会导致这个验证错误。 |
| from 是对镜像流标签的引用,以监视更改。from.Name 是唯一需要的子字段 - 如果 From.Namespace 为空白,则使用当前部署触发器的命名空间。 | |
|
| lastTriggeredImage 是要触发的最后一个镜像。 |
9.1.29. .status
- 描述
- DeploymentConfigStatus 代表当前的部署状态。
- 类型
-
object
- 必填
-
latestVersion
-
observedGeneration
-
replicas
-
updatedReplicas
-
availableReplicas
-
unavailableReplicas
-
属性 | 类型 | 描述 |
---|---|---|
|
| availableReplicas 是此部署配置目标的可用 pod 的总数。 |
|
| 条件代表部署配置当前状态的最新可用影响。 |
|
| DeploymentCondition 描述了部署配置在特定时间点上的状态。 |
|
| DeploymentDetails 捕获有关部署原因的信息。 |
|
| LatestVersion 用于确定与部署配置关联的当前部署是否不同步。 |
|
| observedGeneration 是部署配置控制器观察到的最新生成。 |
|
| 此部署目标就绪 pod 的总数。 |
|
| replicas 是此部署配置目标的 pod 总数。 |
|
| UnavailableReplicas 是此部署配置的目标不可用 pod 的总数。 |
|
| UpdatedReplicas 是此部署配置的目标非确定的 pod 总数,该配置具有所需模板 spec。 |
9.1.30. .status.conditions
- 描述
- 条件代表部署配置当前状态的最新可用影响。
- 类型
-
array
9.1.31. .status.conditions[]
- 描述
- DeploymentCondition 描述了部署配置在特定时间点上的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
| 最后一次更新此条件的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 部署条件的类型。 |
9.1.32. .status.details
- 描述
- DeploymentDetails 捕获有关部署原因的信息。
- 类型
-
object
- 必填
-
原因
-
属性 | 类型 | 描述 |
---|---|---|
|
| 原因是与创建新部署的所有原因关联的数据 |
|
| DeploymentCause 捕获有关部署特定原因的信息。 |
|
| 如果用户手动触发此部署,则消息是用户指定的更改消息 |
9.1.33. .status.details.causes
- 描述
- 原因是与创建新部署的所有原因关联的数据
- 类型
-
数组
9.1.34. .status.details.causes[]
- 描述
- DeploymentCause 捕获有关部署特定原因的信息。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| DeploymentCauseImageTrigger 代表来自镜像更改触发器的部署原因的详情 |
|
| 导致创建新部署的触发器类型 |
9.1.35. .status.details.causes[].imageTrigger
- 描述
- DeploymentCauseImageTrigger 代表来自镜像更改触发器的部署原因的详情
- 类型
-
object
- 必填
-
from
-
属性 | 类型 | 描述 |
---|---|---|
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
9.2.2. /apis/apps.openshift.io/v1/watch/deploymentconfigs
- HTTP 方法
-
GET
- 描述
- 观察单个对 DeploymentConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
9.2.3. /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs
- HTTP 方法
-
DELETE
- 描述
- 删除 DeploymentConfig 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 DeploymentConfig 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 DeploymentConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - 未授权 | 空 |
9.2.4. /apis/apps.openshift.io/v1/watch/namespaces/{namespace}/deploymentconfigs
- HTTP 方法
-
GET
- 描述
- 观察单个对 DeploymentConfig 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
9.2.5. /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| DeploymentConfig 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 DeploymentConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 DeploymentConfig
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 DeploymentConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 DeploymentConfig
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
9.2.6. /apis/apps.openshift.io/v1/watch/namespaces/{namespace}/deploymentconfigs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| DeploymentConfig 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 DeploymentConfig 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
9.2.7. /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| DeploymentConfig 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 DeploymentConfig 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 DeploymentConfig 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 DeploymentConfig 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
第 10 章 DeploymentConfigRollback [apps.openshift.io/v1]
- 描述
DeploymentConfigRollback 提供回滚生成的输入。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
name
-
spec
-
10.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 将回滚的部署配置的名称。 |
|
| DeploymentConfigRollbackSpec 代表回滚生成的选项。 |
|
| UpdatedAnnotations 是一组新注解,将在部署配置中添加。 |
10.1.1. .spec
- 描述
- DeploymentConfigRollbackSpec 代表回滚生成的选项。
- 类型
-
object
- 必填
-
from
-
includeTriggers
-
includeTemplate
-
includeReplicationMeta
-
includeStrategy
-
属性 | 类型 | 描述 |
---|---|---|
| from 指向一个 ReplicationController,这是部署。 | |
|
| IncludeReplicationMeta 指定是否包含副本数和选择器。 |
|
| IncludeStrategy 指定是否包含部署策略。 |
|
| IncludeTemplate 指定是否包含 PodTemplateSpec。 |
|
| IncludeTriggers 指定是否包含配置触发器。 |
|
| 要回滚到的修订。如果设置为 0,请回滚到最后一个修订版本。 |
10.2. API 端点
可用的 API 端点如下:
/apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/rollback
-
POST
:创建 DeploymentConfig 的回滚
-
10.2.1. /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/rollback
参数 | 类型 | 描述 |
---|---|---|
|
| DeploymentConfigRollback 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- 创建 DeploymentConfig 的回滚
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - 未授权 | 空 |
第 11 章 DeploymentLog [apps.openshift.io/v1]
- 描述
DeploymentLog 代表部署的日志
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
11.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
11.2. API 端点
可用的 API 端点如下:
/apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/log
-
GET
:读取指定 DeploymentConfig 的日志
-
11.2.1. /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/log
参数 | 类型 | 描述 |
---|---|---|
|
| DeploymentLog 的名称 |
- HTTP 方法
-
GET
- 描述
- 读取指定 DeploymentConfig 的日志
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
第 12 章 DeploymentRequest [apps.openshift.io/v1]
- 描述
DeploymentRequest 是对新部署的部署配置的请求。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
名称
-
latest
-
force
-
12.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| ExcludeTriggers 指示 instantiator 避免处理指定的触发器。此字段覆盖最新的触发器,并允许客户端控制特定逻辑。如果没有指定,则忽略此字段。 |
|
| 强制将尝试强制运行新部署。如果部署配置暂停,则将其设置为 true 将返回 Invalid 错误。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| latest 将使用来自所有触发器的最新状态来更新部署配置。 |
|
| 请求新部署的部署配置的名称。 |
12.2. API 端点
可用的 API 端点如下:
/apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/instantiate
-
POST
:创建 DeploymentConfig 的实例化
-
12.2.1. /apis/apps.openshift.io/v1/namespaces/{namespace}/deploymentconfigs/{name}/instantiate
参数 | 类型 | 描述 |
---|---|---|
|
| DeploymentRequest 的名称 |
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
- HTTP 方法
-
POST
- 描述
- 创建 DeploymentConfig 实例化
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - 未授权 | 空 |
第 13 章 Job [batch/v1]
- 描述
- Job 代表单个作业的配置。
- 类型
-
object
13.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| JobSpec 描述作业执行的方式。 |
|
| JobStatus 代表作业的当前状态。 |
13.1.1. .spec
- 描述
- JobSpec 描述作业执行的方式。
- 类型
-
object
- 必填
-
模板
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定与 startTime 相关的持续时间(以秒为单位),作业可能会在系统尝试终止它前持续激活;值必须是正整数。如果作业被挂起(在创建或通过更新时),则当作业再次恢复时,此计时器将有效停止并重置。 |
|
| 指定在标记此作业失败前重试次数。默认值为 6 |
|
|
指定索引在将索引标记为失败前在索引中重试次数的限制。当启用每个索引的失败次数时,pod 的 batch.kubernetes.io/job-index-failure-count 注解会保持在 pod 的 batch.kubernetes.io/job-index-failure-count 注解中。只有在作业的 completionMode=Indexed 且 Pod 的重启策略为 Never 时,才能设置它。该字段是不可变的。此字段是 beta 级别。当启用 |
|
|
completionMode 指定 Pod 完成的跟踪方式。它可以是
以后可以添加更多完成模式。如果作业控制器观察到没有识别的模式,则控制器会因为版本 skew 而导致升级,则控制器会跳过作业的更新。
可能枚举值: - |
|
| 指定作业应该运行成功完成的 pod 数量。将 设置为 null 意味着,任何 pod 成功都会提示所有 pod 成功,并允许并行( parallelism)具有任何正数的值。设置为 1 表示并行性限制为 1,pod 的成功会通知作业成功。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
|
manualSelector 控制 pod 标签和 pod 选择器的生成。除非您确定正在执行的操作,否则请保留 |
|
|
当设置了 backoffLimitPerIndex 时,在将作业标记为失败前指定失败索引的最大数量。当失败的索引数量超过这个数字后,整个作业都会标记为 Failed,其执行将被终止。当保留为 null 时,作业将继续执行其所有索引,并标记为 |
|
| 指定作业应在任意给定时间运行的最大 pod 数量。当(.spec.completions - .status.successful)< .spec.parallelism)< .spec.parallelism)时,以 steady 状态运行的 pod 的实际数量将小于这个数字。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
| PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。 |
|
| podReplacementPolicy 指定何时创建替换 Pod。可能的值有: - TerminatingOrFailed 表示,我们在终止时重新创建 pod (带有 metadata.deletionTimestamp)或失败。- Failed 表示在创建替换 Pod 前等待到之前创建的 Pod 完全终止(has phase Failed 或 Succeeded)。 使用 podFailurePolicy 时,Failed 是唯一允许的值。当 podFailurePolicy 没有使用时,允许 TerminatingOrFailed 和 Failed。这是 beta 字段。要使用此功能,请启用 JobPodReplacementPolicy 功能切换。默认为开启。
可能枚举值:- |
| 与 pod 数量匹配的 pod 的标签查询。通常,系统会为您设置此字段。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors | |
|
| suspend 指定作业控制器是否应该创建 Pod。如果创建一个作业,并将 suspend 设为 true,则作业控制器不会创建 Pod。如果在创建后暂停某个作业(例如,标志从 false 变为 true),则作业控制器将删除与此作业关联的所有活动 Pod。用户必须设计自己的工作负载才能正常处理。暂停作业将重置作业的 StartTime 字段,从而有效地重置 ActiveDeadlineSeconds 计时器。默认为false。 |
| 描述在执行作业时将创建的 pod。唯一允许的 template.spec.restartPolicy 值是 "Never" 或 "OnFailure"。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ | |
|
| ttlSecondsAfterFinished 限制已完成执行( Complete 或 Failed)的作业的生命周期。如果设置了此字段,ttlSecondsAfterFinished 在作业完成后,它可以被自动删除。当作业被删除时,其生命周期保证(如终结器)将会被遵守。如果未设置此字段,则不会自动删除作业。如果此字段设为零,则作业在完成后将立即删除。 |
13.1.2. .spec.podFailurePolicy
- 描述
- PodFailurePolicy 描述了 pod 失败会影响 backoffLimit。
- 类型
-
object
- 必填
-
rules
-
属性 | 类型 | 描述 |
---|---|---|
|
| Pod 失败策略规则列表。规则按顺序评估。当规则与 Pod 故障匹配后,其余的规则将被忽略。如果没有与 Pod 故障匹配的规则,则应用默认处理 - pod 故障的计数器会递增,并针对 backoffLimit 检查。最多允许 20 个元素。 |
|
| 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定满足要求时 pod 故障执行的操作。可能的值有:
- FailJob: 表示 pod 的作业标记为 Failed,所有运行的 pod 都被终止。- FailIndex: 表示 pod 的索引标记为 Failed,且不会重启。这个值是 beta 级别。当启用
可能枚举值: - |
|
| PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。 |
|
| 代表 pod 条件的要求。要求以 pod 条件模式列表表示。如果至少有一个模式与实际的 pod 条件匹配,则满足要求。最多允许 20 个元素。 |
|
| PodFailurePolicyOnPodConditionsPattern 描述了与实际 pod 条件类型匹配的模式。 |
13.1.5. .spec.podFailurePolicy.rules[].onExitCodes
- 描述
- PodFailurePolicyOnExitCodesRequirement 描述了根据容器退出代码处理失败 pod 的要求。特别是,它会分别查找每个应用程序容器和 init 容器状态的 .state.terminated.exitCode,分别由 Pod 状态中的 .status.containerStatuses 和 .status.initContainerStatuses 字段显示。成功完成的容器(退出代码 0)不包括在要求检查中。
- 类型
-
object
- 必填
-
operator
-
values
-
属性 | 类型 | 描述 |
---|---|---|
|
| 使用指定名称将退出代码限制为容器。当为 null 时,该规则适用于所有容器。指定后,它应当与 pod 模板中的一个容器或 initContainer 名称匹配。 |
|
| 代表容器退出代码和指定的值之间的关系。成功完成的容器(退出代码 0)不包括在要求检查中。可能的值有: - in: 如果至少有一个容器退出代码(如果多个容器没有被 'containerName' 字段限制)位于指定的值集合中,则满足要求。- 如果至少一个容器退出代码(如果多个容器没有被 'containerName' 字段限制),则要求会满足。以后会考虑添加额外的值。假设不满足要求,客户端应该对未知操作器做出反应。
可能枚举值: - |
|
| 指定一组值。每个返回的容器退出代码(如果有多个容器)都会针对于 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 指定所需的 Pod 条件状态。要匹配 pod 条件,需要指定的状态等于 pod 条件状态。默认值为 True。 |
|
| 指定所需的 Pod 条件类型。要匹配 pod 条件,需要指定类型等于 pod 条件类型。 |
13.1.8. .status
- 描述
- JobStatus 代表作业的当前状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 待处理的 pod 数量。 |
|
| 当 .spec.completionMode = "Indexed" 采用文本格式时,completedIndexes 包含已完成的索引。索引以十进制整数表示,以逗号分开。数字以增加的顺序列出。三个或更多连续的数字会被压缩,由一系列的第一个和最后一个元素代表,用连字符隔开。例如,如果完成的索引是 1, 3, 4, 5 和 7,它们表示为 "1,3-5,7"。 |
| 表示作业完成的时间。无法保证在单独的操作之间按顺序设置。它以 RFC3339 格式表示,并以 UTC 表示。只有在作业成功完成后,才会设置完成时间。 | |
|
| 对象当前状态的最新可用影响。当作业失败时,其中一个条件将具有类型 "Failed" 和 status true。当作业被暂停时,其中一个条件类型为 "Suspended" 和 status true;当作业被恢复时,此条件的状态将变为 false。作业完成后,其中一个条件将键入 "Complete" 和 status true。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ |
|
| JobCondition 描述了作业的当前状态。 |
|
| 达到阶段 Failed 的 pod 数量。 |
|
|
当 backoffLimitPerIndex=true 时,FailedIndexes 包含失败的索引。索引以文本格式表示,类似于 |
|
| 具有 Ready 条件的 pod 数量。 |
| 代表作业控制器开始处理作业时。当作业以暂停状态创建时,不会设置此字段,直到在第一次恢复为止。每次从挂起中恢复作业时,都会重置此字段。它以 RFC3339 格式表示,并以 UTC 表示。 | |
|
| 达到阶段 Succeeded 的 pod 数量。 |
|
| 终止的 pod 数量(处于 Pending 或 Running 状态,并具有 deletionTimestamp)。 此字段是 beta 级别。当启用了功能门 JobPodReplacementPolicy (默认启用)时,作业控制器会填充字段。 |
|
| UncountedTerminatedPods 包含已终止但没有在作业状态计数器中考虑的 Pod 的 UID。 |
13.1.9. .status.conditions
- 描述
- 对象当前状态的最新可用影响。当作业失败时,其中一个条件将具有类型 "Failed" 和 status true。当作业被暂停时,其中一个条件类型为 "Suspended" 和 status true;当作业被恢复时,此条件的状态将变为 false。作业完成后,其中一个条件将键入 "Complete" 和 status true。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
- 类型
-
array
13.1.10. .status.conditions[]
- 描述
- JobCondition 描述了作业的当前状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 检查条件最后一次的时间。 | |
| 条件从一个状态传输到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示最后一次转换的详细信息。 |
|
| (brief)条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 作业状况的类型,完成或失败。 |
13.1.11. .status.uncountedTerminatedPods
- 描述
- UncountedTerminatedPods 包含已终止但没有在作业状态计数器中考虑的 Pod 的 UID。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Failed 包含失败 Pod 的 UID。 |
|
| 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 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
13.2.2. /apis/batch/v1/watch/jobs
- HTTP 方法
-
GET
- 描述
- 观察单个对作业列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.3. /apis/batch/v1/namespaces/{namespace}/jobs
- HTTP 方法
-
DELETE
- 描述
- 删除作业集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Job 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建作业
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
13.2.4. /apis/batch/v1/watch/namespaces/{namespace}/jobs
- HTTP 方法
-
GET
- 描述
- 观察单个对作业列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.5. /apis/batch/v1/namespaces/{namespace}/jobs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 作业的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除作业
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的作业
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的作业
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的作业
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
13.2.6. /apis/batch/v1/watch/namespaces/{namespace}/jobs/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| 作业的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Job 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
13.2.7. /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| 作业的名称 |
- HTTP 方法
-
GET
- 描述
- 指定作业的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定作业的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定作业的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
第 14 章 Pod [v1]
- 描述
- Pod 是可在主机上运行的容器的集合。此资源由客户端创建并调度到主机上。
- 类型
-
object
14.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| PodSpec 是 pod 的描述。 |
|
| PodStatus 代表 pod 状态的信息。状态可能会跟踪系统的实际状态,特别是当托管 pod 的节点无法联系 control plane 时。 |
14.1.1. .spec
- 描述
- PodSpec 是 pod 的描述。
- 类型
-
object
- 必填
-
containers
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选持续时间(以秒为单位)pod 可以在相对于 StartTime 的节点上处于活跃状态,然后系统主动尝试将其标记为失败并终止关联的容器。值必须是正整数。 |
|
| 关联性是一组关联性调度规则。 |
|
| AutomountServiceAccountToken 表示是否应自动挂载服务帐户令牌。 |
|
| 属于 pod 的容器列表。当前无法添加或删除容器。Pod 中必须至少有一个容器。无法更新。 |
|
| 要在 pod 中运行的单一应用程序容器。 |
|
| PodDNSConfig 除了从 DNSPolicy 生成的外,还定义了 pod 的 DNS 参数。 |
|
| 为 pod 设置 DNS 策略。默认为 "ClusterFirst"。有效值为 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' 或 'None'。DNSConfig 中指定的 DNS 参数将与选择与 DNSPolicy 的策略合并。要将 DNS 选项与 hostNetwork 一起设置,您必须将 DNS 策略明确指定为 'ClusterFirstWithHostNet'。
可能枚举值: - |
|
| EnableServiceLinks 指明了有关服务的信息是否应注入到 pod 的环境变量中,与 Docker 链接的语法匹配。可选:默认为 true。 |
|
| 此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,且无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod,请使用 pod 的 ephemeralcontainers 子资源。 |
|
| EphemeralContainer 是一个临时容器,您可以添加到现有 Pod 中,用于用户发起的活动,如调试。临时容器没有资源或调度保证,它们不会在 Pod 退出或重启 Pod 时重启。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。 要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重启。 |
|
| hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这仅对非主机网络 pod 有效。 |
|
| HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。 |
|
| 使用主机的 ipc 命名空间。可选:默认为 false。 |
|
| 为这个 pod 请求的主机网络。使用主机的网络命名空间。如果设置了这个选项,则必须指定要使用的端口。默认值为 false。 |
|
| 使用主机的 pid 命名空间。可选:默认为 false。 |
|
| 使用主机的用户命名空间。可选:默认为 true。如果设置为 true 或不存在,则 pod 将在主机用户命名空间中运行,当 pod 需要功能仅适用于主机用户命名空间时,比如使用 CAP_SYS_MODULE 加载内核模块。当设置为 false 时,会为 pod 创建一个新的 userns。设置 false 有助于减少容器中断漏洞,甚至允许用户以 root 用户身份运行其容器,而无需实际对主机具有 root 特权。此字段是 alpha-level,且仅被启用 UserNamespacesSupport 功能的服务器实现。 |
|
| 指定没有指定 Pod 的主机名,pod 的主机名将设置为系统定义的值。 |
|
| imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| 属于 pod 的初始化容器列表。Init 容器在启动容器之前按顺序执行。如果任何 init 容器失败,pod 被视为失败,并根据 restartPolicy 处理。init 容器或普通容器的名称对于所有容器来说都必须是唯一的。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。通过查找每种资源类型的最高请求/限制,然后使用该值的最大值或普通容器的总和,在调度期间考虑 init 容器的 resourceRequirements。限制以类似的方式应用到 init 容器。当前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
|
| 要在 pod 中运行的单一应用程序容器。 |
|
| nodeName 是一个将此 pod 调度到特定节点的请求。如果不是空的,调度程序只会将此 pod 调度到该节点上,假设它符合资源要求。 |
|
| nodeSelector 是一个选择器,必须为 true 才能使 pod 适合某个节点。选择器必须与节点的标签匹配,以便 pod 调度到该节点上。更多信息: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
|
| 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 是抢占优先级较低 pod 的策略。Never 之一 PreemptLowerPriority。如果未设置,则默认为 PreemptLowerPriority。
可能枚举值: - |
|
| 优先级值。各种系统组件使用此字段查找 pod 的优先级。启用 Priority Admission Controller 时,它会阻止用户设置此字段。准入控制器从 PriorityClassName 中填充此字段。数值越大,优先级越高。 |
|
| 如果指定,则表示 pod 的优先级。"system-node-critical" 和 "system-cluster-critical" 是两个特殊关键字,代表前一个优先级最高。必须通过创建具有该名称的 PriorityClass 对象来定义任何其他名称。如果没有指定,如果没有默认值,pod 优先级将为 default 或零。 |
|
| 如果指定,则会针对 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 |
|
| PodReadinessGate 包含对 pod 条件的引用 |
|
| ResourceClaims 定义在 Pod 允许启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。 |
|
| PodResourceClaim 通过 ClaimSource 只引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。 |
|
| 为 pod 中的所有容器重启策略。Always、OnFailure 之一 Never。在某些上下文中,只允许这些值的子集。默认为 Always。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
可能枚举值: - |
|
| runtimeClassName 指的是 node.k8s.io 组中的 RuntimeClass 对象,该对象应该用于运行此 pod。如果没有与命名类匹配的 RuntimeClass 资源,则不会运行 pod。如果未设置或为空,则使用"传统" RuntimeClass,这是一个具有使用默认运行时处理程序的空定义的隐式类。更多信息: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class |
|
| 如果指定,pod 将由指定的调度程序分配。如果没有指定,pod 会被默认调度程序分配。 |
|
| SchedulingGates 是不透明的值列表,如果指定,它将阻止调度 pod。如果 schedulingGates 不为空,pod 将保持在 SchedulingGated 状态,调度程序不会尝试调度 pod。 SchedulingGates 只能在 pod 创建时设置,之后才能被删除。 这是 PodSchedulingReadiness 功能门启用的 beta 功能。 |
|
| PodSchedulingGate 与 Pod 关联,以保护其调度。 |
|
| PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。 |
|
| DeprecatedServiceAccount 是 ServiceAccountName 的描述别名。弃用 :使用 serviceAccountName 替代。 |
|
| serviceAccountName 是用于运行此 pod 的 ServiceAccount 的名称。更多信息: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ |
|
| 如果为 true,则 pod 的主机名将配置为 pod 的 FQDN,而不是叶名称(默认值)。在 Linux 容器中,这意味着在内核的 hostname 字段中设置 FQDN ( struct utsname 的 nodename 字段)。在 Windows 容器中,这意味着将 registry 键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 的 hostname 的 registry 值设置为 FQDN。如果 pod 没有 FQDN,则这无效。默认值为 false。 |
|
| 在 pod 中所有容器间共享单个进程命名空间。当设置容器时,可以从同一 pod 中的其他容器查看和信号进程,并且每个容器中的第一个进程不会被分配 PID 1。无法同时设置 hostPID 和 ShareProcessNamespace。可选:默认为 false。 |
|
| 如果指定,完全限定的 Pod 主机名将是 "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>"。如果没有指定,pod 将根本没有 domainname。 |
|
| pod 安全终止所需的可选持续时间(以秒为单位)。可以在删除请求中减少。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。如果这个值是 nil,则使用默认的宽限期。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。默认值为 30 秒。 |
|
| 如果指定,pod 的容限。 |
|
| 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。 |
|
| topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。 |
|
| TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。 |
|
| 可以通过属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。 |
14.1.2. .spec.affinity
- 描述
- 关联性是一组关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 节点关联性是一组节点关联性调度规则。 |
|
| pod 关联性是一组 pod 关联性调度规则。 |
|
| Pod 反关联性是一组 pod 反关联性调度规则。 |
14.1.3. .spec.affinity.nodeAffinity
- 描述
- 节点关联性是一组节点关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。 |
|
| 空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。 |
|
| 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。 |
14.1.4. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。
- 类型
-
array
14.1.5. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。
- 类型
-
object
- 必填
-
weight
-
preference
-
属性 | 类型 | 描述 |
---|---|---|
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
|
| 与对应 nodeSelectorTerm 关联的权重,范围为 1-100。 |
14.1.6. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
14.1.7. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
array
14.1.8. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
14.1.9. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- 描述
- 按节点字段划分的节点选择器要求列表。
- 类型
-
array
14.1.10. .spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
14.1.11. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。
- 类型
-
object
- 必填
-
nodeSelectorTerms
-
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。节点选择器术语列表。术语为 ORed。 |
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
14.1.12. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- 描述
- 必需。节点选择器术语列表。术语为 ORed。
- 类型
-
array
14.1.13. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
14.1.14. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
array
14.1.15. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
14.1.16. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- 描述
- 按节点字段划分的节点选择器要求列表。
- 类型
-
array
14.1.17. .spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
14.1.18. .spec.affinity.podAffinity
- 描述
- pod 关联性是一组 pod 关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。 |
|
| 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。 |
|
| 如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。 |
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
14.1.19. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。
- 类型
-
array
14.1.20. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
- 类型
-
object
- 必填
-
weight
-
podAffinityTerm
-
属性 | 类型 | 描述 |
---|---|---|
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
|
| 与对应的 podAffinityTerm 关联的权重,范围为 1-100。 |
14.1.21. .spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
14.1.22. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
- 类型
-
array
14.1.23. .spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
14.1.24. .spec.affinity.podAntiAffinity
- 描述
- Pod 反关联性是一组 pod 反关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。 |
|
| 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。 |
|
| 如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。 |
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
14.1.25. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。
- 类型
-
array
14.1.26. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
- 类型
-
object
- 必填
-
weight
-
podAffinityTerm
-
属性 | 类型 | 描述 |
---|---|---|
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
|
| 与对应的 podAffinityTerm 关联的权重,范围为 1-100。 |
14.1.27. .spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
14.1.28. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
- 类型
-
array
14.1.29. .spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
14.1.30. .spec.containers
- 描述
- 属于 pod 的容器列表。当前无法添加或删除容器。Pod 中必须至少有一个容器。无法更新。
- 类型
-
array
14.1.31. .spec.containers[]
- 描述
- 要在 pod 中运行的单一应用程序容器。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的容器名称。pod 中的每个容器都必须具有唯一的名称(DNS_LABEL)。无法更新。 |
|
| 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
14.1.32. .spec.containers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
array
14.1.33. .spec.containers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
14.1.34. .spec.containers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
14.1.35. .spec.containers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
14.1.36. .spec.containers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
14.1.37. .spec.containers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
14.1.38. .spec.containers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
14.1.39. .spec.containers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
array
14.1.40. .spec.containers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
14.1.41. .spec.containers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
14.1.42. .spec.containers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
14.1.43. .spec.containers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
14.1.44. .spec.containers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
14.1.45. .spec.containers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.46. .spec.containers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.47. .spec.containers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.48. .spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.49. .spec.containers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
14.1.50. .spec.containers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.51. .spec.containers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
14.1.52. .spec.containers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.53. .spec.containers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.54. .spec.containers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.55. .spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.56. .spec.containers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
14.1.57. .spec.containers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.58. .spec.containers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.59. .spec.containers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.60. .spec.containers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.61. .spec.containers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.62. .spec.containers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.63. .spec.containers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.64. .spec.containers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.65. .spec.containers[].ports
- 描述
- 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
- 类型
-
array
14.1.66. .spec.containers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
14.1.67. .spec.containers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.68. .spec.containers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.69. .spec.containers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.70. .spec.containers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.71. .spec.containers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.72. .spec.containers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.73. .spec.containers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.74. .spec.containers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
数组
14.1.75. .spec.containers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
14.1.76. .spec.containers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.77. .spec.containers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
14.1.78. .spec.containers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
14.1.79. .spec.containers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
14.1.80. .spec.containers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
14.1.81. .spec.containers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
14.1.82. .spec.containers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
14.1.83. .spec.containers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
14.1.84. .spec.containers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.85. .spec.containers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.86. .spec.containers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.87. .spec.containers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.88. .spec.containers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.89. .spec.containers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.90. .spec.containers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.91. .spec.containers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
array
14.1.92. .spec.containers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
14.1.93. .spec.containers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。无法更新。
- 类型
-
array
14.1.94. .spec.containers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
名称
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
14.1.95. .spec.dnsConfig
- 描述
- PodDNSConfig 除了从 DNSPolicy 生成的外,还定义了 pod 的 DNS 参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| DNS 名称服务器 IP 地址列表。这将附加到从 DNSPolicy 生成的基本名称服务器中。重复的名称服务器将被删除。 |
|
| DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。删除重复的条目。Options 中提供的解析选项将覆盖基本 DNSPolicy 中显示的选项。 |
|
| PodDNSConfigOption 定义 pod 的 DNS 解析器选项。 |
|
| 用于 host-name 查找的 DNS 搜索域列表。这将附加到从 DNSPolicy 生成的基本搜索路径中。删除重复的搜索路径。 |
14.1.96. .spec.dnsConfig.options
- 描述
- DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。删除重复的条目。Options 中提供的解析选项将覆盖基本 DNSPolicy 中显示的选项。
- 类型
-
数组
14.1.97. .spec.dnsConfig.options[]
- 描述
- PodDNSConfigOption 定义 pod 的 DNS 解析器选项。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。 |
|
|
14.1.98. .spec.ephemeralContainers
- 描述
- 此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,且无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod,请使用 pod 的 ephemeralcontainers 子资源。
- 类型
-
数组
14.1.99. .spec.ephemeralContainers[]
- 描述
EphemeralContainer 是一个临时容器,您可以添加到现有 Pod 中,用于用户发起的活动,如调试。临时容器没有资源或调度保证,它们不会在 Pod 退出或重启 Pod 时重启。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。
要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重启。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果未提供该镜像,则使用镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供该镜像,则使用镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的临时容器的名称。此名称在所有容器、init 容器和临时容器中必须是唯一的。 |
|
| 临时容器不允许使用端口。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| 重启容器的策略,以管理 pod 中每个容器的重启行为。这只能为 init 容器设置。您不能在临时容器上设置此字段。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 如果设置,则来自此临时容器目标的 PodSpec 的容器名称。临时容器将在此容器的命名空间中运行(IPC、PID 等)。如果没有设置,则临时容器将使用 Pod spec 中配置的命名空间。 容器运行时必须实施对此功能的支持。如果运行时不支持命名空间目标,则设置此字段的结果未定义。 |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。临时容器不允许使用 subPath 挂载。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
14.1.100. .spec.ephemeralContainers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
数组
14.1.101. .spec.ephemeralContainers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
14.1.102. .spec.ephemeralContainers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
14.1.103. .spec.ephemeralContainers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
14.1.104. .spec.ephemeralContainers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
14.1.105. .spec.ephemeralContainers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
14.1.106. .spec.ephemeralContainers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
14.1.107. .spec.ephemeralContainers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
数组
14.1.108. .spec.ephemeralContainers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
14.1.109. .spec.ephemeralContainers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
14.1.110. .spec.ephemeralContainers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
14.1.111. .spec.ephemeralContainers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
14.1.112. .spec.ephemeralContainers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
14.1.113. .spec.ephemeralContainers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.114. .spec.ephemeralContainers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.115. .spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
14.1.116. .spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.117. .spec.ephemeralContainers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
14.1.118. .spec.ephemeralContainers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.119. .spec.ephemeralContainers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
14.1.120. .spec.ephemeralContainers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.121. .spec.ephemeralContainers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.122. .spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
14.1.123. .spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.124. .spec.ephemeralContainers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
14.1.125. .spec.ephemeralContainers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.126. .spec.ephemeralContainers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.127. .spec.ephemeralContainers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.128. .spec.ephemeralContainers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.129. .spec.ephemeralContainers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.130. .spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
14.1.131. .spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.132. .spec.ephemeralContainers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.133. .spec.ephemeralContainers[].ports
- 描述
- 临时容器不允许使用端口。
- 类型
-
数组
14.1.134. .spec.ephemeralContainers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
14.1.135. .spec.ephemeralContainers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.136. .spec.ephemeralContainers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.137. .spec.ephemeralContainers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.138. .spec.ephemeralContainers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.139. .spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
14.1.140. .spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.141. .spec.ephemeralContainers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.142. .spec.ephemeralContainers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
数组
14.1.143. .spec.ephemeralContainers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
14.1.144. .spec.ephemeralContainers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.145. .spec.ephemeralContainers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
14.1.146. .spec.ephemeralContainers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
14.1.147. .spec.ephemeralContainers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
14.1.148. .spec.ephemeralContainers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
14.1.149. .spec.ephemeralContainers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
14.1.150. .spec.ephemeralContainers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
14.1.151. .spec.ephemeralContainers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
14.1.152. .spec.ephemeralContainers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.153. .spec.ephemeralContainers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.154. .spec.ephemeralContainers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.155. .spec.ephemeralContainers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.156. .spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
14.1.157. .spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.158. .spec.ephemeralContainers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.159. .spec.ephemeralContainers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
数组
14.1.160. .spec.ephemeralContainers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
14.1.161. .spec.ephemeralContainers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。临时容器不允许使用 subPath 挂载。无法更新。
- 类型
-
数组
14.1.162. .spec.ephemeralContainers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
名称
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
14.1.163. .spec.hostAliases
- 描述
- hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这仅对非主机网络 pod 有效。
- 类型
-
数组
14.1.164. .spec.hostAliases[]
- 描述
- HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 以上 IP 地址的主机名。 |
|
| 主机文件条目的 IP 地址。 |
14.1.165. .spec.imagePullSecrets
- 描述
- imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
- 类型
-
array
14.1.166. .spec.imagePullSecrets[]
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.167. .spec.initContainers
- 描述
- 属于 pod 的初始化容器列表。Init 容器在启动容器之前按顺序执行。如果任何 init 容器失败,pod 被视为失败,并根据 restartPolicy 处理。init 容器或普通容器的名称对于所有容器来说都必须是唯一的。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。通过查找每种资源类型的最高请求/限制,然后使用该值的最大值或普通容器的总和,在调度期间考虑 init 容器的 resourceRequirements。限制以类似的方式应用到 init 容器。当前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
- 类型
-
array
14.1.168. .spec.initContainers[]
- 描述
- 要在 pod 中运行的单一应用程序容器。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的容器名称。pod 中的每个容器都必须具有唯一的名称(DNS_LABEL)。无法更新。 |
|
| 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
14.1.169. .spec.initContainers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
array
14.1.170. .spec.initContainers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
14.1.171. .spec.initContainers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
14.1.172. .spec.initContainers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
14.1.173. .spec.initContainers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
14.1.174. .spec.initContainers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
14.1.175. .spec.initContainers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
14.1.176. .spec.initContainers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
array
14.1.177. .spec.initContainers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
14.1.178. .spec.initContainers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
14.1.179. .spec.initContainers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
14.1.180. .spec.initContainers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
14.1.181. .spec.initContainers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
14.1.182. .spec.initContainers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.183. .spec.initContainers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.184. .spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.185. .spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.186. .spec.initContainers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
14.1.187. .spec.initContainers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.188. .spec.initContainers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
14.1.189. .spec.initContainers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.190. .spec.initContainers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.191. .spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.192. .spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.193. .spec.initContainers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
14.1.194. .spec.initContainers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.195. .spec.initContainers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.196. .spec.initContainers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.197. .spec.initContainers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.198. .spec.initContainers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.199. .spec.initContainers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.200. .spec.initContainers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.201. .spec.initContainers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.202. .spec.initContainers[].ports
- 描述
- 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
- 类型
-
array
14.1.203. .spec.initContainers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
14.1.204. .spec.initContainers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.205. .spec.initContainers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.206. .spec.initContainers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.207. .spec.initContainers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.208. .spec.initContainers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.209. .spec.initContainers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.210. .spec.initContainers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.211. .spec.initContainers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
数组
14.1.212. .spec.initContainers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
14.1.213. .spec.initContainers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.214. .spec.initContainers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
14.1.215. .spec.initContainers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
14.1.216. .spec.initContainers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
14.1.217. .spec.initContainers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
14.1.218. .spec.initContainers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
14.1.219. .spec.initContainers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
14.1.220. .spec.initContainers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
14.1.221. .spec.initContainers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
14.1.222. .spec.initContainers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
14.1.223. .spec.initContainers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
14.1.224. .spec.initContainers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
14.1.225. .spec.initContainers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
14.1.226. .spec.initContainers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
14.1.227. .spec.initContainers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
14.1.228. .spec.initContainers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
array
14.1.229. .spec.initContainers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
14.1.230. .spec.initContainers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。无法更新。
- 类型
-
array
14.1.231. .spec.initContainers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
name
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
14.1.232. .spec.os
- 描述
- PodOS 定义 pod 的 OS 参数。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是操作系统的名称。当前支持的值有 linux 和 windows。以后可以定义额外的值,可以是: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration 客户端应该预期处理额外的值,并将此字段中未识别的值视为 os: null |
14.1.233. .spec.readinessGates
- 描述
- 如果指定,则会针对 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
- 类型
-
array
14.1.234. .spec.readinessGates[]
- 描述
- PodReadinessGate 包含对 pod 条件的引用
- 类型
-
object
- 必填
-
conditionType
-
属性 | 类型 | 描述 |
---|---|---|
|
| conditionType 指的是 pod 条件列表中具有匹配类型的条件。 |
14.1.235. .spec.resourceClaims
- 描述
ResourceClaims 定义在 Pod 允许启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。
- 类型
-
array
14.1.236. .spec.resourceClaims[]
- 描述
- PodResourceClaim 通过 ClaimSource 只引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 在 pod 中唯一标识此资源声明的名称。这必须是 DNS_LABEL。 |
|
| ClaimSource 描述了对 ResourceClaim 的引用。 应设置这些字段中的一个。此类型的消费者必须将空对象视为未知值。 |
14.1.237. .spec.resourceClaims[].source
- 描述
ClaimSource 描述了对 ResourceClaim 的引用。
应设置这些字段中的一个。此类型的消费者必须将空对象视为未知值。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ResourceClaimName 是与这个 pod 相同的命名空间中的 ResourceClaim 对象的名称。 |
|
| ResourceClaimTemplateName 是与这个 pod 相同的命名空间中的 ResourceClaimTemplate 对象的名称。 该模板将用于创建新的 ResourceClaim,它将绑定到此容器集。删除此 pod 时,ResourceClaim 也会被删除。pod 名称和资源名称以及生成的组件将用于组成 ResourceClaim 的唯一名称,它将记录在 pod.status.resourceClaimStatuses 中。 此字段不可变,在创建 ResourceClaim 后 control plane 将不会对对应的 ResourceClaim 进行任何更改。 |
14.1.238. .spec.schedulingGates
- 描述
SchedulingGates 是不透明的值列表,如果指定,它将阻止调度 pod。如果 schedulingGates 不为空,pod 将保持在 SchedulingGated 状态,调度程序不会尝试调度 pod。
SchedulingGates 只能在 pod 创建时设置,之后才能被删除。
这是 PodSchedulingReadiness 功能门启用的 beta 功能。
- 类型
-
数组
14.1.239. .spec.schedulingGates[]
- 描述
- PodSchedulingGate 与 Pod 关联,以保护其调度。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 调度最低要求的名称。每个调度最低要求都必须有一个唯一的 name 字段。 |
14.1.240. .spec.securityContext
- 描述
- PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 适用于 pod 中所有容器的特殊补充组。有些卷类型允许 Kubelet 将该卷的所有权更改为由 pod 所有: 1.拥有的 GID 为 FSGroup 2。设置 setgid 位(卷中创建的新文件将归 FSGroup 所有)3。权限位是 OR'd with rw-rw--- 如果未设置,Kubelet 不会修改任何卷的所有权和权限。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| fsGroupChangePolicy 定义在 Pod 内公开卷之前更改卷的所有权和权限的行为。此字段将只适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对临时卷类型没有影响,如 secret、configmap 和 emptydir。有效值为 "OnRootMismatch" 和 "Always"。如果没有指定,则使用 "Always"。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| 应用到每个容器中的第一个进程的组列表,以及容器的主 GID、fsGroup (如果指定)以及容器镜像中定义的组成员资格,用于容器进程的 uid。如果未指定,则不会将其他组添加到任何容器中。请注意,容器进程的 uid 中定义的组成员资格仍然有效,即使它们没有包含在此列表中。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| sysctl 定义要设置的内核参数 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
14.1.241. .spec.securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
14.1.242. .spec.securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
14.1.243. .spec.securityContext.sysctls
- 描述
- sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。
- 类型
-
array
14.1.244. .spec.securityContext.sysctls[]
- 描述
- sysctl 定义要设置的内核参数
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要设置的属性的名称 |
|
| 要设置的属性值 |
14.1.245. .spec.securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
14.1.246. .spec.tolerations
- 描述
- 如果指定,pod 的容限。
- 类型
-
array
14.1.247. .spec.tolerations[]
- 描述
- 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。
可能枚举值: - |
|
| key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。 |
|
| Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。
可能枚举值: - |
|
| tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。 |
|
| value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。 |
14.1.248. .spec.topologySpreadConstraints
- 描述
- topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。
- 类型
-
array
14.1.249. .spec.topologySpreadConstraints[]
- 描述
- TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。
- 类型
-
object
- 必填
-
maxSkew
-
topologyKey
-
whenUnsatisfiable
-
属性 | 类型 | 描述 |
---|---|---|
| labelSelector 用于查找匹配的 pod。与此标签选择器匹配的 Pod 被计算,以确定其对应拓扑域中的 pod 数量。 | |
|
| matchLabelKeys 是一组 pod 标签键,用于选择要在其中计算分布的 pod。这些键用于从传入的 pod 标签中查找值,这些键值标签由 labelSelector 匹配,以选择现有 pod 的组,用于为传入的 pod 计算。匹配键被禁止在 MatchLabelKeys 和 LabelSelector 中。当 LabelSelector 没有设置时,无法设置 matchLabelKeys。传入的 pod 标签中不存在的键将被忽略。null 或空列表表示仅与 labelSelector 匹配。 这是一个 beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。 |
|
|
maxSkew 描述了 pod 可能没有被均匀分布的程度。当 |
|
| MinDomains 表示合格的域数量。当具有匹配拓扑键的合格域数量小于 minDomains 时,Pod Topology Spread 会将"global minimum"视为 0,然后执行 Skew 的计算。当匹配拓扑键等于或大于 minDomains 的合格域数量时,这个值不会影响调度。因此,当有资格的域数量小于 minDomains 时,调度程序不会将超过 maxSkew Pod 的调度到这些域。如果值为 nil,则约束的行为就像 MinDomains 等于 1 一样。有效值为大于 0 的整数。如果值不是 nil,WhenUnsatisfiable 必须是 DoNotSchedule。 例如,在一个 3 个区集群中,MaxSkew 设置为 2,MinDomains 被设置为 5,且带有与 2/2/2: | zone1 | zone2 | zone2 | zone2 | zone3 | P P | P | P P | P P | P P | P P | 数量的域的数量小于 5 (MinDomains),因此"global minimum"被视为 0。在这种情况下,如果新 Pod 调度到任何三个区域,则无法调度具有相同 labelSelector 的新 pod,因为 computed skew 将为 3 (3 - 0),它将违反 MaxSkew。 这是一个 beta 字段,需要启用 MinDomainsInPodTopologySpread 功能门(默认启用)。 |
|
| NodeAffinityPolicy 表示在计算 pod 拓扑分布偏移时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项为:- Honor:只有与 nodeAffinity/nodeSelector 匹配的节点才会包含在计算中。- Ignore: nodeAffinity/nodeSelector 会被忽略。所有节点都包含在计算中。 如果这个值是 nil,则行为等同于 Honor 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。
可能枚举值:- |
|
| NodeTaintsPolicy 指示在计算 pod 拓扑分布偏移时如何对待节点污点。选项为:- Honor: 没有污点的节点,以及传入的 pod 具有容限的污点节点。- Ignore: node taint are ignored.所有节点都包括在内。 如果这个值是 nil,则行为等同于 Ignore 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。
可能枚举值:- |
|
| topologyKey 是节点标签的密钥。带有具有此键和相同值标签的节点被视为在同一拓扑中。我们把每个 <key, value> 视为 "bucket",并尝试将均衡的 pod 数量放在每个存储桶中。我们将域定义为拓扑的特定实例。另外,我们将一个有资格的域定义为节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 的要求的域。例如,如果 TopologyKey 为 "kubernetes.io/hostname",则每个节点都是该拓扑的域。如果 TopologyKey 是 "topology.kubernetes.io/zone",每个区都是该拓扑的域。这是必填字段。 |
|
| whenUnsatisfiable 表示如何在不满足分散约束的情况下处理 pod。- DoNotSchedule (default)告知调度程序不调度它。- ScheduleAnyway 告知调度程序将 pod 调度到任何位置,但为拓扑赋予更高优先级,有助于减少偏差。如果每个可能的节点分配都会在某些拓扑上违反"MaxSkew",则约束被视为"不satisfiable"。例如,在一个 3 区集群中,MaxSkew 设置为 1,而具有与 3/1/1: | zone1 | zone2 | zone2 | zone3 | P P | P | P | P | P | P | P | P | P | WhenUnsatisfiable 设置为 DoNotSchedule 的 pod 只能调度到 zone2 (zone3)要成为 3/2/1 (3/1/2),在 zone2 (zone3)中以 ActualSkew (2-1)满足 MaxSkew (1)。换句话说,集群仍然可以实现平衡,但调度程序不会使其更不平衡。这是必填字段。
可能枚举值:- |
14.1.250. .spec.volumes
- 描述
- 可以通过属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
- 类型
-
array
14.1.251. .spec.volumes[]
- 描述
- 卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 代表 AWS 中的持久磁盘资源。 在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。 |
|
| azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。 |
|
| azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。 |
|
| 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。 |
|
| 将 ConfigMap 调整为卷。 目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名,除非 items 元素使用到路径的特定映射填充。ConfigMap 卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表要挂载的卷的源位置,由外部 CSI 驱动程序管理 |
|
| DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。 |
|
| 表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表由普通存储驱动程序处理的临时卷。 |
|
| 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。 |
|
| FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。 |
|
| 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Google Compute Engine 中的 Persistent Disk 资源。 挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。 |
|
| 代表填充 git 存储库内容的卷。Git 存储库卷不支持所有权管理。Git 存储库卷支持 SELinux 重新标记。 DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。 |
|
| 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。 |
|
| 卷的名称。必须是 DNS_LABEL,且必须在 pod 中唯一。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 基本上是一个由其他人(系统)拥有的另一个类型的卷的打包程序。 |
|
| 代表 Photon Controller 持久磁盘资源。 |
|
| PortworxVolumeSource 代表 Portworx 卷资源。 |
|
| 代表投射卷源 |
|
| 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。 |
|
| ScaleIOVolumeSource 代表持久的 ScaleIO 卷 |
|
| 将 Secret 调整为卷。 目标 Secret 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名。机密卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表 StorageOS 持久性卷资源。 |
|
| 代表 vSphere 卷资源。 |
14.1.252. .spec.volumes[].awsElasticBlockStore
- 描述
代表 AWS 中的持久磁盘资源。
在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。 |
|
| readonly 值 true 将强制 VolumeMount 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| VolumeId 是 AWS (Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
14.1.253. .spec.volumes[].azureDisk
- 描述
- azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
diskName
-
diskURI
-
属性 | 类型 | 描述 |
---|---|---|
|
| cachingMode 是主机缓存模式: None、Read Only、Read Write。
可能枚举值: - |
|
| diskname 是 blob 存储中的数据磁盘的 Name |
|
| diskURI 是 blob 存储中的数据磁盘的 URI |
|
| fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| kind 预期值为 Shared: 每个存储帐户 Dedicated 有多个 blob 磁盘:每个存储帐户 Managed: azure managed data disk (only on managed availability set). 默认为 shared
可能枚举值: - |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
14.1.254. .spec.volumes[].azureFile
- 描述
- azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
secretName
-
shareName
-
属性 | 类型 | 描述 |
---|---|---|
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称 |
|
| sharename 是 azure 共享名称 |
14.1.255. .spec.volumes[].cephfs
- 描述
- 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
属性 | 类型 | 描述 |
---|---|---|
|
| monitor 是必需的: monitor 是 Ceph 监视器更多信息的集合: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| 路径为可选:作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 / |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| secretfile 为 Optional: SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息 :https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| User 是可选的:用户是 rados 用户名,默认为 admin 更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
14.1.256. .spec.volumes[].cephfs.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.257. .spec.volumes[].cinder
- 描述
- 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| 用于识别 cinder 中的卷的 VolumeId。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
14.1.258. .spec.volumes[].cinder.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.259. .spec.volumes[].configMap
- 描述
将 ConfigMap 调整为卷。
目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名,除非 items 元素使用到路径的特定映射填充。ConfigMap 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是可选的:默认用于在创建的文件上设置权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选指定是否必须定义 ConfigMap 还是其键 |
14.1.260. .spec.volumes[].configMap.items
- 描述
- 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
array
14.1.261. .spec.volumes[].configMap.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
14.1.262. .spec.volumes[].csi
- 描述
- 代表要挂载的卷的源位置,由外部 CSI 驱动程序管理
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是处理此卷的 CSI 驱动程序的名称。请参考您的 admin,了解集群中注册的正确名称。 |
|
| 要挂载的 fstype。EX. "ext4", "xfs", "ntfs"。如果没有提供,则会将空值传递给关联的 CSI 驱动程序,该驱动程序将决定要应用的默认文件系统。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| readonly 为卷指定只读配置。默认为 false (读/写)。 |
|
| volumeAttributes 存储传递给 CSI 驱动程序的驱动程序特定属性。有关支持的值,请参阅驱动程序的文档。 |
14.1.263. .spec.volumes[].csi.nodePublishSecretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.264. .spec.volumes[].downwardAPI
- 描述
- DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:默认在创建的文件上使用模式位。必须是 Optional: 模式位,用于默认对创建的文件设置权限。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| items 是 Downward API 卷文件的列表 |
|
| DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息 |
14.1.265. .spec.volumes[].downwardAPI.items
- 描述
- items 是 Downward API 卷文件的列表
- 类型
-
array
14.1.266. .spec.volumes[].downwardAPI.items[]
- 描述
- DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| 可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
14.1.267. .spec.volumes[].downwardAPI.items[].fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
14.1.268. .spec.volumes[].downwardAPI.items[].resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
14.1.269. .spec.volumes[].emptyDir
- 描述
- 表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Medium 代表存储介质类型应支持这个目录。默认值为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| sizeLimit 是这个 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存用量的最大使用量为此处指定的 SizeLimit 和 pod 中所有容器的内存限值总和。默认值为 nil,这意味着限制未定义。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
14.1.270. .spec.volumes[].ephemeral
- 描述
- 代表由普通存储驱动程序处理的临时卷。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。 |
14.1.271. .spec.volumes[].ephemeral.volumeClaimTemplate
- 描述
- PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。
- 类型
-
object
- 必填
-
spec
-
属性 | 类型 | 描述 |
---|---|---|
| 可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。 | |
|
| PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性 |
14.1.272. .spec.volumes[].ephemeral.volumeClaimTemplate.spec
- 描述
- PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
| TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。 |
|
| 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
|
| VolumeResourceRequirements 描述了卷的存储资源要求。 |
| selector 是要考虑绑定的卷的标签查询。 | |
|
| storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
|
| volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用对应的 VolumeAttributesClass 中定义的属性创建或更新卷。这有一个不同于 storageClassName 的目的,可在创建声明后更改。空字符串表示,不会将 VolumeAttributesClass 应用到声明,但不允许在设置后将此字段重置为空字符串。如果未指定,并且 PersistentVolumeClaim 为 unbound,则 persistentvolume 控制器将设置默认的 VolumeAttributesClass (如果存在)。如果 volumeAttributesClass 引用的资源不存在,则这个 PersistentVolumeClaim 将被设置为 Pending 状态,如 modifyVolumeStatus 字段反映,直到资源存在为止。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha)使用此字段需要启用 VolumeAttributesClass 功能门。 |
|
| volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。
可能枚举值: - |
|
| volumeName 是对此声明支持的 PersistentVolume 的绑定引用。 |
14.1.273. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource
- 描述
- TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型 |
|
| name 是被引用的资源的名称 |
14.1.274. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef
- 描述
- 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型 |
|
| name 是被引用的资源的名称 |
|
| 命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
14.1.275. .spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources
- 描述
- VolumeResourceRequirements 描述了卷的存储资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.276. .spec.volumes[].fc
- 描述
- 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| LUN 是可选的:FC 目标 lun 号 |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| targetWWNs 是可选:FC 目标全球名称(WWN) |
|
| wwids 可选:FC 卷全局范围标识符(wwids) Either wwids 或 targetWWN 和 lun 的组合必须被设置,但不能同时设置。 |
14.1.277. .spec.volumes[].flexVolume
- 描述
- FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是用于此卷的驱动程序的名称。 |
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认文件系统依赖于 FlexVolume 脚本。 |
|
| 选项为 Optional:此字段包含额外的命令选项(若有)。 |
|
| readonly 为 Optional: 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
14.1.278. .spec.volumes[].flexVolume.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.279. .spec.volumes[].flocker
- 描述
- 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| datasetName 是数据存储为 Flocker dataset 上的 metadata → name 的 Name,应被视为已弃用 |
|
| datasetUUID 是 dataset 的 UUID。这是 Flocker 数据集的唯一标识符 |
14.1.280. .spec.volumes[].gcePersistentDisk
- 描述
代表 Google Compute Engine 中的 Persistent Disk 资源。
挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
pdName
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| pdName 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
14.1.281. .spec.volumes[].gitRepo
- 描述
代表填充 git 存储库内容的卷。Git 存储库卷不支持所有权管理。Git 存储库卷支持 SELinux 重新标记。
DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。
- 类型
-
object
- 必填
-
软件仓库
-
属性 | 类型 | 描述 |
---|---|---|
|
| directory 是目标目录名称。不得包含或以 '..' 开头。如果提供了 '.',则卷目录将是 git 存储库。否则,如果指定,卷将在带有给定名称的子目录中包含 git 存储库。 |
|
| repository 是 URL |
|
| revision 是指定修订版本的提交哈希。 |
14.1.282. .spec.volumes[].glusterfs
- 描述
- 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
端点
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| Endpoints 是 Glusterfs 拓扑的详细信息的端点名称。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| path 是 Glusterfs 卷路径。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| 此处的 readonly 将强制 Glusterfs 卷以只读权限挂载。默认为false。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
14.1.283. .spec.volumes[].hostPath
- 描述
- 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 主机上目录的路径。如果路径是符号链接,它将遵循指向实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
|
| HostPath Volume 默认为 "" 更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
可能枚举值:- |
14.1.284. .spec.volumes[].iscsi
- 描述
- 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
targetPortal
-
iqn
-
lun
-
属性 | 类型 | 描述 |
---|---|---|
|
| chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证 |
|
| chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证 |
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
|
| initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。 |
|
| IQN 是目标 iSCSI 限定名称。 |
|
| iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。 |
|
| LUN 表示 iSCSI 目标 Lun 编号。 |
|
| 门户是 iSCSI 目标门户列表。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
14.1.285. .spec.volumes[].iscsi.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.286. .spec.volumes[].nfs
- 描述
- 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
server
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| 此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
14.1.287. .spec.volumes[].persistentVolumeClaim
- 描述
- PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 基本上是一个由其他人(系统)拥有的另一个类型的卷的打包程序。
- 类型
-
object
- 必填
-
claimName
-
属性 | 类型 | 描述 |
---|---|---|
|
| claimName 是与使用这个卷的 pod 相同的命名空间中的 PersistentVolumeClaim 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
| readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认 false。 |
14.1.288. .spec.volumes[].photonPersistentDisk
- 描述
- 代表 Photon Controller 持久磁盘资源。
- 类型
-
object
- 必填
-
pdID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| pdID 是标识 Photon Controller 持久磁盘的 ID |
14.1.289. .spec.volumes[].portworxVolume
- 描述
- PortworxVolumeSource 代表 Portworx 卷资源。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 代表要挂载的文件系统类型必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| VolumeId 唯一标识 Portworx 卷 |
14.1.290. .spec.volumes[].projected
- 描述
- 代表投射卷源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是默认用于在创建的文件上设置权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| sources 是卷投射列表 |
|
| 可投射以及其他支持的卷类型的预测 |
14.1.291. .spec.volumes[].projected.sources
- 描述
- sources 是卷投射列表
- 类型
-
array
14.1.292. .spec.volumes[].projected.sources[]
- 描述
- 可投射以及其他支持的卷类型的预测
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ClusterTrustBundleProjection 描述了如何选择一组 ClusterTrustBundle 对象,并将其内容项目到 pod 文件系统中。 |
|
| 将 ConfigMap 调整为投射卷。 目标 ConfigMap 的 Data 字段的内容将作为文件显示在项目中,使用 Data 字段中的键作为文件名,除非 items 元素使用到路径的特定映射填充。请注意,这与没有默认模式的 configmap 卷源相同。 |
|
| 代表项目到投射卷的 Downward API 信息。请注意,这与没有默认模式的 downwardAPI 卷源相同。 |
|
| 将 secret 调整为投射卷。 目标 Secret 的 Data 字段的内容将以文件形式显示,以文件形式使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷源相同。 |
|
| ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此预测可用于将服务帐户令牌插入到 pod 运行时文件系统中,以针对 API (Kubernetes API Server 或其他)。 |
14.1.293. .spec.volumes[].projected.sources[].clusterTrustBundle
- 描述
- ClusterTrustBundleProjection 描述了如何选择一组 ClusterTrustBundle 对象,并将其内容项目到 pod 文件系统中。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
| 选择与这个标签选择器匹配的所有 ClusterTrustBundles。仅在设置了 signerName 时生效。使用名称互斥器.如果未设置,则解释为"匹配任何内容"。如果设置但为空,则解释为"匹配所有内容"。 | |
|
| 按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 相互排斥. |
|
| 如果为 true,如果引用的 ClusterTrustBundle 不可用,则不阻止 pod 启动。如果使用 name,则允许命名 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零 ClusterTrustBundles。 |
|
| 卷根的相对路径以写入捆绑包。 |
|
| 选择与这个签名者名称匹配的所有 ClusterTrustBundles。使用名称互斥器.所有所选 ClusterTrustBundles 的内容将统一并去除重复数据。 |
14.1.294. .spec.volumes[].projected.sources[].configMap
- 描述
将 ConfigMap 调整为投射卷。
目标 ConfigMap 的 Data 字段的内容将作为文件显示在项目中,使用 Data 字段中的键作为文件名,除非 items 元素使用到路径的特定映射填充。请注意,这与没有默认模式的 configmap 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选指定是否必须定义 ConfigMap 还是其键 |
14.1.295. .spec.volumes[].projected.sources[].configMap.items
- 描述
- 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
array
14.1.296. .spec.volumes[].projected.sources[].configMap.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
14.1.297. .spec.volumes[].projected.sources[].downwardAPI
- 描述
- 代表项目到投射卷的 Downward API 信息。请注意,这与没有默认模式的 downwardAPI 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| items 是 DownwardAPIVolume 文件列表 |
|
| DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息 |
14.1.298. .spec.volumes[].projected.sources[].downwardAPI.items
- 描述
- items 是 DownwardAPIVolume 文件列表
- 类型
-
array
14.1.299. .spec.volumes[].projected.sources[].downwardAPI.items[]
- 描述
- DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| 可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
14.1.300. .spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
14.1.301. .spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
14.1.302. .spec.volumes[].projected.sources[].secret
- 描述
将 secret 调整为投射卷。
目标 Secret 的 Data 字段的内容将以文件形式显示,以文件形式使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选字段指定是否必须定义 Secret 或其密钥 |
14.1.303. .spec.volumes[].projected.sources[].secret.items
- 描述
- 如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
array
14.1.304. .spec.volumes[].projected.sources[].secret.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
14.1.305. .spec.volumes[].projected.sources[].serviceAccountToken
- 描述
- ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此预测可用于将服务帐户令牌插入到 pod 运行时文件系统中,以针对 API (Kubernetes API Server 或其他)。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 受众是令牌的预期使用者。令牌的接收者必须使用令牌使用者中指定的标识符来识别其自身,否则应拒绝令牌。受众默认为 apiserver 的标识符。 |
|
| expirationSeconds 是服务帐户令牌的请求的有效期。当令牌接近过期时,kubelet 卷插件会主动轮转服务帐户令牌。如果令牌的时间超过 80%,或者令牌早于 24 小时,则 kubelet 将开始尝试轮转令牌。默认为 1 小时,且必须至少为 10 分钟。 |
|
| path 是与文件挂载点相关的路径,用于将令牌放入其中。 |
14.1.306. .spec.volumes[].quobyte
- 描述
- 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
registry
-
卷
-
属性 | 类型 | 描述 |
---|---|---|
|
| 将卷访问映射到 Default 的组没有组 |
|
| 此处的 readonly 将强制使用只读权限挂载 Quobyte 卷。默认为false。 |
|
| registry 代表单个或多个 Quobyte Registry 服务,它指定为 host:port 对(多个条目用逗号分开),它充当卷的中央 registry |
|
| 在带有动态置备 Quobyte 卷的后端使用中拥有给定 Quobyte 卷的租户,由插件设置 |
|
| 用户,将卷访问权限映射到 Defaults 到 serivceaccount 用户 |
|
| volume 是按名称引用已创建 Quobyte 卷的字符串。 |
14.1.307. .spec.volumes[].rbd
- 描述
- 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
image
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
|
| image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| user 是 rados 用户名。默认为 admin。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
14.1.308. .spec.volumes[].rbd.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.309. .spec.volumes[].scaleIO
- 描述
- ScaleIOVolumeSource 代表持久的 ScaleIO 卷
- 类型
-
object
- 必填
-
gateway
-
system
-
secretRef
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。默认为 "xfs"。 |
|
| gateway 是 ScaleIO API 网关的主机地址。 |
|
| protectionDomain 是配置存储的 ScaleIO 保护域的名称。 |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| sslEnabled Flag 启用/禁用与网关的 SSL 通信,默认为 false |
|
| storageMode 指示卷的存储是否应 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。 |
|
| StoragePool 是与保护域关联的 ScaleIO 存储池。 |
|
| system 是 ScaleIO 中配置的存储系统的名称。 |
|
| volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。 |
14.1.310. .spec.volumes[].scaleIO.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.311. .spec.volumes[].secret
- 描述
将 Secret 调整为卷。
目标 Secret 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名。机密卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是可选:默认用于设置创建文件的权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 可选字段指定是否必须定义 Secret 或其密钥 |
|
| secretName 是要使用的 pod 命名空间中的 secret 名称。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret |
14.1.312. .spec.volumes[].secret.items
- 描述
- 如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
array
14.1.313. .spec.volumes[].secret.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
14.1.314. .spec.volumes[].storageos
- 描述
- 代表 StorageOS 持久性卷资源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间中唯一。 |
|
| volumeNamespace 指定 StorageOS 中的卷范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称进行更紧密的集成。将 VolumeName 设置为任何名称,以覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。 |
14.1.315. .spec.volumes[].storageos.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
14.1.316. .spec.volumes[].vsphereVolume
- 描述
- 代表 vSphere 卷资源。
- 类型
-
object
- 必填
-
volumePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| storagePolicyID 是与 StoragePolicyName 关联的存储策略 Based Management (SPBM)配置集 ID。 |
|
| StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。 |
|
| volumePath 是标识 vSphere 卷 vmdk 的路径 |
14.1.317. .status
- 描述
- PodStatus 代表 pod 状态的信息。状态可能会跟踪系统的实际状态,特别是当托管 pod 的节点无法联系 control plane 时。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| pod 的当前状态。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
|
| PodCondition 包含此 pod 的当前条件的详情。 |
|
| 列表中为每个容器在清单中有一个条目。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status |
|
| ContainerStatus 包含此容器的当前状态的详细信息。 |
|
| 此 pod 中运行的任何临时容器的状态。 |
|
| ContainerStatus 包含此容器的当前状态的详细信息。 |
|
| Hostip 包含分配给 pod 的主机的 IP 地址。如果 pod 尚未启动,则为空。一个 pod 可以分配给一个在 kubelet 中有问题的节点,这意味着即使有节点分配给 pod,也不会更新 HostIP |
|
| hostIPs 包含分配给主机的 IP 地址。如果指定了此字段,则第一个条目必须与 hostIP 字段匹配。如果 pod 尚未启动,此列表为空。一个 pod 可以分配给一个在 kubelet 中有问题的节点,这意味着即使有节点被分配给此 pod,也不会更新 HostIP。 |
|
| Hostip 代表分配给主机的单个 IP 地址。 |
|
| 该列表为每个清单中的 init 容器有一个条目。最近一次成功的 init 容器将具有 ready = true,最近启动的容器将设置 startTime。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status |
|
| ContainerStatus 包含此容器的当前状态的详细信息。 |
|
| 人类可读的消息,指示 pod 在这种情况下为什么的详情。 |
|
| 只有此 pod 抢占节点上的其他 pod 时,才会设置 nominatedNodeName,但它不能立即调度,因为抢占 victs 接收其安全终止期限。此字段不能保证 pod 将调度到此节点上。如果其他节点更早可用,调度程序可能会决定将 pod 放置到其他位置。调度程序也可以决定将此节点上的资源赋予在抢占后创建的优先级更高的 pod。因此,当调度 pod 时,此字段可能与 PodSpec.nodeName 不同。 |
|
| Pod 的阶段是 Pod 在其生命周期中的简单、高级别概述。conditions 数组、原因和消息字段以及单个容器状态数组包含有关 pod 状态的更多详情。可能会有五个可能的阶段值: pending :Kubernetes 系统接受 pod,但一个或多个容器镜像尚未创建。这包括调度前的时间以及通过网络下载镜像的时间,这可能需要一些时间。Running :pod 已绑定到节点,并且已创建所有容器。至少一个容器仍在运行,或者处于启动或重启过程中。Succeeded : pod 中的所有容器都成功终止,且不会重启。Failed :pod 中的所有容器都终止,至少有一个容器出现故障而终止。容器以非零状态退出,或者被系统终止。unknown :由于某些原因无法获取 pod 状态,通常因为与 pod 主机通信时出错。 更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase
可能枚举值: - |
|
| 分配给 pod 的 podIP 地址。至少可路由集群中。如果尚未分配,则为空。 |
|
| podIPs 包含分配给 pod 的 IP 地址。如果指定了此字段,则 0 个条目必须与 podIP 字段匹配。可以为每个 IPv4 和 IPv6 分配最多 1 个值。如果尚未分配 IP,此列表为空。 |
|
| podIP 代表分配给 pod 的单个 IP 地址。 |
|
| 根据资源要求分配给 pod 的服务质量(QOS)分类,请参阅可用的 QOSClass 类型 https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes
可能枚举值: - |
|
| 简短的 CamelCase 消息显示 pod 处于此状态的详情,如.'Evicted' |
|
| pod 容器所需的资源大小调整状态。如果没有资源调整大小待处理,它将为空。对容器资源的任何更改都会自动将其设置为 "Proposed" |
|
| 资源声明的状态。 |
|
| PodResourceClaimStatus 存储在 PodStatus 中,用于引用 ResourceClaimTemplate。它存储相应 ResourceClaim 生成的名称。 |
| Kubelet 确认对象的 RFC 3339 日期和时间。这是在 Kubelet 为 pod 拉取容器镜像之前。 |
14.1.318. .status.conditions
- 描述
- pod 的当前状态。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
- 类型
-
array
14.1.319. .status.conditions[]
- 描述
- PodCondition 包含此 pod 的当前条件的详情。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 最后一次探测到条件的时间。 | |
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示最后一次转换的详细信息。 |
|
| 条件最后一次转换的唯一、一词、CamelCase 原因。 |
|
| status 是条件的状态。可以是 True, False, Unknown。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
|
| type 是条件的类型。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
14.1.320. .status.containerStatuses
- 描述
- 列表中为每个容器在清单中有一个条目。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
- 类型
-
数组
14.1.321. .status.containerStatuses[]
- 描述
- ContainerStatus 包含此容器的当前状态的详细信息。
- 类型
-
object
- 必填
-
名称
-
ready
-
restartCount
-
image
-
imageID
-
属性 | 类型 | 描述 |
---|---|---|
| AllocatedResources 代表节点为此容器分配的计算资源。kubelet 在成功 pod 准入后将这个值设置为 Container.Resources.Requests,并在成功接受所需的 pod 调整大小后。 | |
|
| containerID 是容器的 ID,格式为 '<type>://<container_id>'。其中 type 是容器运行时标识符,从 CRI API 的 Version 调用返回(如 "containerd")。 |
|
| image 是容器运行的容器镜像的名称。容器镜像可能与 PodSpec 中使用的镜像不匹配,因为它可能已被运行时解析。更多信息: https://kubernetes.io/docs/concepts/containers/images。 |
|
| imageID 是容器镜像的镜像 ID。镜像 ID 可能与 PodSpec 中使用的镜像 ID 不匹配,因为它可能已被运行时解析。 |
|
| ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。 |
|
| name 是代表容器的唯一名称的 DNS_LABEL。pod 中的每个容器必须具有所有容器类型的唯一名称。无法更新。 |
|
| Ready 指定容器当前是否通过就绪度检查。该值将随着就绪度探测保持执行而改变。如果没有指定就绪度探测,则此字段在容器完全启动后默认为 true (请参阅 Started 字段)。 该值通常用于确定容器是否准备好接受流量。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartCount 包含容器重启的次数。kubelet 努力总是递增值,但在某些情况下可能会因为节点重启而丢失状态,然后值可能会重置为 0。该值永远不会为负数。 |
|
| started 表示容器是否已完成其 postStart 生命周期 hook 并通过其启动探测。初始化为 false,在 startupProbe 被视为成功后变为 true。容器重启时重置为 false,或者 kubelet 暂时丢失状态。在这两种情况下,启动探测将再次运行。当未定义 startupProbe 且容器正在运行且已经通过 postStart 生命周期 hook 时,始终为 true。null 值必须视为 false。 |
|
| ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。 |
14.1.322. .status.containerStatuses[].lastState
- 描述
- ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ContainerStateRunning 是容器的运行状态。 |
|
| ContainerStateTerminated 是容器的终止状态。 |
|
| ContainerStateWaiting 是容器的等待状态。 |
14.1.323. .status.containerStatuses[].lastState.running
- 描述
- ContainerStateRunning 是容器的运行状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 容器最后一次(re-)启动的时间 |
14.1.324. .status.containerStatuses[].lastState.terminated
- 描述
- ContainerStateTerminated 是容器的终止状态。
- 类型
-
object
- 必填
-
exitCode
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器 ID,格式为 '<type>://<container_id>' |
|
| 容器最后一次终止的退出状态 |
| 容器最后一次终止的时间 | |
|
| 有关容器最后一次终止的消息 |
|
| (brief)容器最后一次终止的原因 |
|
| 容器最后一次终止的信号 |
| 之前启动容器的时间 |
14.1.325. .status.containerStatuses[].lastState.waiting
- 描述
- ContainerStateWaiting 是容器的等待状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 有关容器尚未运行的原因的消息。 |
|
| (brief)容器尚未运行的原因。 |
14.1.326. .status.containerStatuses[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.327. .status.containerStatuses[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
array
14.1.328. .status.containerStatuses[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
14.1.329. .status.containerStatuses[].state
- 描述
- ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ContainerStateRunning 是容器的运行状态。 |
|
| ContainerStateTerminated 是容器的终止状态。 |
|
| ContainerStateWaiting 是容器的等待状态。 |
14.1.330. .status.containerStatuses[].state.running
- 描述
- ContainerStateRunning 是容器的运行状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 容器最后一次(re-)启动的时间 |
14.1.331. .status.containerStatuses[].state.terminated
- 描述
- ContainerStateTerminated 是容器的终止状态。
- 类型
-
object
- 必填
-
exitCode
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器 ID,格式为 '<type>://<container_id>' |
|
| 容器最后一次终止的退出状态 |
| 容器最后一次终止的时间 | |
|
| 有关容器最后一次终止的消息 |
|
| (brief)容器最后一次终止的原因 |
|
| 容器最后一次终止的信号 |
| 之前启动容器的时间 |
14.1.332. .status.containerStatuses[].state.waiting
- 描述
- ContainerStateWaiting 是容器的等待状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 有关容器尚未运行的原因的消息。 |
|
| (brief)容器尚未运行的原因。 |
14.1.333. .status.ephemeralContainerStatuses
- 描述
- 此 pod 中运行的任何临时容器的状态。
- 类型
-
array
14.1.334. .status.ephemeralContainerStatuses[]
- 描述
- ContainerStatus 包含此容器的当前状态的详细信息。
- 类型
-
object
- 必填
-
name
-
ready
-
restartCount
-
image
-
imageID
-
属性 | 类型 | 描述 |
---|---|---|
| AllocatedResources 代表节点为此容器分配的计算资源。kubelet 在成功 pod 准入后将这个值设置为 Container.Resources.Requests,并在成功接受所需的 pod 调整大小后。 | |
|
| containerID 是容器的 ID,格式为 '<type>://<container_id>'。其中 type 是容器运行时标识符,从 CRI API 的 Version 调用返回(如 "containerd")。 |
|
| image 是容器运行的容器镜像的名称。容器镜像可能与 PodSpec 中使用的镜像不匹配,因为它可能已被运行时解析。更多信息: https://kubernetes.io/docs/concepts/containers/images。 |
|
| imageID 是容器镜像的镜像 ID。镜像 ID 可能与 PodSpec 中使用的镜像 ID 不匹配,因为它可能已被运行时解析。 |
|
| ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。 |
|
| name 是代表容器的唯一名称的 DNS_LABEL。pod 中的每个容器必须具有所有容器类型的唯一名称。无法更新。 |
|
| Ready 指定容器当前是否通过就绪度检查。该值将随着就绪度探测保持执行而改变。如果没有指定就绪度探测,则此字段在容器完全启动后默认为 true (请参阅 Started 字段)。 该值通常用于确定容器是否准备好接受流量。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartCount 包含容器重启的次数。kubelet 努力总是递增值,但在某些情况下可能会因为节点重启而丢失状态,然后值可能会重置为 0。该值永远不会为负数。 |
|
| started 表示容器是否已完成其 postStart 生命周期 hook 并通过其启动探测。初始化为 false,在 startupProbe 被视为成功后变为 true。容器重启时重置为 false,或者 kubelet 暂时丢失状态。在这两种情况下,启动探测将再次运行。当未定义 startupProbe 且容器正在运行且已经通过 postStart 生命周期 hook 时,始终为 true。null 值必须视为 false。 |
|
| ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。 |
14.1.335. .status.ephemeralContainerStatuses[].lastState
- 描述
- ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ContainerStateRunning 是容器的运行状态。 |
|
| ContainerStateTerminated 是容器的终止状态。 |
|
| ContainerStateWaiting 是容器的等待状态。 |
14.1.336. .status.ephemeralContainerStatuses[].lastState.running
- 描述
- ContainerStateRunning 是容器的运行状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 容器最后一次(re-)启动的时间 |
14.1.337. .status.ephemeralContainerStatuses[].lastState.terminated
- 描述
- ContainerStateTerminated 是容器的终止状态。
- 类型
-
object
- 必填
-
exitCode
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器 ID,格式为 '<type>://<container_id>' |
|
| 容器最后一次终止的退出状态 |
| 容器最后一次终止的时间 | |
|
| 有关容器最后一次终止的消息 |
|
| (brief)容器最后一次终止的原因 |
|
| 容器最后一次终止的信号 |
| 之前启动容器的时间 |
14.1.338. .status.ephemeralContainerStatuses[].lastState.waiting
- 描述
- ContainerStateWaiting 是容器的等待状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 有关容器尚未运行的原因的消息。 |
|
| (brief)容器尚未运行的原因。 |
14.1.339. .status.ephemeralContainerStatuses[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.340. .status.ephemeralContainerStatuses[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
14.1.341. .status.ephemeralContainerStatuses[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
14.1.342. .status.ephemeralContainerStatuses[].state
- 描述
- ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ContainerStateRunning 是容器的运行状态。 |
|
| ContainerStateTerminated 是容器的终止状态。 |
|
| ContainerStateWaiting 是容器的等待状态。 |
14.1.343. .status.ephemeralContainerStatuses[].state.running
- 描述
- ContainerStateRunning 是容器的运行状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 容器最后一次(re-)启动的时间 |
14.1.344. .status.ephemeralContainerStatuses[].state.terminated
- 描述
- ContainerStateTerminated 是容器的终止状态。
- 类型
-
object
- 必填
-
exitCode
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器 ID,格式为 '<type>://<container_id>' |
|
| 容器最后一次终止的退出状态 |
| 容器最后一次终止的时间 | |
|
| 有关容器最后一次终止的消息 |
|
| (brief)容器最后一次终止的原因 |
|
| 容器最后一次终止的信号 |
| 之前启动容器的时间 |
14.1.345. .status.ephemeralContainerStatuses[].state.waiting
- 描述
- ContainerStateWaiting 是容器的等待状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 有关容器尚未运行的原因的消息。 |
|
| (brief)容器尚未运行的原因。 |
14.1.346. .status.hostIPs
- 描述
- hostIPs 包含分配给主机的 IP 地址。如果指定了此字段,则第一个条目必须与 hostIP 字段匹配。如果 pod 尚未启动,此列表为空。一个 pod 可以分配给一个在 kubelet 中有问题的节点,这意味着即使有节点被分配给此 pod,也不会更新 HostIP。
- 类型
-
数组
14.1.347. .status.hostIPs[]
- 描述
- Hostip 代表分配给主机的单个 IP 地址。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ip 是分配给主机的 IP 地址 |
14.1.348. .status.initContainerStatuses
- 描述
- 该列表为每个清单中的 init 容器有一个条目。最近一次成功的 init 容器将具有 ready = true,最近启动的容器将设置 startTime。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
- 类型
-
数组
14.1.349. .status.initContainerStatuses[]
- 描述
- ContainerStatus 包含此容器的当前状态的详细信息。
- 类型
-
object
- 必填
-
名称
-
ready
-
restartCount
-
image
-
imageID
-
属性 | 类型 | 描述 |
---|---|---|
| AllocatedResources 代表节点为此容器分配的计算资源。kubelet 在成功 pod 准入后将这个值设置为 Container.Resources.Requests,并在成功接受所需的 pod 调整大小后。 | |
|
| containerID 是容器的 ID,格式为 '<type>://<container_id>'。其中 type 是容器运行时标识符,从 CRI API 的 Version 调用返回(如 "containerd")。 |
|
| image 是容器运行的容器镜像的名称。容器镜像可能与 PodSpec 中使用的镜像不匹配,因为它可能已被运行时解析。更多信息: https://kubernetes.io/docs/concepts/containers/images。 |
|
| imageID 是容器镜像的镜像 ID。镜像 ID 可能与 PodSpec 中使用的镜像 ID 不匹配,因为它可能已被运行时解析。 |
|
| ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。 |
|
| name 是代表容器的唯一名称的 DNS_LABEL。pod 中的每个容器必须具有所有容器类型的唯一名称。无法更新。 |
|
| Ready 指定容器当前是否通过就绪度检查。该值将随着就绪度探测保持执行而改变。如果没有指定就绪度探测,则此字段在容器完全启动后默认为 true (请参阅 Started 字段)。 该值通常用于确定容器是否准备好接受流量。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartCount 包含容器重启的次数。kubelet 努力总是递增值,但在某些情况下可能会因为节点重启而丢失状态,然后值可能会重置为 0。该值永远不会为负数。 |
|
| started 表示容器是否已完成其 postStart 生命周期 hook 并通过其启动探测。初始化为 false,在 startupProbe 被视为成功后变为 true。容器重启时重置为 false,或者 kubelet 暂时丢失状态。在这两种情况下,启动探测将再次运行。当未定义 startupProbe 且容器正在运行且已经通过 postStart 生命周期 hook 时,始终为 true。null 值必须视为 false。 |
|
| ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。 |
14.1.350. .status.initContainerStatuses[].lastState
- 描述
- ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ContainerStateRunning 是容器的运行状态。 |
|
| ContainerStateTerminated 是容器的终止状态。 |
|
| ContainerStateWaiting 是容器的等待状态。 |
14.1.351. .status.initContainerStatuses[].lastState.running
- 描述
- ContainerStateRunning 是容器的运行状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 容器最后一次(re-)启动的时间 |
14.1.352. .status.initContainerStatuses[].lastState.terminated
- 描述
- ContainerStateTerminated 是容器的终止状态。
- 类型
-
object
- 必填
-
exitCode
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器 ID,格式为 '<type>://<container_id>' |
|
| 容器最后一次终止的退出状态 |
| 容器最后一次终止的时间 | |
|
| 有关容器最后一次终止的消息 |
|
| (brief)容器最后一次终止的原因 |
|
| 容器最后一次终止的信号 |
| 之前启动容器的时间 |
14.1.353. .status.initContainerStatuses[].lastState.waiting
- 描述
- ContainerStateWaiting 是容器的等待状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 有关容器尚未运行的原因的消息。 |
|
| (brief)容器尚未运行的原因。 |
14.1.354. .status.initContainerStatuses[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
14.1.355. .status.initContainerStatuses[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
数组
14.1.356. .status.initContainerStatuses[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
14.1.357. .status.initContainerStatuses[].state
- 描述
- ContainerState 保持容器的可能状态。只能指定其中的一个成员。如果没有指定它们,则默认值为 ContainerStateWait。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ContainerStateRunning 是容器的运行状态。 |
|
| ContainerStateTerminated 是容器的终止状态。 |
|
| ContainerStateWaiting 是容器的等待状态。 |
14.1.358. .status.initContainerStatuses[].state.running
- 描述
- ContainerStateRunning 是容器的运行状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 容器最后一次(re-)启动的时间 |
14.1.359. .status.initContainerStatuses[].state.terminated
- 描述
- ContainerStateTerminated 是容器的终止状态。
- 类型
-
object
- 必填
-
exitCode
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器 ID,格式为 '<type>://<container_id>' |
|
| 容器最后一次终止的退出状态 |
| 容器最后一次终止的时间 | |
|
| 有关容器最后一次终止的消息 |
|
| (brief)容器最后一次终止的原因 |
|
| 容器最后一次终止的信号 |
| 之前启动容器的时间 |
14.1.360. .status.initContainerStatuses[].state.waiting
- 描述
- ContainerStateWaiting 是容器的等待状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 有关容器尚未运行的原因的消息。 |
|
| (brief)容器尚未运行的原因。 |
14.1.361. .status.podIPs
- 描述
- podIPs 包含分配给 pod 的 IP 地址。如果指定了此字段,则 0 个条目必须与 podIP 字段匹配。可以为每个 IPv4 和 IPv6 分配最多 1 个值。如果尚未分配 IP,此列表为空。
- 类型
-
数组
14.1.362. .status.podIPs[]
- 描述
- podIP 代表分配给 pod 的单个 IP 地址。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| IP 是分配给 pod 的 IP 地址 |
14.1.363. .status.resourceClaimStatuses
- 描述
- 资源声明的状态。
- 类型
-
数组
14.1.364. .status.resourceClaimStatuses[]
- 描述
- PodResourceClaimStatus 存储在 PodStatus 中,用于引用 ResourceClaimTemplate。它存储相应 ResourceClaim 生成的名称。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 在 pod 中唯一标识此资源声明的名称。这必须与 pod.spec.resourceClaims 中的条目名称匹配,这意味着字符串必须是 DNS_LABEL。 |
|
| ResourceClaimName 是为 Pod 命名空间中的 Pod 生成的 ResourceClaim 的名称。它未设置,然后不需要生成 ResourceClaim。在这种情况下,pod.spec.resourceClaims 条目可以忽略。 |
14.2. API 端点
可用的 API 端点如下:
/api/v1/pods
-
GET
: 列出或监视类型为 Pod 的对象
-
/api/v1/watch/pods
-
GET
: 观察单个对 Pod 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/pods
-
DELETE
: 删除 Pod 集合 -
GET
: 列出或监视类型为 Pod 的对象 -
POST
:创建 Pod
-
/api/v1/watch/namespaces/{namespace}/pods
-
GET
: 观察单个对 Pod 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/pods/{name}
-
DELETE
:删除 Pod -
GET
:读取指定的 Pod -
PATCH
: 部分更新指定的 Pod -
PUT
:替换指定的 Pod
-
/api/v1/namespaces/{namespace}/pods/{name}/log
-
GET
:读取指定 Pod 的日志
-
/api/v1/watch/namespaces/{namespace}/pods/{name}
-
GET
: 观察对类型为 Pod 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
-
/api/v1/namespaces/{namespace}/pods/{name}/status
-
GET
:指定 Pod 的读取状态 -
PATCH
: 部分更新指定 Pod 的状态 -
PUT
:替换指定 Pod 的状态
-
/api/v1/namespaces/{namespace}/pods/{name}/ephemeralcontainers
-
GET
:读取指定 Pod 的临时containers -
PATCH
: 部分更新指定 Pod 的临时容器 -
PUT
:替换指定 Pod 的 ephemeralcontainers
-
14.2.1. /api/v1/pods
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Pod 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
14.2.2. /api/v1/watch/pods
- HTTP 方法
-
GET
- 描述
- 观察单个对 Pod 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.2.3. /api/v1/namespaces/{namespace}/pods
- HTTP 方法
-
DELETE
- 描述
- 删除 Pod 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 Pod 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 Pod
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
14.2.4. /api/v1/watch/namespaces/{namespace}/pods
- HTTP 方法
-
GET
- 描述
- 观察单个对 Pod 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.2.5. /api/v1/namespaces/{namespace}/pods/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Pod 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 Pod
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - 未授权 | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 Pod
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 Pod
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 Pod
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
14.2.6. /api/v1/namespaces/{namespace}/pods/{name}/log
参数 | 类型 | 描述 |
---|---|---|
|
| Pod 的名称 |
- HTTP 方法
-
GET
- 描述
- 读取指定 Pod 的日志
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
14.2.7. /api/v1/watch/namespaces/{namespace}/pods/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| Pod 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 Pod 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
14.2.8. /api/v1/namespaces/{namespace}/pods/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| Pod 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 Pod 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 Pod 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 Pod 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
14.2.9. /api/v1/namespaces/{namespace}/pods/{name}/ephemeralcontainers
参数 | 类型 | 描述 |
---|---|---|
|
| Pod 的名称 |
- HTTP 方法
-
GET
- 描述
- 读取指定 Pod 的 ephemeralcontainers
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 Pod 的 ephemeralcontainers
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 Pod 的 ephemeralcontainers
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
第 15 章 ReplicationController [v1]
- 描述
- ReplicationController 代表复制控制器的配置。
- 类型
-
对象
15.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 如果 ReplicationController 的 Labels 为空,则它们默认与复制控制器管理的 Pod 相同。标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ReplicationControllerSpec 是复制控制器的规格。 |
|
| ReplicationControllerStatus 代表复制控制器的当前状态。 |
15.1.1. .spec
- 描述
- ReplicationControllerSpec 是复制控制器的规格。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 新创建的 pod 应该在没有其任何容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用) |
|
| replicas 是所需副本数。这是一个指针,用于区分显式零和未指定的。默认为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller |
|
| selector 是 pod 上的标签查询,它应当与 Replicas 计数匹配。如果 Selector 为空,则默认为 Pod 模板上的标签。标签键和值,如果 Pod 模板上的标签默认为空,则必须由此复制控制器控制。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors |
|
| PodTemplateSpec 描述了从模板创建 pod 应具有的数据 |
15.1.2. .spec.template
- 描述
- PodTemplateSpec 描述了从模板创建 pod 应具有的数据
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| PodSpec 是 pod 的描述。 |
15.1.3. .spec.template.spec
- 描述
- PodSpec 是 pod 的描述。
- 类型
-
object
- 必填
-
containers
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选持续时间(以秒为单位)pod 可以在相对于 StartTime 的节点上处于活跃状态,然后系统主动尝试将其标记为失败并终止关联的容器。值必须是正整数。 |
|
| 关联性是一组关联性调度规则。 |
|
| AutomountServiceAccountToken 表示是否应自动挂载服务帐户令牌。 |
|
| 属于 pod 的容器列表。当前无法添加或删除容器。Pod 中必须至少有一个容器。无法更新。 |
|
| 要在 pod 中运行的单一应用程序容器。 |
|
| PodDNSConfig 除了从 DNSPolicy 生成的外,还定义了 pod 的 DNS 参数。 |
|
| 为 pod 设置 DNS 策略。默认为 "ClusterFirst"。有效值为 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' 或 'None'。DNSConfig 中指定的 DNS 参数将与选择与 DNSPolicy 的策略合并。要将 DNS 选项与 hostNetwork 一起设置,您必须将 DNS 策略明确指定为 'ClusterFirstWithHostNet'。
可能枚举值: - |
|
| EnableServiceLinks 指明了有关服务的信息是否应注入到 pod 的环境变量中,与 Docker 链接的语法匹配。可选:默认为 true。 |
|
| 此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,且无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod,请使用 pod 的 ephemeralcontainers 子资源。 |
|
| EphemeralContainer 是一个临时容器,您可以添加到现有 Pod 中,用于用户发起的活动,如调试。临时容器没有资源或调度保证,它们不会在 Pod 退出或重启 Pod 时重启。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。 要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重启。 |
|
| hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这仅对非主机网络 pod 有效。 |
|
| HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。 |
|
| 使用主机的 ipc 命名空间。可选:默认为 false。 |
|
| 为这个 pod 请求的主机网络。使用主机的网络命名空间。如果设置了这个选项,则必须指定要使用的端口。默认值为 false。 |
|
| 使用主机的 pid 命名空间。可选:默认为 false。 |
|
| 使用主机的用户命名空间。可选:默认为 true。如果设置为 true 或不存在,则 pod 将在主机用户命名空间中运行,当 pod 需要功能仅适用于主机用户命名空间时,比如使用 CAP_SYS_MODULE 加载内核模块。当设置为 false 时,会为 pod 创建一个新的 userns。设置 false 有助于减少容器中断漏洞,甚至允许用户以 root 用户身份运行其容器,而无需实际对主机具有 root 特权。此字段是 alpha-level,且仅被启用 UserNamespacesSupport 功能的服务器实现。 |
|
| 指定没有指定 Pod 的主机名,pod 的主机名将设置为系统定义的值。 |
|
| imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| 属于 pod 的初始化容器列表。Init 容器在启动容器之前按顺序执行。如果任何 init 容器失败,pod 被视为失败,并根据 restartPolicy 处理。init 容器或普通容器的名称对于所有容器来说都必须是唯一的。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。通过查找每种资源类型的最高请求/限制,然后使用该值的最大值或普通容器的总和,在调度期间考虑 init 容器的 resourceRequirements。限制以类似的方式应用到 init 容器。当前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
|
| 要在 pod 中运行的单一应用程序容器。 |
|
| nodeName 是一个将此 pod 调度到特定节点的请求。如果不是空的,调度程序只会将此 pod 调度到该节点上,假设它符合资源要求。 |
|
| nodeSelector 是一个选择器,必须为 true 才能使 pod 适合某个节点。选择器必须与节点的标签匹配,以便 pod 调度到该节点上。更多信息: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
|
| 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 是抢占优先级较低 pod 的策略。Never 之一 PreemptLowerPriority。如果未设置,则默认为 PreemptLowerPriority。
可能枚举值: - |
|
| 优先级值。各种系统组件使用此字段查找 pod 的优先级。启用 Priority Admission Controller 时,它会阻止用户设置此字段。准入控制器从 PriorityClassName 中填充此字段。数值越大,优先级越高。 |
|
| 如果指定,则表示 pod 的优先级。"system-node-critical" 和 "system-cluster-critical" 是两个特殊关键字,代表前一个优先级最高。必须通过创建具有该名称的 PriorityClass 对象来定义任何其他名称。如果没有指定,如果没有默认值,pod 优先级将为 default 或零。 |
|
| 如果指定,则会针对 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 |
|
| PodReadinessGate 包含对 pod 条件的引用 |
|
| ResourceClaims 定义在 Pod 允许启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。 |
|
| PodResourceClaim 通过 ClaimSource 只引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。 |
|
| 为 pod 中的所有容器重启策略。Always、OnFailure 之一 Never。在某些上下文中,只允许这些值的子集。默认为 Always。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
可能枚举值: - |
|
| runtimeClassName 指的是 node.k8s.io 组中的 RuntimeClass 对象,该对象应该用于运行此 pod。如果没有与命名类匹配的 RuntimeClass 资源,则不会运行 pod。如果未设置或为空,则使用"传统" RuntimeClass,这是一个具有使用默认运行时处理程序的空定义的隐式类。更多信息: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class |
|
| 如果指定,pod 将由指定的调度程序分配。如果没有指定,pod 会被默认调度程序分配。 |
|
| SchedulingGates 是不透明的值列表,如果指定,它将阻止调度 pod。如果 schedulingGates 不为空,pod 将保持在 SchedulingGated 状态,调度程序不会尝试调度 pod。 SchedulingGates 只能在 pod 创建时设置,之后才能被删除。 这是 PodSchedulingReadiness 功能门启用的 beta 功能。 |
|
| PodSchedulingGate 与 Pod 关联,以保护其调度。 |
|
| PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。 |
|
| DeprecatedServiceAccount 是 ServiceAccountName 的描述别名。弃用 :使用 serviceAccountName 替代。 |
|
| serviceAccountName 是用于运行此 pod 的 ServiceAccount 的名称。更多信息: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ |
|
| 如果为 true,则 pod 的主机名将配置为 pod 的 FQDN,而不是叶名称(默认值)。在 Linux 容器中,这意味着在内核的 hostname 字段中设置 FQDN ( struct utsname 的 nodename 字段)。在 Windows 容器中,这意味着将 registry 键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 的 hostname 的 registry 值设置为 FQDN。如果 pod 没有 FQDN,则这无效。默认值为 false。 |
|
| 在 pod 中所有容器间共享单个进程命名空间。当设置容器时,可以从同一 pod 中的其他容器查看和信号进程,并且每个容器中的第一个进程不会被分配 PID 1。无法同时设置 hostPID 和 ShareProcessNamespace。可选:默认为 false。 |
|
| 如果指定,完全限定的 Pod 主机名将是 "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>"。如果没有指定,pod 将根本没有 domainname。 |
|
| pod 安全终止所需的可选持续时间(以秒为单位)。可以在删除请求中减少。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。如果这个值是 nil,则使用默认的宽限期。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。默认值为 30 秒。 |
|
| 如果指定,pod 的容限。 |
|
| 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。 |
|
| topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。 |
|
| TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。 |
|
| 可以通过属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes |
|
| 卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。 |
15.1.4. .spec.template.spec.affinity
- 描述
- 关联性是一组关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 节点关联性是一组节点关联性调度规则。 |
|
| pod 关联性是一组 pod 关联性调度规则。 |
|
| Pod 反关联性是一组 pod 反关联性调度规则。 |
15.1.5. .spec.template.spec.affinity.nodeAffinity
- 描述
- 节点关联性是一组节点关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。 |
|
| 空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。 |
|
| 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。 |
15.1.6. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、必需关联表达式等)的每个节点,计算出一个总和总和总和总和(如果节点与相应的 matchExpressions 匹配),则计算总和最高的节点是最首选的。
- 类型
-
array
15.1.7. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 空白的首选调度术语与带有隐式权重 0 (例如,它的一个 no-op)的所有对象匹配。空首选调度术语不匹配任何对象(例如,也是 no-op)。
- 类型
-
object
- 必填
-
weight
-
preference
-
属性 | 类型 | 描述 |
---|---|---|
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
|
| 与对应 nodeSelectorTerm 关联的权重,范围为 1-100。 |
15.1.8. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
15.1.9. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
array
15.1.10. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
15.1.11. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- 描述
- 按节点字段划分的节点选择器要求列表。
- 类型
-
array
15.1.12. .spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
15.1.13. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。
- 类型
-
object
- 必填
-
nodeSelectorTerms
-
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。节点选择器术语列表。术语为 ORed。 |
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
15.1.14. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- 描述
- 必需。节点选择器术语列表。术语为 ORed。
- 类型
-
数组
15.1.15. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
15.1.16. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
数组
15.1.17. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
15.1.18. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- 描述
- 按节点字段划分的节点选择器要求列表。
- 类型
-
数组
15.1.19. .spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
15.1.20. .spec.template.spec.affinity.podAffinity
- 描述
- pod 关联性是一组 pod 关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。 |
|
| 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。 |
|
| 如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。 |
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
15.1.21. .spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点(即,对于满足所有调度要求的节点(resource request、requiredDuringScheduling 关联性表达式等)的每个节点,计算并迭代此字段元素,并在节点具有与对应 podAffinityTerm 匹配的 pod 时,将"weight"添加到总和(如果节点具有最高 podAffinityTerm)、具有最高总和最高的节点是首选。
- 类型
-
array
15.1.22. .spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
- 类型
-
object
- 必填
-
weight
-
podAffinityTerm
-
属性 | 类型 | 描述 |
---|---|---|
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
|
| 与对应的 podAffinityTerm 关联的权重,范围为 1-100。 |
15.1.23. .spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
15.1.24. .spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 如果在调度时没有满足此字段指定的关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的关联性要求在 pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
- 类型
-
array
15.1.25. .spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
15.1.26. .spec.template.spec.affinity.podAntiAffinity
- 描述
- Pod 反关联性是一组 pod 反关联性调度规则。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。 |
|
| 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。 |
|
| 如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。 |
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
15.1.27. .spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- 调度程序更喜欢将 pod 调度到满足此字段指定的反关联性表达式的节点,但可能会选择违反一个或多个表达式的节点。最首选的节点是具有最大权重总和的节点,即对于满足所有调度要求(资源请求、requiredDuringScheduling 反关联性表达式等)的每个节点,计算通过此字段元素来计算总和总和(如果节点具有与对应的 podAffinityTerm 匹配的 pod)的总和。
- 类型
-
array
15.1.28. .spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 所有匹配的 WeightedPodAffinityTerm 字段的权重添加到每个节点,以查找最首选节点。
- 类型
-
object
- 必填
-
weight
-
podAffinityTerm
-
属性 | 类型 | 描述 |
---|---|---|
|
| 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。 |
|
| 与对应的 podAffinityTerm 关联的权重,范围为 1-100。 |
15.1.29. .spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
15.1.30. .spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- 如果在调度时没有满足此字段指定的反关联性要求,则 pod 不会被调度到该节点上。如果此字段指定的反关联性要求在 Pod 执行期间某一点满足(例如,由于 pod 标签更新),则系统可能或可能无法最终从其节点驱除 pod。当有多个元素时,与每个 podAffinityTerm 对应的节点列表都会被交集,例如必须满足所有术语。
- 类型
-
array
15.1.31. .spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- 定义一组 pod (即,与给定命名空间相对 labelSelector 匹配的 labelSelector ),该 pod 应该与 pod 共同定位(反关联性)或没有共同定位(反关联性)的节点上运行,其中 co-located 在具有键 <topologyKey> 标签的节点上运行,它与其上运行一组 pod 的 pod 匹配。
- 类型
-
object
- 必填
-
topologyKey
-
属性 | 类型 | 描述 |
---|---|---|
| 对一组资源进行标签查询,本例中为 pod。如果为空,则此 PodAffinityTerm 与任何 Pod 匹配。 | |
|
|
matchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签 |
|
|
MismatchLabelKeys 是一组 pod 标签键,用于选择要考虑哪些 pod。键用于从传入的 pod 标签中查找值,这些键值标签与 |
| 术语适用的命名空间集合上的标签查询。术语应用于此字段选定的命名空间的 union,以及 namespaces 字段中列出的命名空间。null selector 和 null 或空命名空间列表表示"此 pod 的命名空间"。空选择器({})匹配所有命名空间。 | |
|
| namespaces 指定术语应用到的命名空间名称的静态列表。术语应用到此字段中列出的命名空间的 union,namespaceSelector 选择的命名空间列表和 null namespaceSelector 表示 " this pod 的命名空间"。 |
|
| 此 pod 应该在指定命名空间中与 labelSelector 匹配的 pod 共存(反关联性),其中 co-located 定义为在运行所选 pod 的节点的值为 running 的节点上运行。不允许为空 topologyKey。 |
15.1.32. .spec.template.spec.containers
- 描述
- 属于 pod 的容器列表。当前无法添加或删除容器。Pod 中必须至少有一个容器。无法更新。
- 类型
-
array
15.1.33. .spec.template.spec.containers[]
- 描述
- 要在 pod 中运行的单一应用程序容器。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的容器名称。pod 中的每个容器都必须具有唯一的名称(DNS_LABEL)。无法更新。 |
|
| 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
15.1.34. .spec.template.spec.containers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
数组
15.1.35. .spec.template.spec.containers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
15.1.36. .spec.template.spec.containers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
15.1.37. .spec.template.spec.containers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
15.1.38. .spec.template.spec.containers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
15.1.39. .spec.template.spec.containers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
15.1.40. .spec.template.spec.containers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
15.1.41. .spec.template.spec.containers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
数组
15.1.42. .spec.template.spec.containers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
15.1.43. .spec.template.spec.containers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
15.1.44. .spec.template.spec.containers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
15.1.45. .spec.template.spec.containers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
15.1.46. .spec.template.spec.containers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
15.1.47. .spec.template.spec.containers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.48. .spec.template.spec.containers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.49. .spec.template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.50. .spec.template.spec.containers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.51. .spec.template.spec.containers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
15.1.52. .spec.template.spec.containers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.53. .spec.template.spec.containers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
15.1.54. .spec.template.spec.containers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.55. .spec.template.spec.containers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.56. .spec.template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.57. .spec.template.spec.containers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.58. .spec.template.spec.containers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
15.1.59. .spec.template.spec.containers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.60. .spec.template.spec.containers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.61. .spec.template.spec.containers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.62. .spec.template.spec.containers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.63. .spec.template.spec.containers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.64. .spec.template.spec.containers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
15.1.65. .spec.template.spec.containers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.66. .spec.template.spec.containers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.67. .spec.template.spec.containers[].ports
- 描述
- 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
- 类型
-
数组
15.1.68. .spec.template.spec.containers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
15.1.69. .spec.template.spec.containers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.70. .spec.template.spec.containers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.71. .spec.template.spec.containers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.72. .spec.template.spec.containers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.73. .spec.template.spec.containers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.74. .spec.template.spec.containers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.75. .spec.template.spec.containers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.76. .spec.template.spec.containers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
array
15.1.77. .spec.template.spec.containers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
15.1.78. .spec.template.spec.containers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
15.1.79. .spec.template.spec.containers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
array
15.1.80. .spec.template.spec.containers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
15.1.81. .spec.template.spec.containers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
15.1.82. .spec.template.spec.containers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
15.1.83. .spec.template.spec.containers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
15.1.84. .spec.template.spec.containers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
15.1.85. .spec.template.spec.containers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
15.1.86. .spec.template.spec.containers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.87. .spec.template.spec.containers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.88. .spec.template.spec.containers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.89. .spec.template.spec.containers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.90. .spec.template.spec.containers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.91. .spec.template.spec.containers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.92. .spec.template.spec.containers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.93. .spec.template.spec.containers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
array
15.1.94. .spec.template.spec.containers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
15.1.95. .spec.template.spec.containers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。无法更新。
- 类型
-
array
15.1.96. .spec.template.spec.containers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
name
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
15.1.97. .spec.template.spec.dnsConfig
- 描述
- PodDNSConfig 除了从 DNSPolicy 生成的外,还定义了 pod 的 DNS 参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| DNS 名称服务器 IP 地址列表。这将附加到从 DNSPolicy 生成的基本名称服务器中。重复的名称服务器将被删除。 |
|
| DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。删除重复的条目。Options 中提供的解析选项将覆盖基本 DNSPolicy 中显示的选项。 |
|
| PodDNSConfigOption 定义 pod 的 DNS 解析器选项。 |
|
| 用于 host-name 查找的 DNS 搜索域列表。这将附加到从 DNSPolicy 生成的基本搜索路径中。删除重复的搜索路径。 |
15.1.98. .spec.template.spec.dnsConfig.options
- 描述
- DNS 解析器选项列表。这将与 DNSPolicy 生成的基本选项合并。删除重复的条目。Options 中提供的解析选项将覆盖基本 DNSPolicy 中显示的选项。
- 类型
-
array
15.1.99. .spec.template.spec.dnsConfig.options[]
- 描述
- PodDNSConfigOption 定义 pod 的 DNS 解析器选项。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。 |
|
|
15.1.100. .spec.template.spec.ephemeralContainers
- 描述
- 此 pod 中运行的临时容器列表。临时容器可以在现有 pod 中运行,以执行用户发起的操作,如调试。创建 pod 时无法指定此列表,且无法通过更新 pod 规格来修改它。要将临时容器添加到现有 pod,请使用 pod 的 ephemeralcontainers 子资源。
- 类型
-
array
15.1.101. .spec.template.spec.ephemeralContainers[]
- 描述
EphemeralContainer 是一个临时容器,您可以添加到现有 Pod 中,用于用户发起的活动,如调试。临时容器没有资源或调度保证,它们不会在 Pod 退出或重启 Pod 时重启。如果临时容器导致 Pod 超过其资源分配,kubelet 可能会驱除 Pod。
要添加临时容器,请使用现有 Pod 的 ephemeralcontainers 子资源。临时容器可能无法删除或重启。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果未提供该镜像,则使用镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供该镜像,则使用镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的临时容器的名称。此名称在所有容器、init 容器和临时容器中必须是唯一的。 |
|
| 临时容器不允许使用端口。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| 重启容器的策略,以管理 pod 中每个容器的重启行为。这只能为 init 容器设置。您不能在临时容器上设置此字段。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 如果设置,则来自此临时容器目标的 PodSpec 的容器名称。临时容器将在此容器的命名空间中运行(IPC、PID 等)。如果没有设置,则临时容器将使用 Pod spec 中配置的命名空间。 容器运行时必须实施对此功能的支持。如果运行时不支持命名空间目标,则设置此字段的结果未定义。 |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。临时容器不允许使用 subPath 挂载。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
15.1.102. .spec.template.spec.ephemeralContainers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
数组
15.1.103. .spec.template.spec.ephemeralContainers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
15.1.104. .spec.template.spec.ephemeralContainers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
15.1.105. .spec.template.spec.ephemeralContainers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
15.1.106. .spec.template.spec.ephemeralContainers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
15.1.107. .spec.template.spec.ephemeralContainers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
15.1.108. .spec.template.spec.ephemeralContainers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
15.1.109. .spec.template.spec.ephemeralContainers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
数组
15.1.110. .spec.template.spec.ephemeralContainers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
15.1.111. .spec.template.spec.ephemeralContainers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
15.1.112. .spec.template.spec.ephemeralContainers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
15.1.113. .spec.template.spec.ephemeralContainers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
15.1.114. .spec.template.spec.ephemeralContainers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
15.1.115. .spec.template.spec.ephemeralContainers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.116. .spec.template.spec.ephemeralContainers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.117. .spec.template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.118. .spec.template.spec.ephemeralContainers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.119. .spec.template.spec.ephemeralContainers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
15.1.120. .spec.template.spec.ephemeralContainers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.121. .spec.template.spec.ephemeralContainers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
15.1.122. .spec.template.spec.ephemeralContainers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.123. .spec.template.spec.ephemeralContainers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.124. .spec.template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.125. .spec.template.spec.ephemeralContainers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.126. .spec.template.spec.ephemeralContainers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
15.1.127. .spec.template.spec.ephemeralContainers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.128. .spec.template.spec.ephemeralContainers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.129. .spec.template.spec.ephemeralContainers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.130. .spec.template.spec.ephemeralContainers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.131. .spec.template.spec.ephemeralContainers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.132. .spec.template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
15.1.133. .spec.template.spec.ephemeralContainers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.134. .spec.template.spec.ephemeralContainers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.135. .spec.template.spec.ephemeralContainers[].ports
- 描述
- 临时容器不允许使用端口。
- 类型
-
数组
15.1.136. .spec.template.spec.ephemeralContainers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
15.1.137. .spec.template.spec.ephemeralContainers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.138. .spec.template.spec.ephemeralContainers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.139. .spec.template.spec.ephemeralContainers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.140. .spec.template.spec.ephemeralContainers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.141. .spec.template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.142. .spec.template.spec.ephemeralContainers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.143. .spec.template.spec.ephemeralContainers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.144. .spec.template.spec.ephemeralContainers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
array
15.1.145. .spec.template.spec.ephemeralContainers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
15.1.146. .spec.template.spec.ephemeralContainers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
15.1.147. .spec.template.spec.ephemeralContainers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
array
15.1.148. .spec.template.spec.ephemeralContainers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
15.1.149. .spec.template.spec.ephemeralContainers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
15.1.150. .spec.template.spec.ephemeralContainers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
15.1.151. .spec.template.spec.ephemeralContainers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
15.1.152. .spec.template.spec.ephemeralContainers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
15.1.153. .spec.template.spec.ephemeralContainers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
15.1.154. .spec.template.spec.ephemeralContainers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.155. .spec.template.spec.ephemeralContainers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.156. .spec.template.spec.ephemeralContainers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.157. .spec.template.spec.ephemeralContainers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.158. .spec.template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.159. .spec.template.spec.ephemeralContainers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.160. .spec.template.spec.ephemeralContainers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.161. .spec.template.spec.ephemeralContainers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
array
15.1.162. .spec.template.spec.ephemeralContainers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
15.1.163. .spec.template.spec.ephemeralContainers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。临时容器不允许使用 subPath 挂载。无法更新。
- 类型
-
array
15.1.164. .spec.template.spec.ephemeralContainers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
name
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
15.1.165. .spec.template.spec.hostAliases
- 描述
- hostAliases 是主机和 IP 的可选列表,如果指定,将注入到 pod 的主机文件中。这仅对非主机网络 pod 有效。
- 类型
-
array
15.1.166. .spec.template.spec.hostAliases[]
- 描述
- HostAlias 包含 IP 和主机名之间的映射,这些映射将作为 pod 的主机文件中的条目注入。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 以上 IP 地址的主机名。 |
|
| 主机文件条目的 IP 地址。 |
15.1.167. .spec.template.spec.imagePullSecrets
- 描述
- imagePullSecrets 是对同一命名空间中的 secret 的引用列表,用于拉取此 PodSpec 使用的任何镜像。如果指定,这些 secret 将传递给单独的 puller 实现,供它们使用。更多信息: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
- 类型
-
array
15.1.168. .spec.template.spec.imagePullSecrets[]
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.169. .spec.template.spec.initContainers
- 描述
- 属于 pod 的初始化容器列表。Init 容器在启动容器之前按顺序执行。如果任何 init 容器失败,pod 被视为失败,并根据 restartPolicy 处理。init 容器或普通容器的名称对于所有容器来说都必须是唯一的。Init 容器可能没有生命周期操作、就绪度探测、存活度探测或启动探测。通过查找每种资源类型的最高请求/限制,然后使用该值的最大值或普通容器的总和,在调度期间考虑 init 容器的 resourceRequirements。限制以类似的方式应用到 init 容器。当前无法添加或删除 init 容器。无法更新。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
- 类型
-
array
15.1.170. .spec.template.spec.initContainers[]
- 描述
- 要在 pod 中运行的单一应用程序容器。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 入口点的参数。如果没有提供,则使用容器镜像的 CMD。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| ENTRYPOINT 数组.没有在 shell 中执行。如果未提供此容器镜像,则使用容器镜像的 ENTRYPOINT。变量引用 $(VAR_NAME)使用容器的环境扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。无法更新。更多信息: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
|
| 容器中要设置的环境变量列表。无法更新。 |
|
| EnvVar 代表容器中存在的环境变量。 |
|
| 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。 |
|
| EnvFromSource 代表一组 ConfigMap 的源 |
|
| 容器镜像名称。更多信息: https://kubernetes.io/docs/concepts/containers/images 此字段是可选的,允许更高级别的配置管理默认或覆盖工作负载控制器(如 Deployments 和 StatefulSets)中的容器镜像。 |
|
| 镜像拉取(pull)策略。Always, Never, IfNotPresent 之一。如果指定了 :latest 标签,则默认为 Always,否则则默认为 IfNotPresent。无法更新。更多信息: https://kubernetes.io/docs/concepts/containers/images#updating-images
可能枚举值: - |
|
| lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 指定为 DNS_LABEL 的容器名称。pod 中的每个容器都必须具有唯一的名称(DNS_LABEL)。无法更新。 |
|
| 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。 |
|
| containerPort 代表单个容器中的网络端口。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 容器的资源重新定义策略。 |
|
| ContainerResizePolicy 代表容器的资源重新定义策略。 |
|
| ResourceRequirements 描述了计算资源要求。 |
|
| restartPolicy 定义 pod 中单个容器的重启行为。此字段只能为 init 容器设置,唯一允许的值是 "Always"。对于非init 容器或没有指定此字段时,重启行为由 Pod 的重启策略和容器类型定义。将 init 容器的 RestartPolicy 设置为 "Always" 将具有以下效果:此 init 容器将持续重启退出,直到所有常规容器都终止为止。所有常规容器完成后,所有带有 restartPolicy "Always" 的 init 容器都会被关闭。这个生命周期与普通 init 容器不同,通常被称为 "sidecar" 容器。虽然这个 init 容器仍然在 init 容器序列中启动,但它不会等待容器完成,然后才能进入下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后,或者在任何 startupProbe 成功完成后启动。 |
|
| securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。 |
|
| probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。 |
|
| 此容器是否应该在容器运行时中为 stdin 分配缓冲区。如果没有设置,则容器中的 stdin 读取将始终会导致 EOF。默认为 false。 |
|
| 容器运行时是否应在由单个附加打开后关闭 stdin 频道。当 stdin 为 true 时,stdin 流将在多个附加会话中保持打开状态。如果 stdinOnce 设为 true,则 stdin 会在容器启动时打开,直到第一个客户端附加到 stdin,然后保持打开并接受数据,直到客户端断开连接,此时 stdin 已关闭并保持关闭,直到容器重启为止。如果此标志为 false,则从 stdin 读取的容器进程永远不会收到 EOF。默认为 false |
|
| 可选:将容器终止消息写入的文件的路径挂载到容器的文件系统中。编写的消息应当是最终状态,如断言失败消息。如果超过 4096 字节,节点将截断。所有容器的总消息长度将限制为 12kb。默认为 /dev/termination-log。无法更新。 |
|
| 指明应当如何填充终止消息。文件将使用 terminationMessagePath 的内容在成功或失败时填充容器状态消息。如果终止消息文件为空,则 FallbackToLogsOnError 将使用容器日志输出的最后块,并且容器退出并显示错误。日志输出限制为 2048 字节或 80 行,以较小者。默认为 File。无法更新。
可能枚举值:- |
|
| 此容器是否应为自己分配 TTY,也要求 'stdin' 为 true。默认为 false。 |
|
| volumeDevices 是容器要使用的块设备列表。 |
|
| volumeDevice 描述了容器中原始块设备的映射。 |
|
| 要挂载到容器文件系统的 Pod 卷。无法更新。 |
|
| VolumeMount 描述了容器内卷挂载。 |
|
| 容器的工作目录。如果未指定,则将使用容器运行时的默认值,该默认值可能在容器镜像中配置。无法更新。 |
15.1.171. .spec.template.spec.initContainers[].env
- 描述
- 容器中要设置的环境变量列表。无法更新。
- 类型
-
array
15.1.172. .spec.template.spec.initContainers[].env[]
- 描述
- EnvVar 代表容器中存在的环境变量。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 环境变量的名称。必须是 C_IDENTIFIER。 |
|
| 变量引用 $(VAR_NAME)使用容器中之前定义的环境变量以及任何服务环境变量进行扩展。如果无法解析变量,则输入字符串中的引用将保持不变。双引号被缩减为单个 $,它允许转义 $(VAR_NAME)语法:即 " (VAR_NAME) " 将生成字符串 literal "$(VAR_NAME) "。转义的引用永远不会扩展,无论变量是否存在。默认为 ""。 |
|
| EnvVarSource 代表 EnvVar 的值的源。 |
15.1.173. .spec.template.spec.initContainers[].env[].valueFrom
- 描述
- EnvVarSource 代表 EnvVar 的值的源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 从 ConfigMap 中选择一个键。 |
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
|
| SecretKeySelector 选择 Secret 的密钥。 |
15.1.174. .spec.template.spec.initContainers[].env[].valueFrom.configMapKeyRef
- 描述
- 从 ConfigMap 中选择一个键。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要选择的密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap 还是其键 |
15.1.175. .spec.template.spec.initContainers[].env[].valueFrom.fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
15.1.176. .spec.template.spec.initContainers[].env[].valueFrom.resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
15.1.177. .spec.template.spec.initContainers[].env[].valueFrom.secretKeyRef
- 描述
- SecretKeySelector 选择 Secret 的密钥。
- 类型
-
object
- 必填
-
key
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否需要定义 Secret 还是其密钥 |
15.1.178. .spec.template.spec.initContainers[].envFrom
- 描述
- 在容器中填充环境变量的源列表。源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效密钥都会被报告为事件。当多个源中存在键时,与最后一个源关联的值将具有优先权。由带有重复键的 Env 定义的值将具有优先权。无法更新。
- 类型
-
array
15.1.179. .spec.template.spec.initContainers[].envFrom[]
- 描述
- EnvFromSource 代表一组 ConfigMap 的源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。 目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。 |
|
| 要添加到 ConfigMap 中每个键的可选标识符。必须是 C_IDENTIFIER。 |
|
| SecretEnvSource 选择一个 Secret 来填充环境变量。 目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。 |
15.1.180. .spec.template.spec.initContainers[].envFrom[].configMapRef
- 描述
ConfigMapEnvSource 选择一个 ConfigMap 来填充环境变量。
目标 ConfigMap 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 ConfigMap |
15.1.181. .spec.template.spec.initContainers[].envFrom[].secretRef
- 描述
SecretEnvSource 选择一个 Secret 来填充环境变量。
目标 Secret 的 Data 字段的内容将作为环境变量表示键值对。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 指定是否必须定义 Secret |
15.1.182. .spec.template.spec.initContainers[].lifecycle
- 描述
- lifecycle 描述了管理系统响应容器生命周期事件应执行的操作。对于 PostStart 和 PreStop 生命周期处理程序,容器块的管理直到操作完成,除非容器进程失败,在这种情况下,处理程序会被中止。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
|
| LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。 |
15.1.183. .spec.template.spec.initContainers[].lifecycle.postStart
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
15.1.184. .spec.template.spec.initContainers[].lifecycle.postStart.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.185. .spec.template.spec.initContainers[].lifecycle.postStart.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.186. .spec.template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.187. .spec.template.spec.initContainers[].lifecycle.postStart.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.188. .spec.template.spec.initContainers[].lifecycle.postStart.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
15.1.189. .spec.template.spec.initContainers[].lifecycle.postStart.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.190. .spec.template.spec.initContainers[].lifecycle.preStop
- 描述
- LifecycleHandler 定义应在生命周期 hook 中执行的操作。除 TCPSocket 外,只能指定其中一个字段。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| SleepAction 描述了"休眠"操作。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
15.1.191. .spec.template.spec.initContainers[].lifecycle.preStop.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.192. .spec.template.spec.initContainers[].lifecycle.preStop.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.193. .spec.template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.194. .spec.template.spec.initContainers[].lifecycle.preStop.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.195. .spec.template.spec.initContainers[].lifecycle.preStop.sleep
- 描述
- SleepAction 描述了"休眠"操作。
- 类型
-
object
- 必填
-
SECONDS
-
属性 | 类型 | 描述 |
---|---|---|
|
| seconds 是睡眠的秒数。 |
15.1.196. .spec.template.spec.initContainers[].lifecycle.preStop.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.197. .spec.template.spec.initContainers[].livenessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.198. .spec.template.spec.initContainers[].livenessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.199. .spec.template.spec.initContainers[].livenessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.200. .spec.template.spec.initContainers[].livenessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.201. .spec.template.spec.initContainers[].livenessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
15.1.202. .spec.template.spec.initContainers[].livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.203. .spec.template.spec.initContainers[].livenessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.204. .spec.template.spec.initContainers[].ports
- 描述
- 从容器公开的端口列表。这里没有指定端口不会阻止公开该端口。所有正在侦听容器内默认"0.0.0.0"地址的端口均可从网络访问。使用策略合并补丁修改阵列可能会破坏数据。如需更多信息,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
- 类型
-
数组
15.1.205. .spec.template.spec.initContainers[].ports[]
- 描述
- containerPort 代表单个容器中的网络端口。
- 类型
-
object
- 必填
-
containerPort
-
属性 | 类型 | 描述 |
---|---|---|
|
| pod IP 地址上公开的端口号。这必须是有效的端口号 0 < x < 65536。 |
|
| 将外部端口绑定到的主机 IP。 |
|
| 主机上公开的端口号。如果指定,这必须是有效的端口号 0 < x < 65536。如果指定了 HostNetwork,它必须与 ContainerPort 匹配。大多数容器都不需要这样做。 |
|
| 如果指定,这必须是 IANA_SVC_NAME,在 pod 中唯一。pod 中的每个命名端口都必须具有唯一的名称。服务可以引用的端口的名称。 |
|
| 端口的协议。必须是 UDP、TCP 或 SCTP。默认为 "TCP"。
可能枚举值: - |
15.1.206. .spec.template.spec.initContainers[].readinessProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.207. .spec.template.spec.initContainers[].readinessProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.208. .spec.template.spec.initContainers[].readinessProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.209. .spec.template.spec.initContainers[].readinessProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.210. .spec.template.spec.initContainers[].readinessProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
数组
15.1.211. .spec.template.spec.initContainers[].readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.212. .spec.template.spec.initContainers[].readinessProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.213. .spec.template.spec.initContainers[].resizePolicy
- 描述
- 容器的资源重新定义策略。
- 类型
-
array
15.1.214. .spec.template.spec.initContainers[].resizePolicy[]
- 描述
- ContainerResizePolicy 代表容器的资源重新定义策略。
- 类型
-
object
- 必填
-
resourceName
-
restartPolicy
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此资源重新定义策略应用到的资源的名称。支持的值有:cpu、memory。 |
|
| 在指定资源调整大小时,重启策略会被应用。如果没有指定,则默认为 NotRequired。 |
15.1.215. .spec.template.spec.initContainers[].resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 |
|
| ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 |
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
15.1.216. .spec.template.spec.initContainers[].resources.claims
- 描述
claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。它只能为容器设置。
- 类型
-
array
15.1.217. .spec.template.spec.initContainers[].resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 |
15.1.218. .spec.template.spec.initContainers[].securityContext
- 描述
- securityContext 包含要应用到容器的安全配置。SecurityContext 和 PodSecurityContext 中都存在一些字段。当两者都被设置时,SecurityContext 中的值将具有优先权。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| allowPrivilegeEscalation 控制进程是否可以比其父进程获得更多特权。此 bool 直接控制容器进程上是否设置了 no_new_privs 标志。当容器是 : 1)作为 CAP_SYS_ADMIN 具有 CAP_SYS_ADMIN 时,allowPrivilegeEscalation 始终为 true,请注意,当 spec.os.name 是 windows 时,不能设置此字段。 |
|
| 从正在运行的容器中添加和移除 POSIX 功能。 |
|
| 以特权模式运行容器。特权容器中的进程本质上等同于主机上的 root。默认为false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| procMount 表示用于容器的 proc 挂载类型。默认为 DefaultProcMount,它将容器运行时默认值用于只读路径和屏蔽的路径。这要求启用 ProcMountType 功能标记。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 此容器是否具有只读 root 文件系统。默认为 false。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
15.1.219. .spec.template.spec.initContainers[].securityContext.capabilities
- 描述
- 从正在运行的容器中添加和移除 POSIX 功能。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 添加了功能 |
|
| 删除的功能 |
15.1.220. .spec.template.spec.initContainers[].securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
15.1.221. .spec.template.spec.initContainers[].securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
15.1.222. .spec.template.spec.initContainers[].securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
15.1.223. .spec.template.spec.initContainers[].startupProbe
- 描述
- probe 描述要针对容器执行的健康检查,以确定它是否处于活动状态或准备好接收流量。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ExecAction 描述了 "run in container" 操作。 |
|
| 在成功后,探测被视为失败的最小连续失败。默认值为 3。最小值为 1。 |
|
| GRPC 指定涉及 GRPC 端口的操作。 |
|
| HTTPGetAction 描述了基于 HTTP Get 请求的操作。 |
|
| 容器启动存活度探测前的秒数。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
|
| 执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。 |
|
| 在失败后,探测至少连续成功会被视为成功。默认为 1。对于存活度和启动,必须为 1。最小值为 1。 |
|
| TCPSocketAction 描述了基于打开套接字的操作 |
|
| pod 在探测失败时安全终止所需的可选持续时间(以秒为单位)。宽限期是 pod 中运行的进程发送终止信号和进程被强制停止使用 kill 信号的时间(以秒为单位)。为您的进程设置这个值超过预期清理时间。如果这个值是 nil,则使用 pod 的 terminationGracePeriodSeconds。否则,这个值会覆盖 pod 规格提供的值。值必须是非负整数。值为零表示立即通过终止信号停止(没有关闭的机会)。这是一个 beta 字段,需要启用 ProbeTerminationGracePeriod 功能门。如果未设置,则使用最小值为 1. spec.terminationGracePeriodSeconds。 |
|
| 探测超时的秒数。默认值为 1 秒。最小值为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
15.1.224. .spec.template.spec.initContainers[].startupProbe.exec
- 描述
- ExecAction 描述了 "run in container" 操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 命令是在容器内执行的命令行,而 命令的工作目录是容器文件系统中的 root ('/')。命令只是 exec'd,它不会在 shell 中运行,因此传统的 shell 指令('|' 等)将无法工作。要使用 shell,您需要明确调用该 shell。0 的退出状态被视为 live/healthy,非零不健康。 |
15.1.225. .spec.template.spec.initContainers[].startupProbe.grpc
- 描述
- GRPC 指定涉及 GRPC 端口的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| gRPC 服务的端口号。number 必须在 1 到 65535 之间。 |
|
| service 是要放入 gRPC HealthCheckRequest 中的服务名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。 如果没有指定,则默认行为由 gRPC 定义。 |
15.1.226. .spec.template.spec.initContainers[].startupProbe.httpGet
- 描述
- HTTPGetAction 描述了基于 HTTP Get 请求的操作。
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要连接到的主机名,默认为 pod IP。您可能想在 httpHeaders 中设置"主机"。 |
|
| 在请求中设置的自定义标头。HTTP 允许重复的标头。 |
|
| HTTPHeader 描述了在 HTTP 探测中使用的自定义标头 |
|
| 在 HTTP 服务器上访问的路径。 |
| 用于访问容器的端口的名称或编号。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 | |
|
| 用于连接到主机的方案。默认为 HTTP。
可能枚举值: - |
15.1.227. .spec.template.spec.initContainers[].startupProbe.httpGet.httpHeaders
- 描述
- 在请求中设置的自定义标头。HTTP 允许重复的标头。
- 类型
-
array
15.1.228. .spec.template.spec.initContainers[].startupProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader 描述了在 HTTP 探测中使用的自定义标头
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 标头字段名称。这将在输出时规范,因此理解 case-variant 名称与相同的标头一样。 |
|
| 标头字段值 |
15.1.229. .spec.template.spec.initContainers[].startupProbe.tcpSocket
- 描述
- TCPSocketAction 描述了基于打开套接字的操作
- 类型
-
object
- 必填
-
port
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:要连接到的主机名,默认为 pod IP。 |
| 用于访问容器的端口的编号或名称。number 必须在 1 到 65535 之间。名称必须是 IANA_SVC_NAME。 |
15.1.230. .spec.template.spec.initContainers[].volumeDevices
- 描述
- volumeDevices 是容器要使用的块设备列表。
- 类型
-
array
15.1.231. .spec.template.spec.initContainers[].volumeDevices[]
- 描述
- volumeDevice 描述了容器中原始块设备的映射。
- 类型
-
object
- 必填
-
name
-
devicePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| DevicePath 是该设备要映射到的容器内的路径。 |
|
| name 必须与 pod 中 persistentVolumeClaim 的名称匹配 |
15.1.232. .spec.template.spec.initContainers[].volumeMounts
- 描述
- 要挂载到容器文件系统的 Pod 卷。无法更新。
- 类型
-
array
15.1.233. .spec.template.spec.initContainers[].volumeMounts[]
- 描述
- VolumeMount 描述了容器内卷挂载。
- 类型
-
object
- 必填
-
name
-
mountPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 应挂载卷的容器中的路径。不得包含 ':'。 |
|
| mountPropagation 决定挂载如何从主机传播到容器以及反向传播。如果没有设置,则使用 MountPropagationNone。此字段在 1.10 中是 beta。
可能枚举值: - |
|
| 这必须与卷的 Name 匹配。 |
|
| 如果为 true,则以只读方式挂载,否则读写(false 或未指定)。默认为false。 |
|
| 应从中挂载容器卷的卷中的路径。默认为 "" (卷的 root)。 |
|
| 在应该挂载容器卷的卷中扩展路径。行为与 SubPath 类似,但环境变量引用 $(VAR_NAME)使用容器的环境扩展。默认为 "" (卷的 root)。SubPathExpr 和 SubPath 是互斥的。 |
15.1.234. .spec.template.spec.os
- 描述
- PodOS 定义 pod 的 OS 参数。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是操作系统的名称。当前支持的值有 linux 和 windows。以后可以定义额外的值,可以是: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration 客户端应该预期处理额外的值,并将此字段中未识别的值视为 os: null |
15.1.235. .spec.template.spec.readinessGates
- 描述
- 如果指定,则会针对 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
- 类型
-
array
15.1.236. .spec.template.spec.readinessGates[]
- 描述
- PodReadinessGate 包含对 pod 条件的引用
- 类型
-
object
- 必填
-
conditionType
-
属性 | 类型 | 描述 |
---|---|---|
|
| conditionType 指的是 pod 条件列表中具有匹配类型的条件。 |
15.1.237. .spec.template.spec.resourceClaims
- 描述
ResourceClaims 定义在 Pod 允许启动前必须分配和保留哪些 ResourceClaims。资源将提供给那些按名称消耗它们的容器。
这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。
此字段不可变。
- 类型
-
array
15.1.238. .spec.template.spec.resourceClaims[]
- 描述
- PodResourceClaim 通过 ClaimSource 只引用一个 ResourceClaim。它添加一个名称,用于唯一标识 Pod 中的 ResourceClaim。需要访问 ResourceClaim 的容器使用此名称来引用它。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 在 pod 中唯一标识此资源声明的名称。这必须是 DNS_LABEL。 |
|
| ClaimSource 描述了对 ResourceClaim 的引用。 应设置这些字段中的一个。此类型的消费者必须将空对象视为未知值。 |
15.1.239. .spec.template.spec.resourceClaims[].source
- 描述
ClaimSource 描述了对 ResourceClaim 的引用。
应设置这些字段中的一个。此类型的消费者必须将空对象视为未知值。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ResourceClaimName 是与这个 pod 相同的命名空间中的 ResourceClaim 对象的名称。 |
|
| ResourceClaimTemplateName 是与这个 pod 相同的命名空间中的 ResourceClaimTemplate 对象的名称。 该模板将用于创建新的 ResourceClaim,它将绑定到此容器集。删除此 pod 时,ResourceClaim 也会被删除。pod 名称和资源名称以及生成的组件将用于组成 ResourceClaim 的唯一名称,它将记录在 pod.status.resourceClaimStatuses 中。 此字段不可变,在创建 ResourceClaim 后 control plane 将不会对对应的 ResourceClaim 进行任何更改。 |
15.1.240. .spec.template.spec.schedulingGates
- 描述
SchedulingGates 是不透明的值列表,如果指定,它将阻止调度 pod。如果 schedulingGates 不为空,pod 将保持在 SchedulingGated 状态,调度程序不会尝试调度 pod。
SchedulingGates 只能在 pod 创建时设置,之后才能被删除。
这是 PodSchedulingReadiness 功能门启用的 beta 功能。
- 类型
-
array
15.1.241. .spec.template.spec.schedulingGates[]
- 描述
- PodSchedulingGate 与 Pod 关联,以保护其调度。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 调度最低要求的名称。每个调度最低要求都必须有一个唯一的 name 字段。 |
15.1.242. .spec.template.spec.securityContext
- 描述
- PodSecurityContext 包含 pod 级别的安全属性和通用容器设置。container.securityContext 中也存在一些字段。container.securityContext 的字段值优先于 PodSecurityContext 的字段值。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 适用于 pod 中所有容器的特殊补充组。有些卷类型允许 Kubelet 将该卷的所有权更改为由 pod 所有: 1.拥有的 GID 为 FSGroup 2。设置 setgid 位(卷中创建的新文件将归 FSGroup 所有)3。权限位是 OR'd with rw-rw--- 如果未设置,Kubelet 不会修改任何卷的所有权和权限。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| fsGroupChangePolicy 定义在 Pod 内公开卷之前更改卷的所有权和权限的行为。此字段将只适用于支持基于 fsGroup 的所有权(和权限)的卷类型。它对临时卷类型没有影响,如 secret、configmap 和 emptydir。有效值为 "OnRootMismatch" 和 "Always"。如果没有指定,则使用 "Always"。请注意,当 spec.os.name 是 windows 时无法设置此字段。
可能枚举值: - |
|
| 用于运行容器进程的入口点的 GID。如果未设置,则使用运行时默认。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| 表示容器必须以非 root 用户身份运行。如果为 true,Kubelet 将在运行时验证镜像,以确保它不作为 UID 0 (root)运行,如果容器这样做,则无法启动容器。如果未设置或 false,则不会执行这样的验证。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
|
| 用于运行容器进程的入口点的 UID。如果未指定,则默认为在镜像元数据中指定的用户。还可能会在 SecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值优先于该容器。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| seLinuxOptions 是要应用到容器的标签 |
|
| SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。 |
|
| 应用到每个容器中的第一个进程的组列表,以及容器的主 GID、fsGroup (如果指定)以及容器镜像中定义的组成员资格,用于容器进程的 uid。如果未指定,则不会将其他组添加到任何容器中。请注意,容器进程的 uid 中定义的组成员资格仍然有效,即使它们没有包含在此列表中。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。 |
|
| sysctl 定义要设置的内核参数 |
|
| WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。 |
15.1.243. .spec.template.spec.securityContext.seLinuxOptions
- 描述
- seLinuxOptions 是要应用到容器的标签
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| level 是适用于容器的 SELinux 级别标签。 |
|
| role 是适用于容器的 SELinux 角色标签。 |
|
| type 是适用于容器的 SELinux 类型标签。 |
|
| user 是适用于容器的 SELinux 用户标签。 |
15.1.244. .spec.template.spec.securityContext.seccompProfile
- 描述
- SeccompProfile 定义 pod/容器的 seccomp 配置集设置。只能设置一个配置文件源。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| localhostProfile 表示应使用节点上文件中定义的配置集。该配置集必须在节点上预先配置才能正常工作。必须是一个降序路径,相对于 kubelet 配置的 seccomp 配置集位置。如果类型为"Localhost",则必须设置。不得为任何其他类型设置。 |
|
| Type 表示将应用了哪些 seccomp 配置集。有效选项有: localhost - 应该使用节点上文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置集。unconfined - 不应应用配置集。
可能枚举值: - |
15.1.245. .spec.template.spec.securityContext.sysctls
- 描述
- sysctl 包含用于 pod 的命名空间 sysctl 列表。带有不支持 sysctl (容器运行时)的 Pod 可能无法启动。请注意,当 spec.os.name 是 windows 时无法设置此字段。
- 类型
-
数组
15.1.246. .spec.template.spec.securityContext.sysctls[]
- 描述
- sysctl 定义要设置的内核参数
- 类型
-
object
- 必填
-
name
-
value
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要设置的属性的名称 |
|
| 要设置的属性值 |
15.1.247. .spec.template.spec.securityContext.windowsOptions
- 描述
- WindowsSecurityContextOptions 包含特定于 Windows 的选项和凭证。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| GMSACredentialSpec 是 GMSA 准入 Webhook (https://github.com/kubernetes-sigs/windows-gmsa)内联由 GMSACredentialSpec 命名的 GMSA 凭证规格的内容。 |
|
| GMSACredentialSpecName 是要使用的 GMSA 凭证规格的名称。 |
|
| HostProcess 确定容器是否应作为"主机进程"容器运行。所有 Pod 的容器都必须具有相同的有效的 HostProcess 值(不允许混合 HostProcess 容器和非主机进程容器)。另外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。 |
|
| Windows 中的 UserName,以运行容器进程的入口点。如果未指定,则默认为在镜像元数据中指定的用户。也可以在 PodSecurityContext 中设置。如果在 SecurityContext 和 PodSecurityContext 中设置,则 SecurityContext 中指定的值具有优先权。 |
15.1.248. .spec.template.spec.tolerations
- 描述
- 如果指定,pod 的容限。
- 类型
-
数组
15.1.249. .spec.template.spec.tolerations[]
- 描述
- 此 Toleration 附加到 pod,以使用匹配的 operator <operator> 容许与 triple <key,value,effect> 匹配的任何污点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| effect 表示要匹配的污点效果。空意味着匹配所有污点效果。指定后,允许的值为 NoSchedule,PreferNoSchedule 和 NoExecute。
可能枚举值: - |
|
| key 是容限应用到的污点键。empty 表示与所有污点键匹配。如果键为空,则必须存在运算符;组合意味着匹配所有值和所有键。 |
|
| Operator 代表键与值的关系。有效的运算符是 Exists 和 Equal。默认值为 Equal。exists 等同于值的通配符,以便 pod 可以容忍特定类别的所有污点。
可能枚举值: - |
|
| tolerationSeconds 代表容限的期间(必须生效 NoExecute,否则此字段将被忽略)可以容忍污点。默认情况下,它不会被设置,这意味着容许任何污点(不要驱除)。零值和负值将被视为 0 (立即删除)。 |
|
| value 是容限匹配的污点值。如果运算符是 Exists,则该值应该为空,否则仅是一个常规字符串。 |
15.1.250. .spec.template.spec.topologySpreadConstraints
- 描述
- topologySpreadConstraints 描述了一组如何在拓扑域间分布的 pod。调度程序将按约束来调度 pod。所有 topologySpreadConstraints 都是 AND。
- 类型
-
数组
15.1.251. .spec.template.spec.topologySpreadConstraints[]
- 描述
- TopologySpreadConstraint 指定如何在给定的拓扑中分布匹配的 pod。
- 类型
-
object
- 必填
-
maxSkew
-
topologyKey
-
whenUnsatisfiable
-
属性 | 类型 | 描述 |
---|---|---|
| labelSelector 用于查找匹配的 pod。与此标签选择器匹配的 Pod 被计算,以确定其对应拓扑域中的 pod 数量。 | |
|
| matchLabelKeys 是一组 pod 标签键,用于选择要在其中计算分布的 pod。这些键用于从传入的 pod 标签中查找值,这些键值标签由 labelSelector 匹配,以选择现有 pod 的组,用于为传入的 pod 计算。匹配键被禁止在 MatchLabelKeys 和 LabelSelector 中。当 LabelSelector 没有设置时,无法设置 matchLabelKeys。传入的 pod 标签中不存在的键将被忽略。null 或空列表表示仅与 labelSelector 匹配。 这是一个 beta 字段,需要启用 MatchLabelKeysInPodTopologySpread 功能门(默认启用)。 |
|
|
maxSkew 描述了 pod 可能没有被均匀分布的程度。当 |
|
| MinDomains 表示合格的域数量。当具有匹配拓扑键的合格域数量小于 minDomains 时,Pod Topology Spread 会将"global minimum"视为 0,然后执行 Skew 的计算。当匹配拓扑键等于或大于 minDomains 的合格域数量时,这个值不会影响调度。因此,当有资格的域数量小于 minDomains 时,调度程序不会将超过 maxSkew Pod 的调度到这些域。如果值为 nil,则约束的行为就像 MinDomains 等于 1 一样。有效值为大于 0 的整数。如果值不是 nil,WhenUnsatisfiable 必须是 DoNotSchedule。 例如,在一个 3 个区集群中,MaxSkew 设置为 2,MinDomains 被设置为 5,且带有与 2/2/2: | zone1 | zone2 | zone2 | zone2 | zone3 | P P | P | P P | P P | P P | P P | 数量的域的数量小于 5 (MinDomains),因此"global minimum"被视为 0。在这种情况下,如果新 Pod 调度到任何三个区域,则无法调度具有相同 labelSelector 的新 pod,因为 computed skew 将为 3 (3 - 0),它将违反 MaxSkew。 这是一个 beta 字段,需要启用 MinDomainsInPodTopologySpread 功能门(默认启用)。 |
|
| NodeAffinityPolicy 表示在计算 pod 拓扑分布偏移时,我们将如何处理 Pod 的 nodeAffinity/nodeSelector。选项为:- Honor:只有与 nodeAffinity/nodeSelector 匹配的节点才会包含在计算中。- Ignore: nodeAffinity/nodeSelector 会被忽略。所有节点都包含在计算中。 如果这个值是 nil,则行为等同于 Honor 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。
可能枚举值:- |
|
| NodeTaintsPolicy 指示在计算 pod 拓扑分布偏移时如何对待节点污点。选项为:- Honor: 没有污点的节点,以及传入的 pod 具有容限的污点节点。- Ignore: node taint are ignored.所有节点都包括在内。 如果这个值是 nil,则行为等同于 Ignore 策略。这是 NodeInclusionPolicyInPodTopologySpread 功能默认启用的 beta 级别功能。
可能枚举值:- |
|
| topologyKey 是节点标签的密钥。带有具有此键和相同值标签的节点被视为在同一拓扑中。我们把每个 <key, value> 视为 "bucket",并尝试将均衡的 pod 数量放在每个存储桶中。我们将域定义为拓扑的特定实例。另外,我们将一个有资格的域定义为节点满足 nodeAffinityPolicy 和 nodeTaintsPolicy 的要求的域。例如,如果 TopologyKey 为 "kubernetes.io/hostname",则每个节点都是该拓扑的域。如果 TopologyKey 是 "topology.kubernetes.io/zone",每个区都是该拓扑的域。这是必填字段。 |
|
| whenUnsatisfiable 表示如何在不满足分散约束的情况下处理 pod。- DoNotSchedule (default)告知调度程序不调度它。- ScheduleAnyway 告知调度程序将 pod 调度到任何位置,但为拓扑赋予更高优先级,有助于减少偏差。如果每个可能的节点分配都会在某些拓扑上违反"MaxSkew",则约束被视为"不satisfiable"。例如,在一个 3 区集群中,MaxSkew 设置为 1,而具有与 3/1/1: | zone1 | zone2 | zone2 | zone3 | P P | P | P | P | P | P | P | P | P | WhenUnsatisfiable 设置为 DoNotSchedule 的 pod 只能调度到 zone2 (zone3)要成为 3/2/1 (3/1/2),在 zone2 (zone3)中以 ActualSkew (2-1)满足 MaxSkew (1)。换句话说,集群仍然可以实现平衡,但调度程序不会使其更不平衡。这是必填字段。
可能枚举值:- |
15.1.252. .spec.template.spec.volumes
- 描述
- 可以通过属于 pod 的容器挂载的卷列表。更多信息: https://kubernetes.io/docs/concepts/storage/volumes
- 类型
-
数组
15.1.253. .spec.template.spec.volumes[]
- 描述
- 卷代表 pod 中的指定卷,可以被 pod 中的任何容器访问。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 代表 AWS 中的持久磁盘资源。 在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。 |
|
| azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。 |
|
| azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。 |
|
| 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。 |
|
| 将 ConfigMap 调整为卷。 目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名,除非 items 元素使用到路径的特定映射填充。ConfigMap 卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表要挂载的卷的源位置,由外部 CSI 驱动程序管理 |
|
| DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。 |
|
| 表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表由普通存储驱动程序处理的临时卷。 |
|
| 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。 |
|
| FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。 |
|
| 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Google Compute Engine 中的 Persistent Disk 资源。 挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。 |
|
| 代表填充 git 存储库内容的卷。Git 存储库卷不支持所有权管理。Git 存储库卷支持 SELinux 重新标记。 DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。 |
|
| 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。 |
|
| 卷的名称。必须是 DNS_LABEL,且必须在 pod 中唯一。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 基本上是一个由其他人(系统)拥有的另一个类型的卷的打包程序。 |
|
| 代表 Photon Controller 持久磁盘资源。 |
|
| PortworxVolumeSource 代表 Portworx 卷资源。 |
|
| 代表投射卷源 |
|
| 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。 |
|
| ScaleIOVolumeSource 代表持久的 ScaleIO 卷 |
|
| 将 Secret 调整为卷。 目标 Secret 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名。机密卷支持所有权管理和 SELinux 重新标记。 |
|
| 代表 StorageOS 持久性卷资源。 |
|
| 代表 vSphere 卷资源。 |
15.1.254. .spec.template.spec.volumes[].awsElasticBlockStore
- 描述
代表 AWS 中的持久磁盘资源。
在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。 |
|
| readonly 值 true 将强制 VolumeMount 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| VolumeId 是 AWS (Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
15.1.255. .spec.template.spec.volumes[].azureDisk
- 描述
- azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
diskName
-
diskURI
-
属性 | 类型 | 描述 |
---|---|---|
|
| cachingMode 是主机缓存模式: None、Read Only、Read Write。
可能枚举值: - |
|
| diskname 是 blob 存储中的数据磁盘的 Name |
|
| diskURI 是 blob 存储中的数据磁盘的 URI |
|
| fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| kind 预期值为 Shared: 每个存储帐户 Dedicated 有多个 blob 磁盘:每个存储帐户 Managed: azure managed data disk (only on managed availability set). 默认为 shared
可能枚举值: - |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
15.1.256. .spec.template.spec.volumes[].azureFile
- 描述
- azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
secretName
-
shareName
-
属性 | 类型 | 描述 |
---|---|---|
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称 |
|
| sharename 是 azure 共享名称 |
15.1.257. .spec.template.spec.volumes[].cephfs
- 描述
- 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
属性 | 类型 | 描述 |
---|---|---|
|
| monitor 是必需的: monitor 是 Ceph 监视器更多信息的集合: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| 路径为可选:作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 / |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| secretfile 为 Optional: SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息 :https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| User 是可选的:用户是 rados 用户名,默认为 admin 更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
15.1.258. .spec.template.spec.volumes[].cephfs.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.259. .spec.template.spec.volumes[].cinder
- 描述
- 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| 用于识别 cinder 中的卷的 VolumeId。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
15.1.260. .spec.template.spec.volumes[].cinder.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.261. .spec.template.spec.volumes[].configMap
- 描述
将 ConfigMap 调整为卷。
目标 ConfigMap 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名,除非 items 元素使用到路径的特定映射填充。ConfigMap 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是可选的:默认用于在创建的文件上设置权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选指定是否必须定义 ConfigMap 还是其键 |
15.1.262. .spec.template.spec.volumes[].configMap.items
- 描述
- 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
数组
15.1.263. .spec.template.spec.volumes[].configMap.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
15.1.264. .spec.template.spec.volumes[].csi
- 描述
- 代表要挂载的卷的源位置,由外部 CSI 驱动程序管理
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是处理此卷的 CSI 驱动程序的名称。请参考您的 admin,了解集群中注册的正确名称。 |
|
| 要挂载的 fstype。Ex. "ext4", "xfs", "ntfs".如果没有提供,则会将空值传递给关联的 CSI 驱动程序,该驱动程序将决定要应用的默认文件系统。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| readonly 为卷指定只读配置。默认为 false (读/写)。 |
|
| volumeAttributes 存储传递给 CSI 驱动程序的驱动程序特定属性。有关支持的值,请参阅驱动程序的文档。 |
15.1.265. .spec.template.spec.volumes[].csi.nodePublishSecretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.266. .spec.template.spec.volumes[].downwardAPI
- 描述
- DownwardAPIVolumeSource 代表包含 Downward API 信息的卷。Downward API 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 可选:默认在创建的文件上使用模式位。必须是 Optional: 模式位,用于默认对创建的文件设置权限。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| items 是 Downward API 卷文件的列表 |
|
| DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息 |
15.1.267. .spec.template.spec.volumes[].downwardAPI.items
- 描述
- items 是 Downward API 卷文件的列表
- 类型
-
array
15.1.268. .spec.template.spec.volumes[].downwardAPI.items[]
- 描述
- DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| 可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
15.1.269. .spec.template.spec.volumes[].downwardAPI.items[].fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
15.1.270. .spec.template.spec.volumes[].downwardAPI.items[].resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
15.1.271. .spec.template.spec.volumes[].emptyDir
- 描述
- 表示 pod 的空目录。空目录卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Medium 代表存储介质类型应支持这个目录。默认值为 "",这意味着使用节点的默认介质。必须是空字符串(默认)或 Memory。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
| sizeLimit 是这个 EmptyDir 卷所需的本地存储总量。大小限制也适用于内存介质。内存用量的最大使用量为此处指定的 SizeLimit 和 pod 中所有容器的内存限值总和。默认值为 nil,这意味着限制未定义。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
15.1.272. .spec.template.spec.volumes[].ephemeral
- 描述
- 代表由普通存储驱动程序处理的临时卷。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。 |
15.1.273. .spec.template.spec.volumes[].ephemeral.volumeClaimTemplate
- 描述
- PersistentVolumeClaimTemplate 用于生成 PersistentVolumeClaim 对象,作为 EphemeralVolumeSource 的一部分。
- 类型
-
object
- 必填
-
spec
-
属性 | 类型 | 描述 |
---|---|---|
| 可能包含创建 PVC 时将复制到 PVC 的标签和注解。不允许其他字段,并在验证过程中被拒绝。 | |
|
| PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性 |
15.1.274. .spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec
- 描述
- PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
|
| TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。 |
|
| 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
|
| VolumeResourceRequirements 描述了卷的存储资源要求。 |
| selector 是要考虑绑定的卷的标签查询。 | |
|
| storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
|
| volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用对应的 VolumeAttributesClass 中定义的属性创建或更新卷。这有一个不同于 storageClassName 的目的,可在创建声明后更改。空字符串表示,不会将 VolumeAttributesClass 应用到声明,但不允许在设置后将此字段重置为空字符串。如果未指定,并且 PersistentVolumeClaim 为 unbound,则 persistentvolume 控制器将设置默认的 VolumeAttributesClass (如果存在)。如果 volumeAttributesClass 引用的资源不存在,则这个 PersistentVolumeClaim 将被设置为 Pending 状态,如 modifyVolumeStatus 字段反映,直到资源存在为止。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha)使用此字段需要启用 VolumeAttributesClass 功能门。 |
|
| volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。
可能枚举值: - |
|
| volumeName 是对此声明支持的 PersistentVolume 的绑定引用。 |
15.1.275. .spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource
- 描述
- TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型 |
|
| name 是被引用的资源的名称 |
15.1.276. .spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef
- 描述
- 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
- 类型
-
object
- 必填
-
kind
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 |
|
| kind 是被引用的资源类型 |
|
| name 是被引用的资源的名称 |
|
| 命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。 |
15.1.277. .spec.template.spec.volumes[].ephemeral.volumeClaimTemplate.spec.resources
- 描述
- VolumeResourceRequirements 描述了卷的存储资源要求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
15.1.278. .spec.template.spec.volumes[].fc
- 描述
- 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| LUN 是可选的:FC 目标 lun 号 |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| targetWWNs 是可选:FC 目标全球名称(WWN) |
|
| wwids 可选:FC 卷全局范围标识符(wwids) Either wwids 或 targetWWN 和 lun 的组合必须被设置,但不能同时设置。 |
15.1.279. .spec.template.spec.volumes[].flexVolume
- 描述
- FlexVolume 代表使用基于 exec 的插件置备的/附加的通用卷资源。
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是用于此卷的驱动程序的名称。 |
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认文件系统依赖于 FlexVolume 脚本。 |
|
| 选项为 Optional:此字段包含额外的命令选项(若有)。 |
|
| readonly 为 Optional: 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
15.1.280. .spec.template.spec.volumes[].flexVolume.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.281. .spec.template.spec.volumes[].flocker
- 描述
- 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| datasetName 是数据存储为 Flocker dataset 上的 metadata → name 的 Name,应被视为已弃用 |
|
| datasetUUID 是 dataset 的 UUID。这是 Flocker 数据集的唯一标识符 |
15.1.282. .spec.template.spec.volumes[].gcePersistentDisk
- 描述
代表 Google Compute Engine 中的 Persistent Disk 资源。
挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
pdName
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| pdName 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
15.1.283. .spec.template.spec.volumes[].gitRepo
- 描述
代表填充 git 存储库内容的卷。Git 存储库卷不支持所有权管理。Git 存储库卷支持 SELinux 重新标记。
DEPRECATED: GitRepo 已被弃用。要使用 git 存储库置备容器,请将 EmptyDir 挂载到使用 git 克隆存储库的 InitContainer 中,然后将 EmptyDir 挂载到 Pod 的容器中。
- 类型
-
object
- 必填
-
软件仓库
-
属性 | 类型 | 描述 |
---|---|---|
|
| directory 是目标目录名称。不得包含或以 '..' 开头。如果提供了 '.',则卷目录将是 git 存储库。否则,如果指定,卷将在带有给定名称的子目录中包含 git 存储库。 |
|
| repository 是 URL |
|
| revision 是指定修订版本的提交哈希。 |
15.1.284. .spec.template.spec.volumes[].glusterfs
- 描述
- 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
端点
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| Endpoints 是 Glusterfs 拓扑的详细信息的端点名称。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| path 是 Glusterfs 卷路径。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| 此处的 readonly 将强制 Glusterfs 卷以只读权限挂载。默认为false。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
15.1.285. .spec.template.spec.volumes[].hostPath
- 描述
- 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 主机上目录的路径。如果路径是符号链接,它将遵循指向实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
|
| HostPath Volume 默认为 "" 更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
可能枚举值:- |
15.1.286. .spec.template.spec.volumes[].iscsi
- 描述
- 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
targetPortal
-
iqn
-
lun
-
属性 | 类型 | 描述 |
---|---|---|
|
| chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证 |
|
| chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证 |
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
|
| initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。 |
|
| IQN 是目标 iSCSI 限定名称。 |
|
| iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。 |
|
| LUN 表示 iSCSI 目标 Lun 编号。 |
|
| 门户是 iSCSI 目标门户列表。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
15.1.287. .spec.template.spec.volumes[].iscsi.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.288. .spec.template.spec.volumes[].nfs
- 描述
- 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
server
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| 此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
15.1.289. .spec.template.spec.volumes[].persistentVolumeClaim
- 描述
- PersistentVolumeClaimVolumeSource 引用同一命名空间中的用户 PVC。此卷找到绑定的 PV,并为 pod 挂载这个卷。PersistentVolumeClaimVolumeSource 基本上是一个由其他人(系统)拥有的另一个类型的卷的打包程序。
- 类型
-
object
- 必填
-
claimName
-
属性 | 类型 | 描述 |
---|---|---|
|
| claimName 是与使用这个卷的 pod 相同的命名空间中的 PersistentVolumeClaim 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
|
| readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认 false。 |
15.1.290. .spec.template.spec.volumes[].photonPersistentDisk
- 描述
- 代表 Photon Controller 持久磁盘资源。
- 类型
-
object
- 必填
-
pdID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| pdID 是标识 Photon Controller 持久磁盘的 ID |
15.1.291. .spec.template.spec.volumes[].portworxVolume
- 描述
- PortworxVolumeSource 代表 Portworx 卷资源。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 代表要挂载的文件系统类型必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| VolumeId 唯一标识 Portworx 卷 |
15.1.292. .spec.template.spec.volumes[].projected
- 描述
- 代表投射卷源
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是默认用于在创建的文件上设置权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| sources 是卷投射列表 |
|
| 可投射以及其他支持的卷类型的预测 |
15.1.293. .spec.template.spec.volumes[].projected.sources
- 描述
- sources 是卷投射列表
- 类型
-
数组
15.1.294. .spec.template.spec.volumes[].projected.sources[]
- 描述
- 可投射以及其他支持的卷类型的预测
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| ClusterTrustBundleProjection 描述了如何选择一组 ClusterTrustBundle 对象,并将其内容项目到 pod 文件系统中。 |
|
| 将 ConfigMap 调整为投射卷。 目标 ConfigMap 的 Data 字段的内容将作为文件显示在项目中,使用 Data 字段中的键作为文件名,除非 items 元素使用到路径的特定映射填充。请注意,这与没有默认模式的 configmap 卷源相同。 |
|
| 代表项目到投射卷的 Downward API 信息。请注意,这与没有默认模式的 downwardAPI 卷源相同。 |
|
| 将 secret 调整为投射卷。 目标 Secret 的 Data 字段的内容将以文件形式显示,以文件形式使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷源相同。 |
|
| ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此预测可用于将服务帐户令牌插入到 pod 运行时文件系统中,以针对 API (Kubernetes API Server 或其他)。 |
15.1.295. .spec.template.spec.volumes[].projected.sources[].clusterTrustBundle
- 描述
- ClusterTrustBundleProjection 描述了如何选择一组 ClusterTrustBundle 对象,并将其内容项目到 pod 文件系统中。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
| 选择与这个标签选择器匹配的所有 ClusterTrustBundles。仅在设置了 signerName 时生效。使用名称互斥器.如果未设置,则解释为"匹配任何内容"。如果设置但为空,则解释为"匹配所有内容"。 | |
|
| 按对象名称选择单个 ClusterTrustBundle。与 signerName 和 labelSelector 相互排斥. |
|
| 如果为 true,如果引用的 ClusterTrustBundle 不可用,则不阻止 pod 启动。如果使用 name,则允许命名 ClusterTrustBundle 不存在。如果使用 signerName,则允许 signerName 和 labelSelector 的组合匹配零 ClusterTrustBundles。 |
|
| 卷根的相对路径以写入捆绑包。 |
|
| 选择与这个签名者名称匹配的所有 ClusterTrustBundles。使用名称互斥器.所有所选 ClusterTrustBundles 的内容将统一并去除重复数据。 |
15.1.296. .spec.template.spec.volumes[].projected.sources[].configMap
- 描述
将 ConfigMap 调整为投射卷。
目标 ConfigMap 的 Data 字段的内容将作为文件显示在项目中,使用 Data 字段中的键作为文件名,除非 items 元素使用到路径的特定映射填充。请注意,这与没有默认模式的 configmap 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选指定是否必须定义 ConfigMap 还是其键 |
15.1.297. .spec.template.spec.volumes[].projected.sources[].configMap.items
- 描述
- 如果未指定,则引用的 ConfigMap 的 Data 字段中每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 ConfigMap 中的键,则卷设置将失败,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
array
15.1.298. .spec.template.spec.volumes[].projected.sources[].configMap.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
15.1.299. .spec.template.spec.volumes[].projected.sources[].downwardAPI
- 描述
- 代表项目到投射卷的 Downward API 信息。请注意,这与没有默认模式的 downwardAPI 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| items 是 DownwardAPIVolume 文件列表 |
|
| DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息 |
15.1.300. .spec.template.spec.volumes[].projected.sources[].downwardAPI.items
- 描述
- items 是 DownwardAPIVolume 文件列表
- 类型
-
array
15.1.301. .spec.template.spec.volumes[].projected.sources[].downwardAPI.items[]
- 描述
- DownwardAPIVolumeFile 代表创建包含 pod 字段的文件的信息
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| ObjectFieldSelector 选择对象的 APIVersioned 字段。 |
|
| 可选:用于设置此文件权限的模式位,必须是 0000 到 0777 之间的数值,或 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 必需:Path 是要创建的文件的相对路径名称。不能是绝对的,也不能包含 '..' 路径。必须经过 utf-8 编码。相对路径的第一个项不能以 '..' 开头。 |
|
| ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式 |
15.1.302. .spec.template.spec.volumes[].projected.sources[].downwardAPI.items[].fieldRef
- 描述
- ObjectFieldSelector 选择对象的 APIVersioned 字段。
- 类型
-
object
- 必填
-
fieldPath
-
属性 | 类型 | 描述 |
---|---|---|
|
| 模式的版本是按术语编写的 FieldPath,默认为 "v1"。 |
|
| 在指定 API 版本中选择的字段路径。 |
15.1.303. .spec.template.spec.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef
- 描述
- ResourceFieldSelector 代表容器资源(cpu、memory)及其输出格式
- 类型
-
object
- 必填
-
resource
-
属性 | 类型 | 描述 |
---|---|---|
|
| 容器名称:卷需要,对于 env vars是可选的 |
| 指定公开资源的输出格式,默认为 "1" | |
|
| 必需:要选择的资源 |
15.1.304. .spec.template.spec.volumes[].projected.sources[].secret
- 描述
将 secret 调整为投射卷。
目标 Secret 的 Data 字段的内容将以文件形式显示,以文件形式使用 Data 字段中的键作为文件名。请注意,这与没有默认模式的 secret 卷源相同。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 可选字段指定是否必须定义 Secret 或其密钥 |
15.1.305. .spec.template.spec.volumes[].projected.sources[].secret.items
- 描述
- 如果未指定,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
数组
15.1.306. .spec.template.spec.volumes[].projected.sources[].secret.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
15.1.307. .spec.template.spec.volumes[].projected.sources[].serviceAccountToken
- 描述
- ServiceAccountTokenProjection 代表投射服务帐户令牌卷。此预测可用于将服务帐户令牌插入到 pod 运行时文件系统中,以针对 API (Kubernetes API Server 或其他)。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 受众是令牌的预期使用者。令牌的接收者必须使用令牌使用者中指定的标识符来识别其自身,否则应拒绝令牌。受众默认为 apiserver 的标识符。 |
|
| expirationSeconds 是服务帐户令牌的请求的有效期。当令牌接近过期时,kubelet 卷插件会主动轮转服务帐户令牌。如果令牌的时间超过 80%,或者令牌早于 24 小时,则 kubelet 将开始尝试轮转令牌。默认为 1 小时,且必须至少为 10 分钟。 |
|
| path 是与文件挂载点相关的路径,用于将令牌放入其中。 |
15.1.308. .spec.template.spec.volumes[].quobyte
- 描述
- 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
registry
-
卷
-
属性 | 类型 | 描述 |
---|---|---|
|
| 将卷访问映射到 Default 的组没有组 |
|
| 此处的 readonly 将强制使用只读权限挂载 Quobyte 卷。默认为false。 |
|
| registry 代表单个或多个 Quobyte Registry 服务,它指定为 host:port 对(多个条目用逗号分开),它充当卷的中央 registry |
|
| 在带有动态置备 Quobyte 卷的后端使用中拥有给定 Quobyte 卷的租户,由插件设置 |
|
| 用户,将卷访问权限映射到 Defaults 到 serivceaccount 用户 |
|
| volume 是按名称引用已创建 Quobyte 卷的字符串。 |
15.1.309. .spec.template.spec.volumes[].rbd
- 描述
- 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
image
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
|
| image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| user 是 rados 用户名。默认为 admin。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
15.1.310. .spec.template.spec.volumes[].rbd.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.311. .spec.template.spec.volumes[].scaleIO
- 描述
- ScaleIOVolumeSource 代表持久的 ScaleIO 卷
- 类型
-
object
- 必填
-
gateway
-
system
-
secretRef
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。默认为 "xfs"。 |
|
| gateway 是 ScaleIO API 网关的主机地址。 |
|
| protectionDomain 是配置存储的 ScaleIO 保护域的名称。 |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| sslEnabled Flag 启用/禁用与网关的 SSL 通信,默认为 false |
|
| storageMode 指示卷的存储是否应 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。 |
|
| StoragePool 是与保护域关联的 ScaleIO 存储池。 |
|
| system 是 ScaleIO 中配置的存储系统的名称。 |
|
| volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。 |
15.1.312. .spec.template.spec.volumes[].scaleIO.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.313. .spec.template.spec.volumes[].secret
- 描述
将 Secret 调整为卷。
目标 Secret 的 Data 字段的内容将作为文件显示在卷中,该文件使用 Data 字段中的密钥作为文件名。机密卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| defaultMode 是可选:默认用于设置创建文件的权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。默认值为 0644。路径中的目录不受此设置的影响。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| 如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。 |
|
| 将字符串键映射到卷中的路径。 |
|
| 可选字段指定是否必须定义 Secret 或其密钥 |
|
| secretName 是要使用的 pod 命名空间中的 secret 名称。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#secret |
15.1.314. .spec.template.spec.volumes[].secret.items
- 描述
- 如果未指定项目,则引用 Secret 的 Data 字段中的每个键值对将投射到卷中,其名称是键,内容是值。如果指定,列出的键将投射到指定的路径中,并且不会出现未列出的键。如果指定了没有存在于 Secret 中的密钥,则卷设置将出错,除非标记为可选。路径必须是相对的,且不能包含 '..' 路径,或者以 '..' 开始。
- 类型
-
array
15.1.315. .spec.template.spec.volumes[].secret.items[]
- 描述
- 将字符串键映射到卷中的路径。
- 类型
-
object
- 必填
-
key
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| key 是项目的关键。 |
|
| 模式为可选:用于设置此文件权限的模式位。必须是 0000 到 0777 之间的数值,或者 0 到 511 之间的十进制值。YAML 接受八进制和十进制值,JSON 需要模式位的十进制值。如果没有指定,则使用卷 defaultMode。这可能与影响文件模式的其他选项(如 fsGroup )冲突,结果可以是其他模式位。 |
|
| path 是将键映射到的文件的相对路径。可能不是绝对路径。不得包含路径元素 '..'。不得以字符串 '..' 开头。 |
15.1.316. .spec.template.spec.volumes[].storageos
- 描述
- 代表 StorageOS 持久性卷资源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。 |
|
| volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间中唯一。 |
|
| volumeNamespace 指定 StorageOS 中的卷范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称进行更紧密的集成。将 VolumeName 设置为任何名称,以覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。 |
15.1.317. .spec.template.spec.volumes[].storageos.secretRef
- 描述
- LocalObjectReference 包含足够信息,供您在同一命名空间中找到引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.318. .spec.template.spec.volumes[].vsphereVolume
- 描述
- 代表 vSphere 卷资源。
- 类型
-
object
- 必填
-
volumePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。EX. "ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。 |
|
| storagePolicyID 是与 StoragePolicyName 关联的存储策略 Based Management (SPBM)配置集 ID。 |
|
| StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。 |
|
| volumePath 是标识 vSphere 卷 vmdk 的路径 |
15.1.319. .status
- 描述
- ReplicationControllerStatus 代表复制控制器的当前状态。
- 类型
-
object
- 必填
-
replicas
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此复制控制器的可用副本数(至少为 minReadySeconds)。 |
|
| 代表复制控制器当前状态的最新可用影响。 |
|
| ReplicationControllerCondition 描述了复制控制器在特定时间点上的状态。 |
|
| 具有与复制控制器的 pod 模板标签匹配的标签的 pod 数量。 |
|
| observedGeneration 反映了最近观察到的复制控制器的生成。 |
|
| 此复制控制器的就绪副本数。 |
|
| replicas 是最近观察到的副本数。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller |
15.1.320. .status.conditions
- 描述
- 代表复制控制器当前状态的最新可用影响。
- 类型
-
array
15.1.321. .status.conditions[]
- 描述
- ReplicationControllerCondition 描述了复制控制器在特定时间点上的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 复制控制器条件的类型。 |
15.2. API 端点
可用的 API 端点如下:
/api/v1/replicationcontrollers
-
GET
: 列出或监视类型为 ReplicationController 的对象
-
/api/v1/watch/replicationcontrollers
-
GET
: 观察单个对 ReplicationController 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/replicationcontrollers
-
DELETE
: 删除 ReplicationController 集合 -
GET
: 列出或监视类型为 ReplicationController 的对象 -
POST
:创建 ReplicationController
-
/api/v1/watch/namespaces/{namespace}/replicationcontrollers
-
GET
: 观察单个对 ReplicationController 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/api/v1/namespaces/{namespace}/replicationcontrollers/{name}
-
DELETE
:删除 ReplicationController -
GET
:读取指定的 ReplicationController -
PATCH
: 部分更新指定的 ReplicationController -
PUT
:替换指定的 ReplicationController
-
/api/v1/watch/namespaces/{namespace}/replicationcontrollers/{name}
-
GET
: 观察对类型为 ReplicationController 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤为带有 'fieldSelector' 参数的单个项目。
-
/api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status
-
GET
:指定 ReplicationController 的读取状态 -
PATCH
: 部分更新指定 ReplicationController 的状态 -
PUT
:替换指定 ReplicationController 的状态
-
15.2.1. /api/v1/replicationcontrollers
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ReplicationController 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
15.2.2. /api/v1/watch/replicationcontrollers
- HTTP 方法
-
GET
- 描述
- 观察单个对 ReplicationController 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
15.2.3. /api/v1/namespaces/{namespace}/replicationcontrollers
- HTTP 方法
-
DELETE
- 描述
- 删除 ReplicationController 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ReplicationController 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 ReplicationController
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
202 - Accepted | |
401 - 未授权 | 空 |
15.2.4. /api/v1/watch/namespaces/{namespace}/replicationcontrollers
- HTTP 方法
-
GET
- 描述
- 观察单个对 ReplicationController 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
15.2.5. /api/v1/namespaces/{namespace}/replicationcontrollers/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ReplicationController 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 ReplicationController
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 ReplicationController
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 ReplicationController
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 ReplicationController
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
15.2.6. /api/v1/watch/namespaces/{namespace}/replicationcontrollers/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ReplicationController 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 ReplicationController 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
15.2.7. /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| ReplicationController 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 ReplicationController 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 ReplicationController 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 ReplicationController 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
201 - Created | |
401 - 未授权 | 空 |
第 16 章 ReplicaSet [apps/v1]
- 描述
- ReplicaSet 可确保在任何给定时间运行指定数量的 pod 副本。
- 类型
-
object
16.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 如果 ReplicaSet 的 Labels 为空,它们默认与 ReplicaSet 管理的 Pod 相同。标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ReplicaSetSpec 是 ReplicaSet 的规格。 |
|
| ReplicaSetStatus 代表 ReplicaSet 的当前状态。 |
16.1.1. .spec
- 描述
- ReplicaSetSpec 是 ReplicaSet 的规格。
- 类型
-
object
- 必填
-
selector
-
属性 | 类型 | 描述 |
---|---|---|
|
| 新创建的 pod 应该在没有其任何容器崩溃的情况下就绪的最少秒数,以便它被视为可用。默认为 0 (pod 一旦就绪就会被视为可用) |
|
| replicas 是所需副本数。这是一个指针,用于区分显式零和未指定的。默认为 1。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller |
| selector 是 pod 的标签查询,它应当与副本数匹配。要由此副本集控制,标签键和值必须匹配。它必须与 pod 模板的标签匹配。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors | |
| template 是描述在检测到副本不足时将创建的 pod 的对象。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template |
16.1.2. .status
- 描述
- ReplicaSetStatus 代表 ReplicaSet 的当前状态。
- 类型
-
object
- 必填
-
replicas
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此副本集的可用副本数(至少为 minReadySeconds)。 |
|
| 代表副本集当前状态的最新可用影响。 |
|
| ReplicaSetCondition 描述了在特定时间点上副本集的状态。 |
|
| 具有与 replicaset 的 pod 模板标签匹配的标签的 pod 数量。 |
|
| observedGeneration 反映了最近观察到的 ReplicaSet 的生成。 |
|
| readyReplicas 是此 ReplicaSet 目标的 pod 数量,带有 Ready Condition。 |
|
| replicas 是最近观察到的副本数。更多信息: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller |
16.1.3. .status.conditions
- 描述
- 代表副本集当前状态的最新可用影响。
- 类型
-
array
16.1.4. .status.conditions[]
- 描述
- ReplicaSetCondition 描述了在特定时间点上副本集的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 副本集条件的类型。 |
16.2. API 端点
可用的 API 端点如下:
/apis/apps/v1/replicasets
-
GET
: list 或 watch 类型的 ReplicaSet 对象
-
/apis/apps/v1/watch/replicasets
-
GET
: 观察单个对 ReplicaSet 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/apis/apps/v1/namespaces/{namespace}/replicasets
-
DELETE
: 删除 ReplicaSet 集合 -
GET
: list 或 watch 类型的 ReplicaSet 对象 -
POST
:创建 ReplicaSet
-
/apis/apps/v1/watch/namespaces/{namespace}/replicasets
-
GET
: 观察单个对 ReplicaSet 列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
-
/apis/apps/v1/namespaces/{namespace}/replicasets/{name}
-
DELETE
:删除 ReplicaSet -
GET
:读取指定的 ReplicaSet -
PATCH
: 部分更新指定的 ReplicaSet -
PUT
:替换指定的 ReplicaSet
-
/apis/apps/v1/watch/namespaces/{namespace}/replicasets/{name}
-
GET
: 观察对类型为 ReplicaSet 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
-
/apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status
-
GET
:指定 ReplicaSet 的读取状态 -
PATCH
: 部分更新指定 ReplicaSet 的状态 -
PUT
:替换指定 ReplicaSet 的状态
-
16.2.1. /apis/apps/v1/replicasets
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ReplicaSet 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
16.2.2. /apis/apps/v1/watch/replicasets
- HTTP 方法
-
GET
- 描述
- 观察单个对 ReplicaSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
16.2.3. /apis/apps/v1/namespaces/{namespace}/replicasets
- HTTP 方法
-
DELETE
- 描述
- 删除 ReplicaSet 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 ReplicaSet 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 ReplicaSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
16.2.4. /apis/apps/v1/watch/namespaces/{namespace}/replicasets
- HTTP 方法
-
GET
- 描述
- 观察单个对 ReplicaSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
16.2.5. /apis/apps/v1/namespaces/{namespace}/replicasets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ReplicaSet 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 ReplicaSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 阅读指定的 ReplicaSet
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 ReplicaSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 ReplicaSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
16.2.6. /apis/apps/v1/watch/namespaces/{namespace}/replicasets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| ReplicaSet 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 ReplicaSet 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
16.2.7. /apis/apps/v1/namespaces/{namespace}/replicasets/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| ReplicaSet 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 ReplicaSet 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 ReplicaSet 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 ReplicaSet 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
第 17 章 StatefulSet [apps/v1]
- 描述
StatefulSet 代表一组具有一致身份的 pod。身份被定义为:- Network: 单个稳定的 DNS 和主机名。- 存储:根据需要有多个 VolumeClaim。
StatefulSet 保证给定网络身份始终映射到同一存储身份。
- 类型
-
object
17.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| StatefulSetSpec 是 StatefulSet 的规格。 |
|
| StatefulSetStatus 代表 StatefulSet 的当前状态。 |
17.1.1. .spec
- 描述
- StatefulSetSpec 是 StatefulSet 的规格。
- 类型
-
object
- 必填
-
selector
-
模板
-
serviceName
-
属性 | 类型 | 描述 |
---|---|---|
|
| 新创建的 pod 应该在不出现任何容器崩溃的情况下变为可用状态的最小秒数。默认为 0 (pod 一旦就绪就会被视为可用) |
|
| StatefulSetOrdinals 描述了此 StatefulSet 中用于副本普通分配的策略。 |
|
| StatefulSetPersistentVolumeClaimRetentionPolicy 描述了用于从 StatefulSet VolumeClaimTemplates 创建的 PVC 的策略。 |
|
|
PodManagementPolicy 控制如何在初始扩展、替换节点上的 pod 或缩减时创建 pod。默认策略为
可能枚举值:- |
|
| replicas 是给定模板的所需副本数。这些副本在意义上是同一模板实例化的,但单个副本也具有一致的身份。如果未指定,则默认为 1。 |
|
| revisionHistoryLimit 是 StatefulSet 的修订历史记录中要维护的最大修订版本数。修订历史记录由当前应用的 StatefulSetSpec 版本代表的所有修订版本组成。默认值为 10。 |
| selector 是 pod 的标签查询,它应当与副本数匹配。它必须与 pod 模板的标签匹配。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors | |
|
| serviceName 是管理此 StatefulSet 的服务名称。此服务必须在 StatefulSet 之前存在,并负责集合的网络身份。Pod 获取遵循模式的 DNS/hostnames:特定于 pod 的string.serviceName.default.svc.cluster.local,其中 "pod-specific-string" 由 StatefulSet 控制器管理。 |
| template 是描述在检测到副本不足时将创建的 pod 的对象。StatefulSet 退出的每个 pod 都将履行此模板,但具有来自 StatefulSet 其余部分的唯一身份。每个 pod 都将以 <statefulsetname>-<podindex> 格式命名。例如,名为 "web" 的 StatefulSet 中的 pod,其索引号为 "3" 将命名为 "web-3"。唯一允许的 template.spec.restartPolicy 值是 "Always"。 | |
|
| StatefulSetUpdateStrategy 表示 StatefulSet 控制器用于执行更新的策略。它包括为指定策略执行更新所需的额外参数。 |
| VolumeClaimTemplates 是 pod 允许引用的声明列表。StatefulSet 控制器负责以维护 pod 身份的方式将网络身份映射到声明。此列表中的每个声明必须在模板中在一个容器中至少有一个匹配(按名称)volumeMount。此列表中的声明优先于模板中的任何卷,它们的名称相同。 |
17.1.2. .spec.ordinals
- 描述
- StatefulSetOrdinals 描述了此 StatefulSet 中用于副本普通分配的策略。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| start 是代表第一个副本的索引的数字。它可用于将副本从备用索引(例如:1-indexed)对默认的 0-indexed 名称进行编号,或者编配从一个 StatefulSet 到另一个 StatefulSet 的副本移动。如果设置,副本索引将位于范围: [.spec.ordinals.start, .spec.ordinals.start + .spec.replicas)。如果未设置,则默认为 0。副本索引将位于范围: [0, .spec.replicas)。 |
17.1.3. .spec.persistentVolumeClaimRetentionPolicy
- 描述
- StatefulSetPersistentVolumeClaimRetentionPolicy 描述了用于从 StatefulSet VolumeClaimTemplates 创建的 PVC 的策略。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
WhenDeleted 指定在 StatefulSet 被删除时从 StatefulSet VolumeClaimTemplates 创建的 PVC 发生的情况。 |
|
|
WhenScaled 指定在 StatefulSet 缩减时从 StatefulSet VolumeClaimTemplates 创建的 PVC 发生的情况。 |
17.1.4. .spec.updateStrategy
- 描述
- StatefulSetUpdateStrategy 表示 StatefulSet 控制器用于执行更新的策略。它包括为指定策略执行更新所需的额外参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| RollingUpdateStatefulSetStrategy 用于为 RollingUpdateStatefulSetStrategyType 进行通信参数。 |
|
| type 表示 StatefulSetUpdateStrategy 的类型。默认为 RollingUpdate。
可能枚举值: - |
17.1.5. .spec.updateStrategy.rollingUpdate
- 描述
- RollingUpdateStatefulSetStrategy 用于为 RollingUpdateStatefulSetStrategyType 进行通信参数。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 更新期间不可用的 pod 的最大数量。值可以是绝对数字(例如 5)或所需 pod 的百分比(例如 10%)。绝对数量从百分比计算。这不能是 0。默认为 1。此字段是 alpha-level,且仅被启用 MaxUnavailableStatefulSet 功能的服务器实现。该字段适用于 0 到 Replicas-1 范围中的所有 pod。这意味着,如果 0 到 Replicas-1 范围中有任何不可用的 pod,它将被计数为 MaxUnavailable。 | |
|
| partition 表示在什么位置,StatefulSet 应该对更新进行分区。在滚动更新过程中,所有来自普通 Replicas-1 的 pod 都被更新为分区。来自普通分区 1 到 0 的所有 pod 都保持不变。这有助于执行基于 Canary 的部署。默认值为 0。 |
17.1.6. .status
- 描述
- StatefulSetStatus 代表 StatefulSet 的当前状态。
- 类型
-
object
- 必填
-
replicas
-
属性 | 类型 | 描述 |
---|---|---|
|
| 此 statefulset 的目标可用 pod 的总数(至少为 minReadySeconds)。 |
|
| conflictCount 是 StatefulSet 的哈希冲突计数。当需要为最新的 ControllerRevision 创建名称时,StatefulSet 控制器使用此字段作为冲突机制。 |
|
| 代表 statefulset 当前状态的最新可用影响。 |
|
| StatefulSetCondition 描述了在某个时间点上的 statefulset 的状态。 |
|
| currentReplicas 是 StatefulSet 控制器从 currentRevision 表示的 StatefulSet 版本创建的 Pod 数量。 |
|
| currentRevision (如果不为空)指示用于在序列中生成 Pod 的 StatefulSet 版本 [0,currentReplicas)。 |
|
| observedGeneration 是此 StatefulSet 观察到的最新生成。它对应于 StatefulSet 的生成,该生成在 API 服务器时进行更新。 |
|
| readyReplicas 是为此 StatefulSet 创建的 pod 数量,带有 Ready Condition。 |
|
| replicas 是 StatefulSet 控制器创建的 Pod 数量。 |
|
| updateRevision (如果不为空),指示在序列 [replicas-updatedReplicas,replicas)中用于生成 Pod 的 StatefulSet 版本 |
|
| updatedReplicas 是 StatefulSet 控制器从 updateRevision 表示的 StatefulSet 版本创建的 Pod 数量。 |
17.1.7. .status.conditions
- 描述
- 代表 statefulset 当前状态的最新可用影响。
- 类型
-
array
17.1.8. .status.conditions[]
- 描述
- StatefulSetCondition 描述了在某个时间点上的 statefulset 的状态。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 条件从一个状态转换到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示有关转换的详细信息。 |
|
| 条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| statefulset 条件的类型。 |
17.2. API 端点
可用的 API 端点如下:
/apis/apps/v1/statefulsets
-
GET
: list 或 watch kind StatefulSet 的对象
-
/apis/apps/v1/watch/statefulsets
-
GET
: 观察单个对 StatefulSet 列表的更改。已弃用:使用带有 list 操作的 'watch' 参数。
-
/apis/apps/v1/namespaces/{namespace}/statefulsets
-
DELETE
: 删除 StatefulSet 集合 -
GET
: list 或 watch kind StatefulSet 的对象 -
POST
:创建 StatefulSet
-
/apis/apps/v1/watch/namespaces/{namespace}/statefulsets
-
GET
: 观察单个对 StatefulSet 列表的更改。已弃用:使用带有 list 操作的 'watch' 参数。
-
/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}
-
DELETE
:删除 StatefulSet -
GET
:读取指定的 StatefulSet -
PATCH
: 部分更新指定的 StatefulSet -
PUT
:替换指定的 StatefulSet
-
/apis/apps/v1/watch/namespaces/{namespace}/statefulsets/{name}
-
GET
: 观察对类型为 StatefulSet 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
-
/apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status
-
GET
:指定 StatefulSet 的读取状态 -
PATCH
: 部分更新指定 StatefulSet 的状态 -
PUT
:替换指定 StatefulSet 的状态
-
17.2.1. /apis/apps/v1/statefulsets
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 StatefulSet 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
17.2.2. /apis/apps/v1/watch/statefulsets
- HTTP 方法
-
GET
- 描述
- 观察单个对 StatefulSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
17.2.3. /apis/apps/v1/namespaces/{namespace}/statefulsets
- HTTP 方法
-
DELETE
- 描述
- 删除 StatefulSet 集合
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 列出或监视类型为 StatefulSet 的对象
HTTP 代码 | 响应正文 |
---|---|
200 - OK | |
401 - 未授权 | 空 |
- HTTP 方法
-
POST
- 描述
- 创建 StatefulSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
202 - Accepted |
|
401 - 未授权 | 空 |
17.2.4. /apis/apps/v1/watch/namespaces/{namespace}/statefulsets
- HTTP 方法
-
GET
- 描述
- 观察单个对 StatefulSet 列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
17.2.5. /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| StatefulSet 的名称 |
- HTTP 方法
-
DELETE
- 描述
- 删除 StatefulSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
202 - Accepted |
|
401 - Unauthorized | 空 |
- HTTP 方法
-
GET
- 描述
- 读取指定的 StatefulSet
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定的 StatefulSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定的 StatefulSet
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
17.2.6. /apis/apps/v1/watch/namespaces/{namespace}/statefulsets/{name}
参数 | 类型 | 描述 |
---|---|---|
|
| StatefulSet 的名称 |
- HTTP 方法
-
GET
- 描述
- 观察对类型为 StatefulSet 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - Unauthorized | 空 |
17.2.7. /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status
参数 | 类型 | 描述 |
---|---|---|
|
| StatefulSet 的名称 |
- HTTP 方法
-
GET
- 描述
- 指定 StatefulSet 的读取状态
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PATCH
- 描述
- 部分更新指定 StatefulSet 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
- HTTP 方法
-
PUT
- 描述
- 替换指定 StatefulSet 的状态
参数 | 类型 | 描述 |
---|---|---|
|
| 出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理 |
|
| fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应正文 |
---|---|
200 - OK |
|
201 - Created |
|
401 - 未授权 | 空 |
Legal Notice
Copyright © 2024 Red Hat, Inc.
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.