12.2. CertificateSigningRequest [certificates.k8s.io/v1]


描述

CertificateSigningRequest 对象提供了一种机制,可通过提交证书签名请求来获取 x509 证书,并使其异步批准并发出。

kubelet 使用此 API 获取: 1. 客户端证书向 kube-apiserver 进行身份验证(使用 "kubernetes.io/kube-apiserver-client-kubelet" signerName)。2. 为 TLS 端点提供证书 kube-apiserver 可以安全地连接到(使用 "kubernetes.io/kubelet-serving" signerName)。

此 API 可用于请求客户端证书向 kube-apiserver 进行身份验证(使用 "kubernetes.io/kube-apiserver-client" signerName),或者从自定义非 Kubernetes 签名器获取证书。

类型
对象
必填
  • spec

12.2.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

元数据

ObjectMeta

 

spec

对象

CertificateSigningRequestSpec 包含证书请求。

status

对象

CertificateSigningRequestStatus 包含用于指示请求批准/拒绝/失败状态的条件,以及发布的证书。

12.2.1.1. .spec

描述
CertificateSigningRequestSpec 包含证书请求。
类型
对象
必填
  • Request (请求)
  • signerName
属性类型描述

expirationSeconds

整数

expirationSeconds 是签发证书的请求的有效期。证书签名者可能会发布具有不同有效期持续时间的证书,因此客户端必须检查发布证书中的 notBefore 和 notAfter 字段之间的 delta,以确定实际持续时间。

只要请求的持续时间不超过 Kubernetes 控制器管理器的 --cluster-signing-duration CLI 标记,则 v1.22+ 的树内实现将遵循这个字段。

由于各种原因,证书签名者可能无法遵守此字段:

1. 在 v1.22)2 之前,旧的 signer 不知道字段(如 in-tree 实现)。配置的最大值小于请求持续时间 3 的签名者。配置最小值超过请求持续时间的签名者

expirationSeconds 的有效值为 600,即 10 分钟。

额外

对象

extra 包含创建 CertificateSigningRequest 的用户的额外属性。在创建和不可变时由 API 服务器填充。

extra{}

数组(字符串)

 

groups

数组(字符串)

组包含创建 CertificateSigningRequest 的用户的组成员资格。在创建和不可变时由 API 服务器填充。

Request (请求)

字符串

请求包含以 "CERTIFICATE REQUEST" PEM 块中编码的 x509 证书签名请求。当序列化为 JSON 或 YAML 时,数据会额外采用 base64 编码。

signerName

字符串

signerName 表示请求的签名者,是合格的名称。

list/watch 对 CertificateSigningRequests 的请求可以使用 "spec.signerName=NAME" fieldSelector 在此字段上过滤。

知名的 Kubernetes 符号是: 1. "kubernetes.io/kube-apiserver-client": 签发可用于向 kube-apiserver 进行身份验证的客户端证书。对这个 signer 的请求永远不会由 kube-controller-manager 自动批准,由 kube-controller-manager 中的 "csrsigning" 控制器发出。2. "Kubernetes.io/kube-apiserver-client-kubelet": 签发 kubelet 用来向 kube-apiserver 进行身份验证的客户端证书。对这个签名者的请求可由 kube-controller-manager 中的 "csrapproving" 控制器自动批准,并可以被 kube-controller-manager 中的 "csrsigning" 控制器发出。3. "Kubernetes.io/kubelet-serving" 问题为 kubelet 用来为 TLS 端点提供服务的证书,kube-apiserver 可以安全地连接。对这个 signer 的请求永远不会由 kube-controller-manager 自动批准,并可由 kube-controller-manager 中的 "csrsigning" 控制器发出。

详情请参考 https://k8s.io/docs/reference/access-authn-authz/certificate-signing-requests/#kubernetes-signers

也可以指定自定义 signerNames。签名人定义:1.信任分发:信任(CA 捆绑包)的分布方式。2.允许的主题:请求禁止的主题时的行为。3.请求中的必需、允许或禁止的 x509 扩展(包括是否允许 subjectAltNames,对允许的值的限制)以及请求禁止的扩展时的行为。4.必需、允许或禁止的密钥使用/扩展密钥使用情况。5.expiration/certificate 生命周期:它是否被签名者修复,由管理员进行配置。6.是否允许请求 CA 证书。

