节点
apiVersion: v1
import "k8s.io/api/core/v1"
节点
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 指定节点配置源。恰好一个子字段(元数据除外)必须为非 nil。此 API 自 1.22 版本起已弃用
configSource.configMap (配置源.ConfigMap) (ConfigMapNodeConfigSource)
ConfigMap 是对节点 ConfigMap 的引用
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点配置源的信息。此 API 自 1.22 版本起已弃用:https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
configSource.configMap.kubeletConfigKey (字符串), 必需
KubeletConfigKey 声明了引用的 ConfigMap 中的哪个键对应于 KubeletConfiguration 结构体。在所有情况下此字段都是必需的。
configSource.configMap.name (字符串), 必需
Name 是引用的 ConfigMap 的 metadata.name。在所有情况下此字段都是必需的。
configSource.configMap.namespace (字符串), 必需
Namespace 是引用的 ConfigMap 的 metadata.namespace。在所有情况下此字段都是必需的。
configSource.configMap.resourceVersion (字符串)
ResourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
configSource.configMap.uid (字符串)
UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
externalID (字符串)
已弃用。并非所有 kubelet 都会设置此字段。在 1.13 版本后移除此字段。参阅:https://issues.k8s.io/61966
podCIDR (字符串)
PodCIDR 表示分配给节点的 Pod IP 范围。
podCIDRs ([]字符串)
集合:合并时将保留唯一值
podCIDRs 表示分配给节点供该节点上的 Pod 使用的 IP 范围。如果指定此字段,则第 0 个条目必须与 podCIDR 字段匹配。它最多可以包含 IPv4 和 IPv6 各一个值。
providerID (字符串)
云提供商分配给节点的 ID,格式为:<ProviderName>://<ProviderSpecificNodeID>
taints (污点) ([]Taint)
原子操作:合并时将被替换
如果指定,则为节点的污点。
unschedulable (布尔值)
Unschedulable 控制新 Pod 的节点调度能力。默认情况下,节点是可调度的。更多信息:https://kubernetes.ac.cn/docs/concepts/nodes/node/#manual-node-administration
NodeStatus (节点状态)
NodeStatus 包含关于节点当前状态的信息。
addresses (地址) ([]NodeAddress)
Patch 策略:按键
type
合并Map:合并时将保留键 type 的唯一值
节点可访问的地址列表。如果可用,从云提供商查询。更多信息:https://kubernetes.ac.cn/docs/reference/node/node-status/#addresses 注意:此字段被声明为可合并,但合并键不够唯一,合并时可能导致数据损坏。调用者应改用完全替换补丁。有关示例,请参见 https://pr.k8s.io/79391。消费者应假定节点的地址在其生命周期内可能会更改。但是,在某些情况下可能并非如此,例如 Pod 在其自身状态中继承了节点的地址,或者 downward API 的使用者 (status.hostIP)。
addresses.address (字符串), 必需
节点地址。
addresses.type (字符串), 必需
节点地址类型,Hostname、ExternalIP 或 InternalIP 之一。
allocatable (可分配) (map[字符串]Quantity)
Allocatable 表示节点上可用于调度的资源。默认为 Capacity。
capacity (容量) (map[字符串]Quantity)
Capacity 表示节点的总资源。更多信息:https://kubernetes.ac.cn/docs/reference/node/node-status/#capacity
conditions (条件) ([]NodeCondition)
Patch 策略:按键
type
合并Map:合并时将保留键 type 的唯一值
Conditions 是当前观察到的节点条件数组。更多信息:https://kubernetes.ac.cn/docs/reference/node/node-status/#condition
conditions.status (字符串), 必需
条件状态,True、False 或 Unknown 之一。
conditions.type (字符串), 必需
节点条件类型。
conditions.lastHeartbeatTime (时间) (Time)
上次收到给定条件更新的时间。
Time 是 time.Time 的一个包装器,支持正确地编组到 YAML 和 JSON。time 包提供的许多工厂方法都有相应的包装器。
conditions.lastTransitionTime (时间) (Time)
条件上次从一个状态转换为另一个状态的时间。
Time 是 time.Time 的一个包装器,支持正确地编组到 YAML 和 JSON。time 包提供的许多工厂方法都有相应的包装器。
conditions.message (字符串)
人类可读的消息,指示上次转换的详细信息。
conditions.reason (字符串)
条件上次转换的(简要)原因。
config (配置) (NodeConfigStatus)
通过动态 Kubelet 配置特性分配给节点的配置状态。
NodeConfigStatus 描述由 Node.Spec.ConfigSource 分配的配置状态。
config.active (配置.活动配置) (NodeConfigSource)
Active 报告节点当前正在使用的已检查点配置。Active 将表示 Assigned 配置的当前版本,或当前的 LastKnownGood 配置,具体取决于尝试使用 Assigned 配置是否导致错误。
NodeConfigSource 指定节点配置源。恰好一个子字段(元数据除外)必须为非 nil。此 API 自 1.22 版本起已弃用
config.active.configMap (配置.活动配置.ConfigMap) (ConfigMapNodeConfigSource)
ConfigMap 是对节点 ConfigMap 的引用
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点配置源的信息。此 API 自 1.22 版本起已弃用:https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
config.active.configMap.kubeletConfigKey (字符串), 必需
KubeletConfigKey 声明了引用的 ConfigMap 中的哪个键对应于 KubeletConfiguration 结构体。在所有情况下此字段都是必需的。
config.active.configMap.name (字符串), 必需
Name 是引用的 ConfigMap 的 metadata.name。在所有情况下此字段都是必需的。
config.active.configMap.namespace (字符串), 必需
Namespace 是引用的 ConfigMap 的 metadata.namespace。在所有情况下此字段都是必需的。
config.active.configMap.resourceVersion (字符串)
ResourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
config.active.configMap.uid (字符串)
UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
config.assigned (配置.已分配配置) (NodeConfigSource)
Assigned 报告节点将尝试使用的已检查点配置。当 Node.Spec.ConfigSource 更新时,节点会将相关的配置负载检查点到本地磁盘,并附带指示预期配置的记录。节点参考此记录选择其配置检查点,并在 Assigned 中报告此记录。Assigned 仅在记录被检查点到磁盘后才在状态中更新。当 Kubelet 重启时,它会尝试通过加载和验证由 Assigned 标识的已检查点负载,将 Assigned 配置设为 Active 配置。
NodeConfigSource 指定节点配置源。恰好一个子字段(元数据除外)必须为非 nil。此 API 自 1.22 版本起已弃用
config.assigned.configMap (配置.已分配配置.ConfigMap) (ConfigMapNodeConfigSource)
ConfigMap 是对节点 ConfigMap 的引用
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点配置源的信息。此 API 自 1.22 版本起已弃用:https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
config.assigned.configMap.kubeletConfigKey (字符串), 必需
KubeletConfigKey 声明了引用的 ConfigMap 中的哪个键对应于 KubeletConfiguration 结构体。在所有情况下此字段都是必需的。
config.assigned.configMap.name (字符串), 必需
Name 是引用的 ConfigMap 的 metadata.name。在所有情况下此字段都是必需的。
config.assigned.configMap.namespace (字符串), 必需
Namespace 是引用的 ConfigMap 的 metadata.namespace。在所有情况下此字段都是必需的。
config.assigned.configMap.resourceVersion (字符串)
ResourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
config.assigned.configMap.uid (字符串)
UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
config.error (字符串)
Error 描述了将 Spec.ConfigSource 与 Active 配置协调时遇到的任何问题。例如,在尝试将 Spec.ConfigSource 检查点到本地 Assigned 记录时,在尝试将与 Spec.ConfigSource 关联的负载检查点时,在尝试加载或验证 Assigned 配置时等都可能发生错误。错误可能在同步配置的不同阶段发生。较早的错误(例如下载或检查点错误)不会导致回滚到 LastKnownGood,并且可能会在 Kubelet 重试时解决。稍后的错误(例如加载或验证已检查点配置)将导致回滚到 LastKnownGood。在后一种情况下,通常可以通过修正 Spec.ConfigSource 中分配的配置来解决错误。您可以通过在 Kubelet 日志中搜索错误消息来查找额外的调试信息。Error 是对错误状态的人类可读描述;机器可以检查 Error 是否为空,但不应依赖于不同 Kubelet 版本之间 Error 文本的稳定性。
config.lastKnownGood (配置.上次已知良好配置) (NodeConfigSource)
LastKnownGood 报告节点在尝试使用 Assigned 配置时遇到错误时将回退到的已检查点配置。当节点确定 Assigned 配置稳定且正确时,Assigned 配置会成为 LastKnownGood 配置。目前,这是通过从本地 Assigned 配置记录更新开始的 10 分钟浸泡期来实现的。如果在此周期结束时 Assigned 配置处于 Active 状态,它就会成为 LastKnownGood。请注意,如果 Spec.ConfigSource 被重置为 nil(使用本地默认值),LastKnownGood 也会立即重置为 nil,因为本地默认配置总是被认为是好的。您不应假设节点确定配置稳定性和正确性的方法,因为这将来可能会改变或变为可配置。
NodeConfigSource 指定节点配置源。恰好一个子字段(元数据除外)必须为非 nil。此 API 自 1.22 版本起已弃用
config.lastKnownGood.configMap (配置.上次已知良好配置.ConfigMap) (ConfigMapNodeConfigSource)
ConfigMap 是对节点 ConfigMap 的引用
ConfigMapNodeConfigSource 包含将 ConfigMap 引用为节点配置源的信息。此 API 自 1.22 版本起已弃用:https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
config.lastKnownGood.configMap.kubeletConfigKey (字符串), 必需
KubeletConfigKey 声明了引用的 ConfigMap 中的哪个键对应于 KubeletConfiguration 结构体。在所有情况下此字段都是必需的。
config.lastKnownGood.configMap.name (字符串), 必需
Name 是引用的 ConfigMap 的 metadata.name。在所有情况下此字段都是必需的。
config.lastKnownGood.configMap.namespace (字符串), 必需
Namespace 是引用的 ConfigMap 的 metadata.namespace。在所有情况下此字段都是必需的。
config.lastKnownGood.configMap.resourceVersion (字符串)
ResourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
config.lastKnownGood.configMap.uid (字符串)
UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中被禁用,在 Node.Status 中是必需的。
daemonEndpoints (守护进程端点) (NodeDaemonEndpoints)
运行在节点上的守护进程的端点。
features (特性) (NodeFeatures)
Features 描述了 CRI 实现所实现的一组特性。
NodeFeatures 描述了 CRI 实现所实现的一组特性。NodeFeatures 中包含的特性应该只依赖于 CRI 实现,而与运行时处理程序无关。
features.supplementalGroupsPolicy (布尔值)
如果运行时支持 SupplementalGroupsPolicy 和 ContainerUser,则 SupplementalGroupsPolicy 设置为 true。
images (镜像) ([]ContainerImage)
原子操作:合并时将被替换
此节点上的容器镜像列表
images.names ([]字符串)
原子操作:合并时将被替换
此镜像已知的名称。例如 ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]
images.sizeBytes (int64)
镜像的大小,以字节为单位。
nodeInfo (节点信息) (NodeSystemInfo)
用于唯一标识节点的一组 ID/UUID。更多信息:https://kubernetes.ac.cn/docs/reference/node/node-status/#info
NodeSystemInfo 是用于唯一标识节点的一组 ID/UUID。
nodeInfo.architecture (字符串), 必需
节点报告的架构
nodeInfo.bootID (字符串), 必需
节点报告的 Boot ID。
nodeInfo.containerRuntimeVersion (字符串), 必需
节点通过运行时远程 API 报告的 ContainerRuntime 版本(例如 containerd://1.4.2)。
nodeInfo.kernelVersion (字符串), 必需
节点从 'uname -r' 报告的内核版本(例如 3.16.0-0.bpo.4-amd64)。
nodeInfo.kubeProxyVersion (字符串), 必需
已弃用:节点报告的 KubeProxy 版本。
nodeInfo.kubeletVersion (字符串), 必需
节点报告的 Kubelet 版本。
nodeInfo.machineID (字符串), 必需
节点报告的 MachineID。对于集群中的唯一机器标识,此字段是首选。从 man(5) machine-id 了解更多信息:http://man7.org/linux/man-pages/man5/machine-id.5.html
nodeInfo.operatingSystem (字符串), 必需
节点报告的操作系统
nodeInfo.osImage (字符串), 必需
节点从 /etc/os-release 报告的 OS 镜像(例如 Debian GNU/Linux 7 (wheezy))。
nodeInfo.systemUUID (字符串), 必需
节点报告的 SystemUUID。对于唯一机器标识,MachineID 是首选。此字段特定于 Red Hat 主机 https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
nodeInfo.swap (节点信息.Swap) (NodeSwapStatus)
节点报告的 Swap 信息。
nodeInfo.swap.capacity (int64)
交换内存总量,以字节为单位。
phase (阶段) (字符串)
NodePhase 是最近观察到的节点的生命周期阶段。更多信息:https://kubernetes.ac.cn/docs/concepts/nodes/node/#phase 此字段从未被填充,并且现在已弃用。
runtimeHandlers (运行时处理程序) ([]NodeRuntimeHandler)
原子操作:合并时将被替换
可用的运行时处理程序。
NodeRuntimeHandler 是一组运行时处理程序信息。
runtimeHandlers.features (运行时处理程序.特性) (NodeRuntimeHandlerFeatures)
支持的特性。
NodeRuntimeHandlerFeatures 是运行时处理程序所实现的一组特性。
runtimeHandlers.features.recursiveReadOnlyMounts (布尔值)
如果运行时处理程序支持 RecursiveReadOnlyMounts,则 RecursiveReadOnlyMounts 设置为 true。
runtimeHandlers.features.userNamespaces (布尔值)
如果运行时处理程序支持 UserNamespaces(包括卷),则 UserNamespaces 设置为 true。
runtimeHandlers.name (字符串)
运行时处理程序名称。默认运行时处理程序为空。
volumesAttached (已连接卷) ([]AttachedVolume)
原子操作:合并时将被替换
连接到节点的卷列表。
volumesAttached.devicePath (字符串), 必需
DevicePath 表示卷应可用的设备路径
volumesAttached.name (字符串), 必需
已连接卷的名称
volumesInUse (使用中的卷) ([]字符串)
原子操作:合并时将被替换
节点正在使用(已挂载)的可连接卷列表。
NodeList (节点列表)
NodeList 是已注册到主节点的所有 Node 的完整列表。
apiVersion: v1
kind: NodeList
metadata (元数据) (ListMeta)
标准列表元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
items (条目) ([]Node), 必需
节点列表
操作
get
读取指定的 Node
HTTP 请求
GET /api/v1/nodes/{name}
参数
name (在路径中): 字符串, 必需
Node 的名称
pretty (在查询中): 字符串
响应
200 (Node): 成功
401: 未授权
get
读取指定 Node 的状态
HTTP 请求
GET /api/v1/nodes/{name}/status
参数
name (在路径中): 字符串, 必需
Node 的名称
pretty (在查询中): 字符串
响应
200 (Node): 成功
401: 未授权
list
列出或监听 kind 为 Node 的对象
HTTP 请求
GET /api/v1/nodes
参数
allowWatchBookmarks (在查询中): 布尔值
continue (在查询中): 字符串
fieldSelector (在查询中): 字符串
labelSelector (在查询中): 字符串
limit (在查询中): 整数
pretty (在查询中): 字符串
resourceVersion (在查询中): 字符串
resourceVersionMatch (在查询中): 字符串
sendInitialEvents (在查询中): 布尔值
timeoutSeconds (在查询中): 整数
watch (在查询中): 布尔值
响应
200 (NodeList): 成功
401: 未授权
create
创建一个 Node
HTTP 请求
POST /api/v1/nodes
参数
body: Node, 必需
dryRun (在查询中): 字符串
fieldManager (在查询中): 字符串
fieldValidation (在查询中): 字符串
pretty (在查询中): 字符串
响应
200 (Node): 成功
201 (Node): 已创建
202 (Node): 已接受
401: 未授权
update
替换指定的 Node
HTTP 请求
PUT /api/v1/nodes/{name}
参数
name (在路径中): 字符串, 必需
Node 的名称
body: Node, 必需
dryRun (在查询中): 字符串
fieldManager (在查询中): 字符串
fieldValidation (在查询中): 字符串
pretty (在查询中): 字符串
响应
200 (Node): 成功
201 (Node): 已创建
401: 未授权
update
替换指定 Node 的状态
HTTP 请求
PUT /api/v1/nodes/{name}/status
参数
name (在路径中): 字符串, 必需
Node 的名称
body: Node, 必需
dryRun (在查询中): 字符串
fieldManager (在查询中): 字符串
fieldValidation (在查询中): 字符串
pretty (在查询中): 字符串
响应
200 (Node): 成功
201 (Node): 已创建
401: 未授权
patch
部分更新指定的 Node
HTTP 请求
PATCH /api/v1/nodes/{name}
参数
name (在路径中): 字符串, 必需
Node 的名称
body: Patch, 必需
dryRun (在查询中): 字符串
fieldManager (在查询中): 字符串
fieldValidation (在查询中): 字符串
force (在查询中): 布尔值
pretty (在查询中): 字符串
响应
200 (Node): 成功
201 (Node): 已创建
401: 未授权
patch
部分更新指定 Node 的状态
HTTP 请求
PATCH /api/v1/nodes/{name}/status
参数
name (在路径中): 字符串, 必需
Node 的名称
body: Patch, 必需
dryRun (在查询中): 字符串
fieldManager (在查询中): 字符串
fieldValidation (在查询中): 字符串
force (在查询中): 布尔值
pretty (在查询中): 字符串
响应
200 (Node): 成功
201 (Node): 已创建
401: 未授权
delete
删除一个 Node
HTTP 请求
DELETE /api/v1/nodes/{name}
参数
name (在路径中): 字符串, 必需
Node 的名称
body: DeleteOptions
dryRun (在查询中): 字符串
gracePeriodSeconds (在查询中): 整数
ignoreStoreReadErrorWithClusterBreakingPotential (在查询中): 布尔值
pretty (在查询中): 字符串
propagationPolicy (在查询中): 字符串
响应
200 (Status): 成功
202 (Status): 已接受
401: 未授权
deletecollection
删除 Node 集合
HTTP 请求
DELETE /api/v1/nodes
参数
body: DeleteOptions
continue (在查询中): 字符串
dryRun (在查询中): 字符串
fieldSelector (在查询中): 字符串
gracePeriodSeconds (在查询中): 整数
ignoreStoreReadErrorWithClusterBreakingPotential (在查询中): 布尔值
labelSelector (在查询中): 字符串
limit (在查询中): 整数
pretty (在查询中): 字符串
propagationPolicy (在查询中): 字符串
resourceVersion (在查询中): 字符串
resourceVersionMatch (在查询中): 字符串
sendInitialEvents (在查询中): 布尔值
timeoutSeconds (在查询中): 整数
响应
200 (Status): 成功
401: 未授权
此页面是自动生成的。
如果你打算报告此页面问题,请在你的问题描述中说明此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。