14.9. 节点 [v1]


描述
节点是 Kubernetes 中的 worker 节点。每个节点在缓存中都有一个唯一标识符(例如在 etcd 中)。
类型
对象

14.9.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

metadata

ObjectMeta

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

spec

对象

nodeSpec 描述了节点创建的属性。

status

对象

NodeStatus 是节点当前状态的信息。

14.9.1.1. .spec

描述
nodeSpec 描述了节点创建的属性。
类型
object
属性类型描述

configSource

对象

NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用

externalID

字符串

已弃用。并非所有 kubelet 将设置此字段。1.13 后删除字段: https://issues.k8s.io/61966

podCIDR

字符串

PodCIDR 代表分配给节点的 pod IP 范围。

podCIDRs

数组(字符串)

podCIDRs 代表分配给节点的 IP 范围,供该节点上的 Pod 使用。如果指定了此字段,则 0th 条目必须与 podCIDR 字段匹配。它最多可包含每个 IPv4 和 IPv6 的值。

providerID

字符串

由云供应商分配的节点的 ID,格式为: <ProviderName>://<ProviderSpecificNodeID>

污点

array

如果指定,节点的污点。

taints[]

对象

附加到此 Taint 的节点,在任何不容许 Taint 的 pod 上具有"effect"。

不可调度

布尔值

不可调度控制新 pod 的节点调度性。默认情况下,节点可以调度。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration

14.9.1.2. .spec.configSource

描述
NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用
类型
object
属性类型描述

configMap

对象

ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

14.9.1.3. .spec.configSource.configMap

描述
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
类型
object
必填
  • namespace
  • name
  • kubeletConfigKey
属性类型描述

kubeletConfigKey

字符串

KubeletConfigKey 声明引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构此字段。

name

字符串

name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。

namespace

字符串

namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。

resourceVersion

字符串

resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

uid

字符串

UID 是所引用 ConfigMap 的 metadata.UID。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

14.9.1.4. .spec.taints

描述
如果指定,节点的污点。
类型
array

14.9.1.5. .spec.taints[]

描述
附加到此 Taint 的节点,在任何不容许 Taint 的 pod 上具有"effect"。
类型
object
必填
  • key
  • effect
属性类型描述

effect

字符串

必需。污点对不容许污点的 pod 的效果。有效效果为 NoSchedule、PreferNoSchedule 和 NoExecute。

可能枚举值: - "NoExecute" Evict 任何已在运行的 pod,这些 pod 不容许该污点。目前由 NodeController 实施。- "NoSchedule" 不允许新 pod 调度到该节点上,除非它们容许污点,但允许提交给 Kubelet 的所有 pod 而无需启动调度程序,并允许所有已在运行的 pod 继续运行。调度程序强制使用 - "PreferNoSchedule" Like TaintEffectNoSchedule,但调度程序会尝试不将新 pod 调度到节点上,而不是禁止新 pod 完全调度到该节点上。由调度程序实施。

key

字符串

必需。要应用到节点的污点键。

timeAdded

时间

TimeAdded 代表添加污点的时间。它仅针对 NoExecute 污点编写。

value

字符串

与污点键对应的污点值。

14.9.1.6. .status

描述
NodeStatus 是节点当前状态的信息。
类型
object
属性类型描述

addresses

array

节点可访问的地址列表。从云供应商查询(如果可用)。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#addresses 注意:此字段被声明为合并,但合并密钥并不够唯一,这可能会在合并时导致数据崩溃。调用者应该使用完整的替换补丁。例如,请参阅 https://pr.k8s.io/79391。消费者应假定地址可能会在节点生命周期内有所变化。但是,有些例外情况可能无法实现,例如,在 Downward API (status.hostIP)中继承节点地址的 Pod。

addresses[]

对象

NodeAddress 包含节点地址的信息。

allocatable

对象(数量)

可分配量代表可用于调度的节点资源。默认为 Capacity。

capacity

对象(数量)

capacity 代表节点的总资源。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity

conditions

array

conditions 是当前观察到的节点状况的数组。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#condition

conditions[]

对象

NodeCondition 包含节点的条件信息。

config

对象

NodeConfigStatus 描述了 Node.Spec.ConfigSource 分配的配置的状态。

daemonEndpoints

对象

NodeDaemonEndpoints 列出了由节点上运行的守护进程打开的端口。

images

array

此节点上的容器镜像列表

images[]

对象

描述容器镜像

nodeInfo

对象

NodeSystemInfo 是一组 ids/uuids,用于唯一标识该节点。

phase

字符串

NodePhase 是节点最近观察到的生命周期阶段。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#phase 字段永远不会填充,现在已弃用。

可能枚举值: - "Pending" 表示节点已被系统创建/添加,但没有配置。- "Running" 表示节点已经配置并运行了 Kubernetes 组件。- "Terminated" 表示节点已从集群中移除。

volumesAttached

array

附加到节点的卷列表。

volumesAttached[]

对象

AttachedVolume 描述了附加到节点的卷

volumesInUse

数组(字符串)

