Node 您所在的位置:网站首页 k8snode节点组件 Node

Node

2024-04-14 00:26| 来源: 网络整理| 查看: 265

NodeNode 是 Kubernetes 中的工作节点。

apiVersion: v1

import "k8s.io/api/core/v1"

Node

Node 是 Kubernetes 中的工作节点。 每个节点在缓存中(即在 etcd 中)都有一个唯一的标识符。

apiVersion: v1

kind: Node

metadata (ObjectMeta)

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

spec (NodeSpec)

spec 定义节点的行为。 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

status (NodeStatus)

此节点的最近观测状态。由系统填充。只读。 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

NodeSpec

NodeSpec 描述了创建节点时使用的属性。

configSource (NodeConfigSource)

已弃用:以前用于为 DynamicKubeletConfig 功能指定节点配置的来源。此功能已删除。

NodeConfigSource 指定节点配置的来源。指定一个子字段(不包括元数据)必须为非空。此 API 自 1.22的版本起已被弃用

configSource.configMap (ConfigMapNodeConfigSource)

configMap 是对 Node 的 ConfigMap 的引用。

ConfigMapNodeConfigSource 包含引用某 ConfigMap 作为节点配置源的信息。 此 API 自 1.22 版本起已被弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

configSource.configMap.kubeletConfigKey (string), 必需

kubeletConfigKey 声明所引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构体, 该字段在所有情况下都是必需的。

configSource.configMap.name (string), 必需

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

configSource.configMap.namespace (string), 必需

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

configSource.configMap.resourceVersion (string)

resourceVersion 是所引用的 ConfigMap 的 metadata.resourceVersion。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

configSource.configMap.uid (string)

uid 是所引用的 ConfigMap 的 metadata.uid。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

externalID (string)

已弃用。并非所有 kubelet 都会设置此字段。 1.13 的版本之后会删除该字段。参见: https://issues.k8s.io/61966

podCIDR (string)

podCIDR 表示分配给节点的 Pod IP 范围。

podCIDRs ([]string)

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

providerID (string)

云提供商分配的节点ID,格式为:://

taints ([]Taint)

如果设置了,则为节点的污点。

此污点附加到的节点对任何不容忍污点的 Pod 都有 “影响”。

taints.effect (string), 必需

必需的。污点对不容忍污点的 Pod 的影响。合法的 effect 值有 NoSchedule、PreferNoSchedule 和 NoExecute。

taints.key (string), 必需

必需的。被应用到节点上的污点的键。

taints.timeAdded (Time)

timeAdded 表示添加污点的时间。它仅适用于 NoExecute 的污点。

Time 是 time.Time 的包装器,它支持对 YAML 和 JSON 的正确编组。 time 包的许多工厂方法提供了包装器。

taints.value (string)

与污点键对应的污点值。

unschedulable (boolean)

unschedulable 控制新 Pod 的节点可调度性。 默认情况下,节点是可调度的。 更多信息: https://kubernetes.io/zh-cn/docs/concepts/architecture/nodes/#manual-node-administration

NodeStatus

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

addresses ([]NodeAddress)

补丁策略:根据 type 键执行合并操作

节点可到达的地址列表。从云提供商处查询(如果有)。 更多信息: https://kubernetes.io/zh-cn/docs/concepts/architecture/nodes/#addresses

注意:该字段声明为可合并,但合并键不够唯一,合并时可能导致数据损坏。 调用者应改为使用完全替换性质的补丁操作。 有关示例,请参见 https://pr.k8s.io/79391。

消费者应假设地址可以在节点的生命期内发生变化。 然而在一些例外情况下这是不可能的,例如在自身状态中继承 Node 地址的 Pod 或 downward API (status.hostIP) 的消费者。

NodeAddress 包含节点地址的信息。

addresses.address (string), 必需

节点地址。

addresses.type (string), 必需

节点地址类型,Hostname、ExternalIP 或 InternalIP 之一。

allocatable (map[string]Quantity)

allocatable 表示节点的可用于调度的资源。默认为容量。

capacity (map[string]Quantity)

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

conditions ([]NodeCondition)

补丁策略:根据 type 键执行合并操作

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

NodeCondition 包含节点状况的信息。

conditions.status (string), 必需

状况的状态为 True、False、Unknown 之一。

conditions.type (string), 必需

节点状况的类型。

conditions.lastHeartbeatTime (Time)

给定状况最近一次更新的时间。

