×

规格

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

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

spec

对象

KubeletConfigSpec 定义了 KubeletConfig 的期望状态

status

对象

KubeletConfigStatus 定义了 KubeletConfig 的观察状态

.spec

描述

KubeletConfigSpec 定义了 KubeletConfig 的期望状态

类型

对象

属性 类型 描述

autoSizingReserved

布尔值

kubeletConfig

``

kubeletConfig 字段在 kubernetes 上游中定义。请参考 OpenShift 使用的上游 kubernetes 版本/提交中定义的类型。需要注意的是,由于 kubelet 配置的字段是直接从上游获取的,因此这些值的验证直接由 kubelet 处理。请参考相关 kubernetes 的上游版本以了解这些字段的有效值。kubelet 配置字段的无效值可能会导致集群节点无法使用。

logLevel

整数

machineConfigPoolSelector

对象

MachineConfigPoolSelector 选择 KubeletConfig 应应用于哪些池。空选择器将导致不选择任何池。

tlsSecurityProfile

对象

如果未设置,则默认值基于 apiservers.config.openshift.io/cluster 资源。请注意,目前仅支持旧版和中间版配置文件,并且最大可用的 minTLSVersion 为 VersionTLS12。

.spec.machineConfigPoolSelector

描述

MachineConfigPoolSelector 选择 KubeletConfig 应应用于哪些池。空选择器将导致不选择任何池。

类型

对象

属性 类型 描述

matchExpressions

数组

matchExpressions 是标签选择器要求的列表。这些要求是 AND 关系。

matchExpressions[]

对象

标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 关系。

.spec.machineConfigPoolSelector.matchExpressions

描述

matchExpressions 是标签选择器要求的列表。这些要求是 AND 关系。

类型

数组

.spec.machineConfigPoolSelector.matchExpressions[]

描述

标签选择器要求是一个包含值、键和一个关联键和值的运算符的选择器。

类型

对象

必需
  • key

  • operator

属性 类型 描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

operator 表示键与一组值的关系。有效的运算符为 In、NotIn、Exists 和 DoesNotExist。

values

数组(字符串)

values 是字符串值的数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。

.spec.tlsSecurityProfile

描述

如果未设置,则默认值基于 apiservers.config.openshift.io/cluster 资源。请注意,目前仅支持旧版和中间版配置文件,并且最大可用的 minTLSVersion 为 VersionTLS12。

类型

对象

属性 类型 描述

custom

``

custom 是用户定义的 TLS 安全配置文件。使用自定义配置文件时要格外小心,因为无效的配置可能会造成灾难性后果。一个自定义配置文件示例如下所示:ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11

intermediate

``

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

``

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

``

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 配置文件,因为它尚未被常用的软件库广泛采用。

.状态

描述

KubeletConfigStatus 定义了 KubeletConfig 的观察状态

类型

对象

属性 类型 描述

条件

数组

conditions 代表当前状态的最新可用观察结果。

conditions[]

对象

KubeletConfigCondition 定义了 KubeletConfig 的状态。

观察到的Generation

整数

observedGeneration 表示控制器观察到的 generation。

.status.conditions

描述

conditions 代表当前状态的最新可用观察结果。

类型

数组

.status.conditions[]

描述

KubeletConfigCondition 定义了 KubeletConfig 的状态。

类型

对象

属性 类型 描述

最后一次转换时间

``

lastTransitionTime 是上次更新当前状态对象的的时间。

消息

字符串

message 提供有关当前条件的附加信息。这只供人类使用。

原因

字符串

reason 是条件上次转换的原因。原因采用 PascalCase 命名。

status

字符串

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

类型

字符串

type 指定了操作符协调功能的状态。

API 端点

提供以下 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 的状态

/apis/machineconfiguration.openshift.io/v1/kubeletconfigs

HTTP 方法

DELETE

描述

删除 KubeletConfig 集合

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 KubeletConfig 对象

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfigList 模式

401 - 未授权

HTTP 方法

POST

描述

创建一个 KubeletConfig

表 3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

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

主体

KubeletConfig 模式

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

201 - 已创建

KubeletConfig 模式

202 - 已接受

KubeletConfig 模式

401 - 未授权

/apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}

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

名称

字符串

KubeletConfig 的名称

HTTP 方法

DELETE

描述

删除 KubeletConfig

表 7. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 KubeletConfig

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 KubeletConfig

表 10. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 KubeletConfig

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

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

主体

KubeletConfig 模式

表 14. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

201 - 已创建

KubeletConfig 模式

401 - 未授权

/apis/machineconfiguration.openshift.io/v1/kubeletconfigs/{name}/status

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

名称

字符串

KubeletConfig 的名称

HTTP 方法

GET

描述

读取指定的 KubeletConfig 的状态

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 KubeletConfig 的状态

表 17. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 KubeletConfig 的状态

表 19. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

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

主体

KubeletConfig 模式

表 21. HTTP 响应
HTTP 代码 响应体

200 - OK

KubeletConfig 模式

201 - 已创建

KubeletConfig 模式

401 - 未授权