节点使用(mounted)中的可附加卷列表。

14.9.1.7. .status.addresses

描述
节点可访问的地址列表。从云供应商查询(如果可用)。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#addresses 注意:此字段被声明为合并,但合并密钥并不够唯一,这可能会在合并时导致数据崩溃。调用者应该使用完整的替换补丁。例如,请参阅 https://pr.k8s.io/79391。消费者应假定地址可能会在节点生命周期内有所变化。但是,有些例外情况可能无法实现,例如,在 Downward API (status.hostIP)中继承节点地址的 Pod。
类型
array

14.9.1.8. .status.addresses[]

描述
NodeAddress 包含节点地址的信息。
类型
object
必填
  • type
  • address
属性类型描述

address

字符串

节点地址。

type

字符串

节点地址类型,主机名、ExternalIP 或 InternalIP 之一。

14.9.1.9. .status.conditions

描述
conditions 是当前观察到的节点状况的数组。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#condition
类型
array

14.9.1.10. .status.conditions[]

描述
NodeCondition 包含节点的条件信息。
类型
object
必填
  • type
  • status
属性类型描述

lastHeartbeatTime

时间

最后一次对给定条件进行更新。

lastTransitionTime

时间

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

message

字符串

人类可读的消息,指示最后一次转换的详细信息。

reason

字符串

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

status

字符串

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

type

字符串

节点状况的类型。

14.9.1.11. .status.config

描述
NodeConfigStatus 描述了 Node.Spec.ConfigSource 分配的配置的状态。
类型
object
属性类型描述

active

对象

NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用

已分配

对象

NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用

错误

字符串

错误描述了将 Spec.ConfigSource 协调到 Active 配置时的任何问题。可能会出现错误,例如尝试检查点 Spec.ConfigSource 到本地 Assigned 记录,尝试检查点与 Spec.ConfigSource 关联的有效负载,尝试加载或验证 Assigned 配置等。同步配置时在不同点上可能会出现错误。较早的错误(如下载或检查点错误)将导致回滚到 LastKnownGood,并可能会在 Kubelet 重试过程中解决。之后的错误(如加载或验证检查点的配置)将导致回滚到 LastKnownGood。在后者的情况下,通常可以通过修复 Spec.ConfigSource 中分配的配置来解决错误。您可以通过在 Kubelet 日志中搜索错误消息来查找用于调试的附加信息。error 是错误状态的人类可读描述;机器可以检查 Error 是否为空,但不应依赖 Kubelet 版本间 Error 文本的稳定性。

lastKnownGood

对象

NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用

14.9.1.12. .status.config.active

描述
NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用
类型
object
属性类型描述

configMap

对象

ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

14.9.1.13. .status.config.active.configMap

描述
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
类型
object
必填
  • namespace
  • name
  • kubeletConfigKey
属性类型描述

kubeletConfigKey

字符串

KubeletConfigKey 声明引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构此字段。

name

字符串

name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。

namespace

字符串

namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。

resourceVersion

字符串

resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

uid

字符串

UID 是所引用 ConfigMap 的 metadata.UID。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

14.9.1.14. .status.config.assigned

描述
NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用
类型
object
属性类型描述

configMap

对象

ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

14.9.1.15. .status.config.assigned.configMap

描述
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
类型
object
必填
  • namespace
  • name
  • kubeletConfigKey
属性类型描述

kubeletConfigKey

字符串

KubeletConfigKey 声明引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构此字段。

name

字符串

name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。

namespace

字符串

namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。

resourceVersion

字符串

resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

uid

字符串

UID 是所引用 ConfigMap 的 metadata.UID。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

14.9.1.16. .status.config.lastKnownGood

描述
NodeConfigSource 指定节点配置源。正好有一个子字段(不包括元数据)必须是非 nil。此 API 从 1.22 开始已弃用
类型
object
属性类型描述

configMap

对象

ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

14.9.1.17. .status.config.lastKnownGood.configMap

描述
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点的配置源的信息。此 API 从 1.22 开始已弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
类型
object
必填
  • namespace
  • name
  • kubeletConfigKey
属性类型描述

kubeletConfigKey

字符串

KubeletConfigKey 声明引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构此字段。

name

字符串

name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。

namespace

字符串

namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。

resourceVersion

字符串

resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

uid

字符串

UID 是所引用 ConfigMap 的 metadata.UID。在 Node.Spec 中禁止此字段,在 Node.Status 中需要。

14.9.1.18. .status.daemonEndpoints

描述
NodeDaemonEndpoints 列出了由节点上运行的守护进程打开的端口。
类型
object
属性类型描述

kubeletEndpoint

对象

DaemonEndpoint 包含有关单个守护进程端点的信息。

14.9.1.19. .status.daemonEndpoints.kubeletEndpoint

描述
DaemonEndpoint 包含有关单个守护进程端点的信息。
类型
object
必填
  • 端口
属性类型描述

端口

整数

给定端点的端口号。

14.9.1.20. .status.images

描述
此节点上的容器镜像列表
类型
array

14.9.1.21. .status.images[]

描述
描述容器镜像
类型
object
属性类型描述

名称

数组(字符串)

此镜像的名称已知。例如 ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]

sizeBytes

整数

镜像的大小(以字节为单位)。

14.9.1.22. .status.nodeInfo

描述
NodeSystemInfo 是一组 ids/uuids,用于唯一标识该节点。
类型
object
必填
  • machineID
  • systemUUID
  • bootID
  • kernelVersion
  • osImage
  • containerRuntimeVersion
  • kubeletVersion
  • kubeProxyVersion
  • operatingSystem
  • 架构
属性类型描述

架构

字符串

节点报告的架构

bootID

字符串

节点报告的引导 ID。

containerRuntimeVersion

string

节点通过运行时远程 API (如 containerd://1.4.2)报告的容器运行时版本。

kernelVersion

字符串

节点从 'uname -r'(如 3.16.0-0.bpo.4-amd64)报告的内核版本。

kubeProxyVersion

字符串

节点报告的 kubeProxy 版本。

kubeletVersion

字符串

节点报告的 kubelet 版本。

machineID

字符串

节点报告的 MachineID。对于集群中唯一机器标识,首选此字段。从 man (5) machine-id 了解更多 :http://man7.org/linux/man-pages/man5/machine-id.5.html

operatingSystem

字符串

节点报告的操作系统

osImage

字符串

节点从 /etc/os-release 报告的操作系统镜像(如 Debian GNU/Linux 7 (wheezy))。

systemUUID

字符串

节点报告的 SystemUUID。对于唯一机器标识 MachineID。此字段特定于红帽主机 https://access.redhat.com/documentation/zh-cn/red_hat_subscription_management/1/html/rhsm/uuid

14.9.1.23. .status.volumesAttached

描述
附加到节点的卷列表。
类型
array

14.9.1.24. .status.volumesAttached[]

描述
AttachedVolume 描述了附加到节点的卷
类型
object
必填
  • name
  • devicePath
属性类型描述

devicePath

字符串

DevicePath 代表卷应可用的设备路径

name

字符串

附加卷的名称

14.9.2. API 端点

可用的 API 端点如下:

  • /api/v1/nodes

    • DELETE :删除节点集合
    • GET: 列出或监视类型为 Node 的对象
    • POST :创建节点
  • /api/v1/watch/nodes

    • GET: 观察单个对节点列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
  • /api/v1/nodes/{name}

    • DELETE :删除节点
    • GET: 读取指定的节点
    • PATCH :部分更新指定节点
    • PUT :替换指定节点
  • /api/v1/watch/nodes/{name}

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

    • GET: 指定节点的读取状态
    • PATCH :部分更新指定节点的状态
    • PUT :替换指定节点的状态

14.9.2.1. /api/v1/nodes

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

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除节点集合
表 14.179. 查询参数
参数类型描述

继续

字符串

从服务器检索更多结果时,应设置 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 调用的超时。这限制了调用的持续时间,而不考虑任何活动或不活跃。

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

正文(body)

DeleteOptions 模式

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

200 - OK

Status 模式

401 - Unauthorized

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

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。

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

200 - OK

NodeList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建节点
表 14.184. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

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

正文(body)

Node 模式

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

200 - OK

Node 模式

201 - Created

Node 模式

202 - Accepted

Node 模式

401 - Unauthorized

14.9.2.2. /api/v1/watch/nodes

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

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',则输出会经过 pretty print 处理。

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
描述
观察单个对节点列表的更改。已弃用:改为使用 'watch' 参数和 list 操作。
表 14.188. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

14.9.2.3. /api/v1/nodes/{name}

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

name

字符串

节点的名称

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

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除节点
表 14.191. 查询参数
参数类型描述

dryRun

字符串

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

gracePeriodSeconds

整数

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

orphanDependents

布尔值

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

propagationPolicy

字符串

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

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

正文(body)

DeleteOptions 模式

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

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的节点
表 14.194. HTTP 响应
HTTP 代码响应正文

200 - OK

Node 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

force

布尔值

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

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

正文(body)

Patch 模式

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

200 - OK

Node 模式

201 - Created

Node 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的节点
表 14.198. 查询参数
参数类型描述

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

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

正文(body)

Node 模式

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

200 - OK

Node 模式

201 - Created

Node 模式

401 - Unauthorized

14.9.2.4. /api/v1/watch/nodes/{name}

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

name

字符串

节点的名称

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

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',则输出会经过 pretty print 处理。

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 Node. deprecated 的对象更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤到带有 'fieldSelector' 参数的单个项目。
表 14.203. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

14.9.2.5. /api/v1/nodes/{name}/status

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

name

字符串

节点的名称

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

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

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

200 - OK

Node 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

force

布尔值

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

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

正文(body)

Patch 模式

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

200 - OK

Node 模式

201 - Created

Node 模式

401 - Unauthorized

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

dryRun

字符串

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

fieldManager

字符串

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

fieldValidation

string

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

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

正文(body)

Node 模式

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

200 - OK

Node 模式

201 - Created

Node 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.