Time 是 time.Time 的包装器,它支持对 YAML 和 JSON 的正确编组。 time 包的许多工厂方法提供了包装器。

conditions.lastTransitionTime (Time)

状况最近一次从一种状态转换到另一种状态的时间。

Time 是 time.Time 的包装器,它支持对 YAML 和 JSON 的正确编组。 time 包的许多工厂方法提供了包装器。

conditions.message (string)

指示有关上次转换详细信息的人类可读消息。

conditions.reason (string)

(简要)状况最后一次转换的原因。

config (NodeConfigStatus)

通过动态 Kubelet 配置功能分配给节点的配置状态。

NodeConfigStatus 描述了由 Node.spec.configSource 分配的配置的状态。

config.active (NodeConfigSource)

active 报告节点正在使用的检查点配置。 active 将代表已分配配置的当前版本或当前 LastKnownGood 配置,具体取决于尝试使用已分配配置是否会导致错误。

NodeConfigSource 指定节点配置的来源。指定一个子字段(不包括元数据)必须为非空。此 API 自 1.22 版本起已弃用

config.active.configMap (ConfigMapNodeConfigSource)

configMap 是对 Node 的 ConfigMap 的引用。

ConfigMapNodeConfigSource 包含引用某 ConfigMap 作为节点配置源的信息。 此 API 自 1.22 版本起已被弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

config.active.configMap.kubeletConfigKey (string), 必需

kubeletConfigKey 声明所引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构体, 该字段在所有情况下都是必需的。

config.active.configMap.name (string), 必需

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

config.active.configMap.namespace (string), 必需

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

config.active.configMap.resourceVersion (string)

resourceVersion 是所引用的 ConfigMap 的 metadata.resourceVersion。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

config.active.configMap.uid (string)

uid 是所引用的 ConfigMap 的 metadata.uid。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

config.assigned (NodeConfigSource)

assigned 字段报告节点将尝试使用的检查点配置。 当 Node.spec.configSource 被更新时,节点将所关联的配置负载及指示预期配置的记录通过检查点操作加载到本地磁盘。 节点参考这条记录来选择它的配置检查点,并在 assigned 中报告这条记录。 仅在记录被保存到磁盘后才会更新 status 中的 assigned。 当 kubelet 重新启动时,它会尝试通过加载和验证由 assigned 标识的检查点有效负载来使 assigned 配置成为 active 配置。

NodeConfigSource 指定节点配置的来源。指定一个子字段(不包括元数据)必须为非空。此 API 自 1.22 版本起已弃用

config.assigned.configMap (ConfigMapNodeConfigSource)

configMap 是对 Node 的 ConfigMap 的引用。

ConfigMapNodeConfigSource 包含引用某 ConfigMap 为节点配置源的信息。 此 API 自 1.22 版本起已被弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

config.assigned.configMap.kubeletConfigKey (string), 必需

kubeletConfigKey 声明所引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构体, 该字段在所有情况下都是必需的。

config.assigned.configMap.name (string), 必需

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

config.assigned.configMap.namespace (string), 必需

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

config.assigned.configMap.resourceVersion (string)

resourceVersion 是所引用的 ConfigMap 的 metadata.resourceVersion。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

config.assigned.configMap.uid (string)

uid 是所引用的 ConfigMap 的 metadata.uid。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

config.error (string)

error 描述了在 spec.configSource 与活动配置间协调时发生的所有问题。 可能会发生的情况,例如,尝试将 spec.configSource 通过检查点操作复制到到本地 assigned 记录时, 尝试对与 spec.configSource 关联的有效负载执行检查点操作,尝试加​​载或验证 assigned 的配置时。 同步配置时可能会在不同位置发生错误,较早的错误(例如下载或检查点错误)不会导致回滚到 LastKnownGood, 并且可能会在 Kubelet 重试后解决。 后期发生的错误(例如加载或验证检查点配置)将导致回滚到 LastKnownGood。 在后一种情况下,通常可以通过修复 spec.sonfigSource 中 assigned 配置来解决错误。 你可以通过在 Kubelet 日志中搜索错误消息来找到更多的调试信息。 error 是错误状态的人类可读描述;机器可以检查 error 是否为空,但不应依赖跨 Kubelet 版本的 error 文本的稳定性。

config.lastKnownGood (NodeConfigSource)

