第 2 章 Node [v1]
- 描述
- 节点是 Kubernetes 中的 worker 节点。每个节点在缓存中都有一个唯一标识符(例如在 etcd 中)。
- 类型
- 
						object
2.1. 规格
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
								 | 
								 | APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | 
| 
								 | 
								 | kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | 
| 
								 | 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
| 
								 | 
								 | nodeSpec 描述了创建节点的属性。 | 
| 
								 | 
								 | NodeStatus 显示有关节点当前状态的信息。 | 
2.1.1. .spec
- 描述
- nodeSpec 描述了创建节点的属性。
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用 | 
| 
									 | 
									 | 已弃用。并非所有 kubelet 将设置此字段。在 1.13 后删除字段,请参阅 :https://issues.k8s.io/61966 | 
| 
									 | 
									 | PodCIDR 代表分配给节点的 pod IP 范围。 | 
| 
									 | 
									 | podCIDRs 代表分配给节点的 IP 范围,供该节点上的 Pod 使用。如果指定了此字段,则 0th 条目必须与 podCIDR 字段匹配。它最多可包含每个 IPv4 和 IPv6 的 1 值。 | 
| 
									 | 
									 | 由云供应商分配的节点的 ID,格式为: <ProviderName>://<ProviderSpecificNodeID> | 
| 
									 | 
									 | 如果指定,节点的污点。 | 
| 
									 | 
									 | 此 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
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 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 声明引用 ConfigMap 的键对应于 KubeletConfiguration 结构此字段。 | 
| 
									 | 
									 | name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。 | 
| 
									 | 
									 | namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。 | 
| 
									 | 
									 | resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
| 
									 | 
									 | 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
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 必需。污点对不容许该污点的 pod 的影响。有效效果为 NoSchedule、PreferNoSchedule 和 NoExecute。 
									可能枚举值: -  | 
| 
									 | 
									 | 必需。要应用到节点的污点键。 | 
| 
									 | TimeAdded 代表添加污点的时间。它仅针对 NoExecute 污点编写。 | |
| 
									 | 
									 | 与污点键对应的污点值。 | 
2.1.6. .status
- 描述
- NodeStatus 显示有关节点当前状态的信息。
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 节点可访问的地址列表。从云供应商查询(如果可用)。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#addresses 注意:此字段声明为可合并的,但合并密钥不够唯一,这可能会在合并时造成数据崩溃。调用者应该使用 full-replacement 补丁。如需示例,请参阅 https://pr.k8s.io/79391。消费者应假定地址可在节点生命周期内发生更改。但是,有些例外情况可能无法正常工作,例如,在 Downward API (status.hostIP)中继承节点地址的 Pod。 | 
| 
									 | 
									 | NodeAddress 包含节点地址的信息。 | 
| 
									 | allocatable 代表可用于调度的节点的资源。默认为 Capacity。 | |
| 
									 | Capacity 代表节点的总资源。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity | |
| 
									 | 
									 | 条件是当前观察到的节点条件的数组。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#condition | 
| 
									 | 
									 | NodeCondition 包含节点的条件信息。 | 
| 
									 | 
									 | NodeConfigStatus 描述了 Node.Spec.ConfigSource 分配的配置状态。 | 
| 
									 | 
									 | NodeDaemonEndpoints 列出了由节点上运行的守护进程打开的端口。 | 
| 
									 | 
									 | 此节点上的容器镜像列表 | 
| 
									 | 
									 | 描述容器镜像 | 
| 
									 | 
									 | NodeSystemInfo 是一组 ids/uuids,用于唯一标识节点。 | 
| 
									 | 
									 | NodePhase 是节点最近观察到的生命周期阶段。更多信息: https://kubernetes.io/docs/concepts/nodes/node/#phase 字段永不填充,现在已弃用。 
									可能枚举值: -  | 
| 
									 | 
									 | 附加到节点的卷列表。 | 
| 
									 | 
									 | AttachedVolume 描述了附加到节点的卷 | 
| 
									 | 
									 | 节点使用的可附加卷列表(挂载)。 | 
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
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 节点地址。 | 
| 
									 | 
									 | 节点地址类型,一个用于 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
 
- 
										
2.1.11. .status.config
- 描述
- NodeConfigStatus 描述了 Node.Spec.ConfigSource 分配的配置状态。
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用 | 
| 
									 | 
									 | NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用 | 