uid

字符串

UID 包含创建 CertificateSigningRequest 的用户的 uid。在创建和不可变时由 API 服务器填充。

usages

数组(字符串)

usages 指定在签发的证书中请求的一组密钥用法。

对 TLS 客户端证书的请求通常会请求:"数字签名", "key encipherment", "client auth"。

对 TLS 服务证书的请求通常会请求:"密钥加密", "数字签名", "server auth"。

有效值为:"signing", "digital signature", "content commitment", "content commitment", "key encipherment", "key encipherment", "cert sign", "crl sign", "encipher only", "decipher only", "any", "server auth", "client auth", "code signing", "code signing", "电子邮件保护", "s/mime", "ipsec end system", "ipsec tunnel", "ipsec user", "timestamping", "ocsp signing", "microsoft sgc", "netscape sgc"

username

字符串

username 包含创建 CertificateSigningRequest 的用户的名称。在创建和不可变时由 API 服务器填充。

12.2.1.2. .spec.extra

描述
extra 包含创建 CertificateSigningRequest 的用户的额外属性。在创建和不可变时由 API 服务器填充。
类型
对象

12.2.1.3. .status

描述
CertificateSigningRequestStatus 包含用于指示请求批准/拒绝/失败状态的条件,以及发布的证书。
类型
对象
属性类型描述

certificate

字符串

在存在 Approved 条件后,证书由 signer 填充。此字段通过 /status 子资源设置。填充后,此字段不可变。

如果证书签名请求被拒绝,则会添加类型为 "Denied" 的条件,且此字段为空。如果签名者无法发布证书,则会添加类型为 "Failed" 的条件,且此字段为空。

验证要求: 1. 证书必须包含一个或多个 PEM 块。2.所有 PEM 块都必须具有"CERTIFICATE"标签,不包含标头,编码的数据必须是 BER 编码的 ASN.1 证书结构,如 RFC5280 节 4 所述。3.非PEM 内容可能会在 "CERTIFICATE" PEM 块之前或之后出现,且未验证,以允许解释的文本,如 RFC7468 的第 5.2 节中所述。

如果存在多个 PEM 块,并且请求的 spec.signerName 的定义没有指定,则第一个块是签发的证书,后续块应被视为中间证书,并在 TLS 握手中呈现。

证书以 PEM 格式编码。

当序列化为 JSON 或 YAML 时,数据会额外进行 base64 编码,因此它由以下组成:

base64( -----BEGIN CERTIFICATE----- …​ -----END CERTIFICATE----- )

conditions

array

应用到请求的条件。已知条件为 "Approved", "Denied" 和 "Failed"。

conditions[]

对象

CertificateSigningRequestCondition 描述了 CertificateSigningRequest 对象的条件

12.2.1.4. .status.conditions

描述
应用到请求的条件。已知条件为 "Approved", "Denied" 和 "Failed"。
类型
array

12.2.1.5. .status.conditions[]

描述
CertificateSigningRequestCondition 描述了 CertificateSigningRequest 对象的条件
类型
对象
必填
  • type
  • status
属性类型描述

lastTransitionTime

时间

lastTransitionTime 是条件最后一次从一个状态转换到另一个状态的时间。如果未设置,当添加新条件类型或更改现有条件类型时,服务器会默认使用当前时间。

lastUpdateTime

时间

lastUpdateTime 是最后一次更新到此条件的时间

message

字符串

消息包含人类可读的消息,其中包含有关请求状态的详细信息

reason

字符串

reason 表示请求状态的简短原因

status

字符串

条件的状态,True, False, Unknown 之一。批准、拒绝和失败条件可能不是"False"或"Unknown"。

type

字符串

条件的类型。已知条件为 "Approved", "Denied" 和 "Failed"。

通过 /approval 子资源添加"Approved"条件,表示请求已批准,并应由签名者发出。

通过 /approval 子资源添加"Denied"条件,表示请求被拒绝,不应由签名者发出。

通过 /status 子资源添加 "Failed" 条件,表示签名者无法发布证书。

批准和拒绝条件是互斥的。添加后,无法删除批准、拒绝和失败条件。

只允许给定类型的一个条件。

12.2.2. API 端点