lastKnownGood 报告节点在尝试使用 assigned 配置时遇到错误时将回退到的检查点配置。 当节点确定 assigned 配置稳定且正确时,assigned 配置会成为 lastKnownGood 配置。 这当前实施为从更新分配配置的本地记录开始的 10 分钟浸泡期。 如果在此期间结束时分配的配置依旧处于活动状态,则它将成为 lastKnownGood。 请注意,如果 spec.configSource 重置为 nil(使用本地默认值), LastKnownGood 也会立即重置为 nil,因为始终假定本地默认配置是好的。 你不应该对节点确定配置稳定性和正确性的方法做出假设,因为这可能会在将来发生变化或变得可配置。

NodeConfigSource 指定节点配置的来源。指定一个子字段(不包括元数据)必须为非空。此 API 自 1.22 版本起已弃用

config.lastKnownGood.configMap (ConfigMapNodeConfigSource)

configMap 是对 Node 的 ConfigMap 的引用。

ConfigMapNodeConfigSource 包含引用某 ConfigMap 作为节点配置源的信息。 此 API 自 1.22 版本起已被弃用: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

config.lastKnownGood.configMap.kubeletConfigKey (string), 必需

kubeletConfigKey 声明所引用的 ConfigMap 的哪个键对应于 KubeletConfiguration 结构体, 该字段在所有情况下都是必需的。

config.lastKnownGood.configMap.name (string), 必需

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

config.lastKnownGood.configMap.namespace (string), 必需

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

config.lastKnownGood.configMap.resourceVersion (string)

resourceVersion 是所引用的 ConfigMap 的 metadata.resourceVersion。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

config.lastKnownGood.configMap.uid (string)

uid 是所引用的 ConfigMap 的 metadata.uid。 该字段在 Node.spec 中是禁止的,在 Node.status 中是必需的。

daemonEndpoints (NodeDaemonEndpoints)

在节点上运行的守护进程的端点。

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

daemonEndpoints.kubeletEndpoint (DaemonEndpoint)

Kubelet 正在侦听的端点。

DaemonEndpoint 包含有关单个 Daemon 端点的信息。

daemonEndpoints.kubeletEndpoint.Port (int32), 必需

给定端点的端口号。

images ([]ContainerImage)

该节点上的容器镜像列表。

描述一个容器镜像

images.names ([]string)

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

images.sizeBytes (int64)

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

nodeInfo (NodeSystemInfo)

用于唯一标识节点的 ids/uuids 集。 更多信息: https://kubernetes.io/zh-cn/docs/concepts/architecture/nodes/#info

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

nodeInfo.architecture (string), 必需

节点报告的 architecture。

nodeInfo.bootID (string), 必需

节点报告的 bootID。

nodeInfo.containerRuntimeVersion (string), 必需

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

nodeInfo.kernelVersion (string), 必需

节点来自 “uname -r” 报告的内核版本(例如 3.16.0-0.bpo.4-amd64)。

nodeInfo.kubeProxyVersion (string), 必需

节点报告的 KubeProxy 版本。

nodeInfo.kubeletVersion (string), 必需

节点报告的 Kubelet 版本。

nodeInfo.machineID (string), 必需

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

nodeInfo.operatingSystem (string), 必需

节点上报的操作系统。

nodeInfo.osImage (string), 必需

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

nodeInfo.systemUUID (string), 必需

节点报告的 systemUUID。 对于唯一的机器标识 MachineID 是首选。 此字段特定于 Red Hat 主机 https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid

phase (string)

NodePhase 是最近观测到的节点的生命周期阶段。 更多信息: https://kubernetes.io/zh-cn/docs/concepts/architecture/nodes/#phase

该字段从未填充,现在已被弃用。

volumesAttached ([]AttachedVolume)

附加到节点的卷的列表。

AttachedVolume 描述附加到节点的卷

volumesAttached.devicePath (string), 必需

devicePath 表示卷应该可用的设备路径。

volumesAttached.name (string), 必需

附加卷的名称。

volumesInUse ([]string)

节点正在使用(安装)的可附加卷的列表。

NodeList

NodeList 是已注册到 master 的所有节点的完整列表。

apiVersion: v1

kind: NodeList

metadata (ListMeta)

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

items ([]Node), 必需

节点的列表。

操作get 读取指定节点HTTP 请求

GET /api/v1/nodes/{name}

参数

name (路径参数): string, 必需

节点的名称。

pretty (路径参数): string

pretty

响应

200 (Node): OK

401: Unauthorized

get 读取指定节点的状态HTTP 请求

GET /api/v1/nodes/{name}/status

参数

name (路径参数): string, 必需

节点的名称。

pretty (查询参数): string

pretty

响应

200 (Node): OK

