第 2 章 Node [v1]


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

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

metadata

ObjectMeta

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

spec

对象

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

status

对象

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

2.1.1. .spec

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

configSource

对象

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

externalID

字符串

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

podCIDR

字符串

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

podCIDRs

数组(字符串)

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

providerID

字符串

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

污点

array

如果指定,节点的污点。

taints[]

对象

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

不可调度

布尔值

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

2.1.2. .spec.configSource

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

configMap

对象

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

2.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 中需要。

2.1.4. .spec.taints

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

2.1.5. .spec.taints[]

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

effect

字符串

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

可能枚举值: - "NoExecute" Evict any already-running pod 不容许该污点。目前,由 NodeController 强制执行 - "NoSchedule" 不允许新 pod 调度到该节点上,除非容许污点,但允许所有提交至 Kubelet 的 pod 而无需通过调度程序启动,并允许所有已在运行的 pod 继续运行。由调度程序强制执行。- "PreferNoSchedule" Like TaintEffectNoSchedule,但调度程序不会将新 pod 调度到该节点上,而不是阻止新 pod 完全调度到该节点上。由调度程序实施。

key

字符串

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

timeAdded

时间

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

value

字符串

与污点键对应的污点值。

2.1.6. .status

描述
NodeStatus 显示有关节点当前状态的信息。
类型
object
属性类型描述

addresses

array

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

addresses[]

对象

NodeAddress 包含节点地址的信息。

allocatable

对象(数量)

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

capacity

对象(数量)

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

conditions

array

条件是当前观察到的节点条件的数组。更多信息: 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

数组(字符串)

节点使用的可附加卷列表(挂载)。

2.1.7. .status.addresses

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

2.1.8. .status.addresses[]

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

address

字符串

节点地址。

type

字符串

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

2.1.9. .status.conditions

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

2.1.10. .status.conditions[]

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

lastHeartbeatTime

时间

在给定条件上有更新的时间。

lastTransitionTime

时间

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

message

字符串

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

reason

字符串

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

status

字符串

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

type

字符串

节点状况的类型。

2.1.11. .status.config

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

active

对象

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

assigned

对象

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

错误

字符串

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

lastKnownGood

对象

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

2.1.12. .status.config.active

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

configMap

对象

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

2.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 中需要。

2.1.14. .status.config.assigned

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

configMap

对象

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

2.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 中需要。

2.1.16. .status.config.lastKnownGood

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

configMap

对象

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

2.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 中需要。

2.1.18. .status.daemonEndpoints

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

kubeletEndpoint

对象

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

2.1.19. .status.daemonEndpoints.kubeletEndpoint

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

端口

整数

给定端点的端口号。

2.1.20. .status.images

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

2.1.21. .status.images[]

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

names

数组(字符串)

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

sizeBytes

整数

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

2.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)报告的 containerruntime Version。

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

2.1.23. .status.volumesAttached

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

2.1.24. .status.volumesAttached[]

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

devicePath

字符串

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

name

字符串

附加卷的名称

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.