可用的 API 端点如下:

  • /apis/certificates.k8s.io/v1/certificatesigningrequests

    • DELETE :删除 CertificateSigningRequest 的集合
    • GET: 列出或监视类型为 CertificateSigningRequest 的对象
    • POST :创建一个 CertificateSigningRequest
  • /apis/certificates.k8s.io/v1/watch/certificatesigningrequests

    • GET: 观察单个对 CertificateSigningRequest. deprecated 列表的更改。已弃用:使用 'watch' 参数和 list 操作。
  • /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}

    • DELETE :删除 CertificateSigningRequest
    • GET :读取指定的 CertificateSigningRequest
    • PATCH: 部分更新指定的 CertificateSigningRequest
    • PUT :替换指定的 CertificateSigningRequest
  • /apis/certificates.k8s.io/v1/watch/certificatesigningrequests/{name}

    • GET: 观察对类型为 CertificateSigningRequest. deprecated 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
  • /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status

    • GET: 指定的 CertificateSigningRequest 的读取状态
    • PATCH: 部分更新指定 CertificateSigningRequest 的状态
    • PUT :替换指定 CertificateSigningRequest 的状态
  • /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval

    • GET :读取指定 CertificateSigningRequest 的批准
    • PATCH :部分更新指定的 CertificateSigningRequest 的批准
    • PUT :替换指定 CertificateSigningRequest 的批准

12.2.2.1. /apis/certificates.k8s.io/v1/certificatesigningrequests

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

pretty

字符串

如果 'true',则输出会输出。

HTTP 方法
DELETE
描述
删除 CertificateSigningRequest 的集合
表 12.2. 查询参数
参数类型描述

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

dryRun

字符串

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

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值为 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

orphanDependents

布尔值

deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置这两个字段。

propagationPolicy

字符串

是否以及如何执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置这两个字段。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受值为:'Orphan' - 孤立依赖项; 'Background' - 允许垃圾收集器删除后台依赖的依赖项;'Foreground' - 一个级联策略,会删除前台所有依赖的级联策略。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

表 12.3. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 12.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 CertificateSigningRequest 的对象
表 12.5. 查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

表 12.6. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequestList schema

401 - Unauthorized

HTTP 方法
POST
描述
创建 CertificateSigningRequest
表 12.7. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

字符串

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

表 12.8. 主体参数
参数类型描述

正文(body)

CertificateSigningRequest 模式

 
表 12.9. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

202 - Accepted

CertificateSigningRequest 模式

401 - Unauthorized

12.2.2.2. /apis/certificates.k8s.io/v1/watch/certificatesigningrequests

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

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果 'true',则输出会输出。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个更改对 CertificateSigningRequest. deprecated 的列表:改为使用 'watch' 参数和 list 操作。
表 12.11. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

12.2.2.3. /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}

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

name

字符串

CertificateSigningRequest 的名称

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

pretty

字符串

如果 'true',则输出会输出。

HTTP 方法
DELETE
描述
delete a CertificateSigningRequest
表 12.14. 查询参数
参数类型描述

dryRun

字符串

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

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值零表示立即删除。如果这个值为 nil,则使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

orphanDependents

布尔值

deprecated :请使用 PropagationPolicy,此字段将在 1.7 中弃用。依赖的对象应该被孤立。如果为 true/false,则"orphan"终结器将从对象的终结器列表添加到/删除。可以设置此字段或 PropagationPolicy,但不能同时设置这两个字段。

propagationPolicy

字符串

是否以及如何执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置这两个字段。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受值为:'Orphan' - 孤立依赖项; 'Background' - 允许垃圾收集器删除后台依赖的依赖项;'Foreground' - 一个级联策略,会删除前台所有依赖的级联策略。

表 12.15. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 12.16. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的 CertificateSigningRequest
表 12.17. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求需要此字段(application/apply-patch),但对于非应用补丁类型(JsonPatch、MergePatch、strategicMergePatch)是可选的。

fieldValidation

字符串

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

force

布尔值

强制尝试"强制"应用请求。这意味着用户将重新排序由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 12.19. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 12.20. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 CertificateSigningRequest
表 12.21. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

字符串

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

表 12.22. 主体参数
参数类型描述

正文(body)

CertificateSigningRequest 模式

 
表 12.23. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

401 - Unauthorized

12.2.2.4. /apis/certificates.k8s.io/v1/watch/certificatesigningrequests/{name}

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