| 
									 | 
									 | 错误描述了将 Spec.ConfigSource 协调到 Active 配置中的任何问题。可能会出现错误,例如尝试检查点 Spec.ConfigSource 到本地分配记录,尝试检查点与 Spec.ConfigSource 关联的有效负载,尝试加载或验证分配的配置等。同步配置时在不同点上可能会出现错误。以前的错误(如下载或检查点错误)不会导致回滚到 LastKnownGood,并可能会在 Kubelet 重试过程中解决。之后的错误(如加载或验证检查点的配置)将导致回滚到 LastKnownGood。在后者的情况下,通常可以通过修复 Spec.ConfigSource 中分配的配置来解决这个问题。您可以通过在 Kubelet 日志中搜索错误消息来查找用于调试的额外信息。错误是错误状态人类可读的描述;机器可以检查 Error 是否为空,但应该不依赖于 Kubelet 版本中的 Error 文本的稳定性。 | 
| 
									 | 
									 | NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用 | 
2.1.12. .status.config.active
- 描述
- NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 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 声明引用 ConfigMap 的键对应于 KubeletConfiguration 结构此字段。 | 
| 
									 | 
									 | name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。 | 
| 
									 | 
									 | namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。 | 
| 
									 | 
									 | resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
| 
									 | 
									 | UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
2.1.14. .status.config.assigned
- 描述
- NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 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 声明引用 ConfigMap 的键对应于 KubeletConfiguration 结构此字段。 | 
| 
									 | 
									 | name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。 | 
| 
									 | 
									 | namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。 | 
| 
									 | 
									 | resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
| 
									 | 
									 | UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
2.1.16. .status.config.lastKnownGood
- 描述
- NodeConfigSource 指定节点配置的来源。只有一个子字段(不包括元数据)必须是非il。此 API 从 1.22 开始已弃用
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 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 声明引用 ConfigMap 的键对应于 KubeletConfiguration 结构此字段。 | 
| 
									 | 
									 | name 是引用的 ConfigMap 的 metadata.name。所有情况下都需要此字段。 | 
| 
									 | 
									 | namespace 是引用的 ConfigMap 的 metadata.namespace。所有情况下都需要此字段。 | 
| 
									 | 
									 | resourceVersion 是引用的 ConfigMap 的 metadata.ResourceVersion。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
| 
									 | 
									 | UID 是引用的 ConfigMap 的 metadata.UID。此字段在 Node.Spec 中禁止,在 Node.Status 中需要。 | 
2.1.18. .status.daemonEndpoints
- 描述
- NodeDaemonEndpoints 列出了由节点上运行的守护进程打开的端口。
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | DaemonEndpoint 包含有关单个守护进程端点的信息。 | 
2.1.19. .status.daemonEndpoints.kubeletEndpoint
- 描述
- DaemonEndpoint 包含有关单个守护进程端点的信息。
- 类型
- 
								object
- 必填
- 
										端口
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 给定端点的端口号。 | 
2.1.20. .status.images
- 描述
- 此节点上的容器镜像列表
- 类型
- 
								array
2.1.21. .status.images[]
- 描述
- 描述容器镜像
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 此镜像已知的名称。例如 ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"] | 
| 
									 | 
									 | 以字节为单位镜像的大小。 | 
2.1.22. .status.nodeInfo
- 描述
- NodeSystemInfo 是一组 ids/uuids,用于唯一标识节点。
- 类型
- 
								object
- 必填
- 
										machineID
- 
										systemUUID
- 
										bootID
- 
										kernelVersion
- 
										osImage
- 
										containerRuntimeVersion
- 
										kubeletVersion
- 
										kubeProxyVersion
- 
										operatingSystem
- 
										架构
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 节点报告的构架 | 
| 
									 | 
									 | 节点报告的引导 ID。 | 
| 
									 | 
									 | 通过运行时远程 API (如 containerd://1.4.2)报告的 containerruntime Version。 | 
| 
									 | 
									 | 节点从 'uname -r' 报告的内核版本(如 3.16.0-0.bpo.4-amd64)。 | 
| 
									 | 
									 | 节点报告的 kubeProxy 版本。 | 
| 
									 | 
									 | 节点报告的 kubelet 版本。 | 
| 
									 | 
									 | 节点报告的 MachineID。对于集群中唯一机器识别,首选此字段。从 man (5) machine-id 了解更多 :http://man7.org/linux/man-pages/man5/machine-id.5.html | 
| 
									 | 
									 | 节点报告的操作系统 | 
| 
									 | 
									 | 节点从 /etc/os-release (如 Debian GNU/Linux 7 (wheezy))报告的操作系统镜像。 | 
| 
									 | 
									 | 节点报告的 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 代表卷应该可用的设备路径 | 
| 
									 | 
									 | 附加卷的名称 |