401: Unauthorized

list 列出或监视节点类型的对象HTTP 请求

GET /api/v1/nodes

参数

allowWatchBookmarks (查询参数): boolean

allowWatchBookmarks

continue (查询参数): string

continue

fieldSelector (查询参数): string

fieldSelector

labelSelector (查询参数): string

labelSelector

limit (查询参数): integer

limit

pretty (查询参数): string

pretty

resourceVersion (查询参数): string

resourceVersion

resourceVersionMatch (查询参数): string

resourceVersionMatch

sendInitialEvents (查询参数): boolean

sendInitialEvents

timeoutSeconds (查询参数): integer

timeoutSeconds

watch (查询参数): boolean

watch

响应

200 (NodeList): OK

401: Unauthorized

create 创建一个节点HTTP 请求

POST /api/v1/nodes

参数

body: Node, 必需

dryRun (查询参数): string

dryRun

fieldManager (查询参数): string

fieldManager

fieldValidation (查询参数): string

fieldValidation

pretty (查询参数): string

pretty

响应

200 (Node): OK

201 (Node): Created

202 (Node): Accepted

401: Unauthorized

update 替换指定节点HTTP 请求

PUT /api/v1/nodes/{name}

参数

name (路径参数): string, 必需

节点的名称。

body: Node, 必需

dryRun (查询参数): string

dryRun

fieldManager (查询参数): string

fieldManager

fieldValidation (查询参数): string

fieldValidation

pretty (查询参数): string

pretty

响应

200 (Node): OK

201 (Node): Created

401: Unauthorized

update 替换指定节点的状态HTTP 请求

PUT /api/v1/nodes/{name}/status

参数

name (路径参数): string, 必需

节点的名称。

body: Node, 必需

dryRun (查询参数): string

dryRun

fieldManager (查询参数): string

fieldManager

fieldValidation (查询参数): string

fieldValidation

pretty (查询参数): string

pretty

响应

200 (Node): OK

201 (Node): Created

401: Unauthorized

patch 部分更新指定节点HTTP 请求

PATCH /api/v1/nodes/{name}

参数

name (路径参数): string, 必需

节点的名称。

body: Patch, 必需

dryRun (查询参数): string

dryRun

fieldManager (查询参数): string

fieldManager

fieldValidation (查询参数): string

fieldValidation

force (查询参数): boolean

force

pretty (查询参数): string

pretty

响应

200 (Node): OK

201 (Node): Created

401: Unauthorized

patch 部分更新指定节点的状态HTTP 请求

PATCH /api/v1/nodes/{name}/status

参数

name (路径参数): string, 必需

节点的名称。

body: Patch, 必需

dryRun (查询参数): string

dryRun

fieldManager (查询参数): string

fieldManager

fieldValidation (查询参数): string

fieldValidation

force (查询参数): boolean

force

pretty (查询参数): string

pretty

响应

200 (Node): OK

201 (Node): Created

401: Unauthorized

delete 删除一个节点HTTP 请求

DELETE /api/v1/nodes/{name}

参数

name (路径参数): string, 必需

节点的名称。

body: DeleteOptions

dryRun (查询参数): string

dryRun

gracePeriodSeconds (查询参数): integer

gracePeriodSeconds

pretty (查询参数): string

pretty

propagationPolicy (查询参数): string

propagationPolicy

响应

200 (Status): OK

202 (Status): Accepted

401: Unauthorized

deletecollection 删除节点的集合HTTP 请求

DELETE /api/v1/nodes

continue (查询参数): string

continue

dryRun (查询参数): string

dryRun

fieldSelector (查询参数): string

fieldSelector

gracePeriodSeconds (查询参数): integer

gracePeriodSeconds

labelSelector (查询参数): string

labelSelector

limit (查询参数): integer

limit

pretty (查询参数): string

pretty

propagationPolicy (查询参数): string

propagationPolicy

resourceVersion (查询参数): string

resourceVersion

resourceVersionMatch (查询参数): string

resourceVersionMatch

sendInitialEvents (查询参数): boolean

sendInitialEvents

timeoutSeconds (查询参数): integer

timeoutSeconds

响应

200 (Status): OK

401: Unauthorized

反馈

此页是否对你有帮助?

感谢反馈。如果你有一个关于如何使用 Kubernetes 的具体问题需要答案,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.

最后修改 April 18, 2023 at 2:17 PM PST: [zh] sync /kubernetes-api/cluster-resources/node-v1.md (51462146f3)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有