name

字符串

CertificateSigningRequest 的名称

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

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,则必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误的令牌的列表请求,服务器将使用从下一个密钥开始的列表进行响应,但从最新的快照开始,从上一个列表结果(创建、修改或删除)后,创建、修改或删除第一个列表请求将包含在响应中,只要它们的键位于"下一密钥"后。

当监视为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不错过任何修改。

fieldSelector

字符串

用于按字段限制返回对象列表的选择器。默认为任何内容。

labelSelector

字符串

一个选择器,用于按标签限制返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的 'continue' 字段设置为可用于同一初始查询的值,以检索下一个结果集合。如果过滤了所有请求的对象,设置限制可能会小于请求的项目数量(最多零项),并且客户端应该只使用 continue 字段的存在来确定是否有可用的结果。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假设没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用 continue 时返回的对象与在没有限制的情况下发出单个列表调用时返回的对象将相同,即在发出第一个请求后没有创建、修改或删除的对象。这有时被称为一致的快照,并确保使用限制的客户端接收大量结果的较小的块可以确保它们可以看到所有可能的对象。如果在块列表列表期间更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果 'true',则输出会输出。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定 resourceVersion 如何应用到列表调用。强烈建议您为设置 resourceVersion 的列表调用设置 resourceVersionMatch,详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,监视流将以 synthetic 事件开头,以生成集合中对象的当前状态。发送完所有此类事件后,将发送一个合成"Bookmark"事件。书签将报告与一组对象对应的 ResourceVersion (RV),并标有 '"k8s.io/initial-events-end": "true"' 注解。之后,监视流会照常进行,将与更改对应的监控事件(subsequent to the RV)发送到被监视的对象。

当设置了 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。监视请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 解释为 "data at the provided as the provided as the provided 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签事件至少作为 ListOptions 提供的 "resourceVersion" 提供。如果未设置 'resourceVersion',则会将其解释为 "consistent read",并且当状态在请求开始处理时至少同步时,会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或取消设置 Invalid 错误。

如果 'resourceVersion="" 或 'resourceVersion="0"' (用于向后兼容的原因)和 false,则默认为 true。

timeoutSeconds

整数

list/watch 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

watch

布尔值

观察对上述资源的更改,并将其恢复为添加、更新和删除通知的流。指定 resourceVersion。

HTTP 方法
GET
描述
观察对 kind CertificateSigningRequest. deprecated 的对象更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
表 12.26. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

12.2.2.5. /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/status

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

name

字符串

CertificateSigningRequest 的名称

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

pretty

字符串

如果 'true',则输出会输出。

HTTP 方法
GET
描述
指定 CertificateSigningRequest 的读取状态
表 12.29. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
指定 CertificateSigningRequest 的部分更新状态
表 12.30. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求需要此字段(application/apply-patch),但对于非应用补丁类型(JsonPatch、MergePatch、strategicMergePatch)是可选的。

fieldValidation

字符串

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

force

布尔值

强制尝试"强制"应用请求。这意味着用户将重新排序由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 12.31. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 12.32. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 CertificateSigningRequest 的状态
表 12.33. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

字符串

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

表 12.34. 主体参数
参数类型描述

正文(body)

CertificateSigningRequest 模式

 
表 12.35. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

401 - Unauthorized

12.2.2.6. /apis/certificates.k8s.io/v1/certificatesigningrequests/{name}/approval

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

name

字符串

CertificateSigningRequest 的名称

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

pretty

字符串

如果 'true',则输出会输出。

HTTP 方法
GET
描述
读取指定 CertificateSigningRequest 的批准
表 12.38. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 CertificateSigningRequest 的批准
表 12.39. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求需要此字段(application/apply-patch),但对于非应用补丁类型(JsonPatch、MergePatch、strategicMergePatch)是可选的。

fieldValidation

字符串

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

force

布尔值

强制尝试"强制"应用请求。这意味着用户将重新排序由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 12.40. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 12.41. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 CertificateSigningRequest 的批准
表 12.42. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

字符串

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

表 12.43. 主体参数
参数类型描述

正文(body)

CertificateSigningRequest 模式

 
表 12.44. HTTP 响应
HTTP 代码响应正文

200 - OK

CertificateSigningRequest 模式

201 - Created

CertificateSigningRequest 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.