KubeletConfig 描述了自定义的 Kubelet 配置。兼容性级别 1:在主要版本中至少稳定 12 个月或 3 个次要版本(以较长者为准)。
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
KubeletConfigSpec 定义了 KubeletConfig 的期望状态 |
|
|
KubeletConfigStatus 定义了 KubeletConfig 的观察状态 |
KubeletConfigSpec 定义了 KubeletConfig 的期望状态
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
`` |
kubeletConfig 字段在 kubernetes 上游中定义。请参考 OpenShift 使用的上游 kubernetes 版本/提交中定义的类型。需要注意的是,由于 kubelet 配置的字段是直接从上游获取的,因此这些值的验证直接由 kubelet 处理。请参考相关 kubernetes 的上游版本以了解这些字段的有效值。kubelet 配置字段的无效值可能会导致集群节点无法使用。 |
|
|
|
|
|
MachineConfigPoolSelector 选择 KubeletConfig 应应用于哪些池。空选择器将导致不选择任何池。 |
|
|
如果未设置,则默认值基于 apiservers.config.openshift.io/cluster 资源。请注意,目前仅支持旧版和中间版配置文件,并且最大可用的 minTLSVersion 为 VersionTLS12。 |
MachineConfigPoolSelector 选择 KubeletConfig 应应用于哪些池。空选择器将导致不选择任何池。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 关系。 |
|
|
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 关系。 |
matchExpressions 是标签选择器要求的列表。这些要求是 AND 关系。
数组
标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。
对象
key
operator
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。 |
如果未设置,则默认值基于 apiservers.config.openshift.io/cluster 资源。请注意,目前仅支持旧版和中间版配置文件,并且最大可用的 minTLSVersion 为 VersionTLS12。
对象
属性 | 类型 | 描述 |
---|---|---|
|
`` |
custom 是用户定义的 TLS 安全配置文件。使用自定义配置文件时要格外小心,因为无效的配置可能会造成灾难性后果。一个自定义配置文件示例如下所示:ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 |
|
`` |
intermediate 是基于以下内容的 TLS 安全配置文件:https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29,看起来像这样(yaml):ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 |
|
`` |
modern 是基于以下内容的 TLS 安全配置文件:https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility,看起来像这样(yaml):ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 |
|
`` |
old 是一个基于以下内容的 TLS 安全配置文件:https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility,其 YAML 格式如下所示:ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 |
|
|
类型为 Old、Intermediate、Modern 或 Custom 之一。Custom 提供了指定单个 TLS 安全配置文件参数的功能。Old、Intermediate 和 Modern 是基于以下内容的 TLS 安全配置文件:https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations 这些配置文件是基于意图的,因此随着新密码的发展和发现现有密码不安全,它们可能会随着时间的推移而发生变化。根据进程可用的密码,列表可能会减少。请注意,目前不支持 Modern 配置文件,因为它尚未被常用的软件库广泛采用。 |
提供以下 API 端点
/apis/machineconfiguration.openshift.io/v1/kubeletconfigs
DELETE
: 删除 KubeletConfig 集合
GET
: 列出 KubeletConfig 对象
POST
: 创建 KubeletConfig
/apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}
DELETE
: 删除 KubeletConfig
GET
: 读取指定的 KubeletConfig
PATCH
: 部分更新指定的 KubeletConfig
PUT
: 替换指定的 KubeletConfig
/apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}/status
GET
: 读取指定的 KubeletConfig 的状态
PATCH
: 部分更新指定的 KubeletConfig 的状态
PUT
: 替换指定的 KubeletConfig 的状态
DELETE
删除 KubeletConfig 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 KubeletConfig 对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建一个 KubeletConfig
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略对象中被静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果对象中会删除任何未知字段,或者存在任何重复字段,这将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
KubeletConfig 的名称 |
DELETE
删除 KubeletConfig
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 KubeletConfig
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 KubeletConfig
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略对象中被静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果对象中会删除任何未知字段,或者存在任何重复字段,这将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 KubeletConfig
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略对象中被静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果对象中会删除任何未知字段,或者存在任何重复字段,这将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
KubeletConfig 的名称 |
GET
读取指定的 KubeletConfig 的状态
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 KubeletConfig 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略对象中被静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果对象中会删除任何未知字段,或者存在任何重复字段,这将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 KubeletConfig 的状态
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略对象中被静默删除的任何未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段以外的所有字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会持久化任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果对象中会删除任何未知字段,或者存在任何重复字段,这将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |