节点管理
Kubernetes 将容器放入容器组(Pod)中并在节点上运行,从而运行工作负载。取决于具体的集群环境,节点可以是虚拟机,也可以是物理机。每个节点都包含运行容器组所需的服务,这些服务由控制平面管理。有关节点的更多信息,请参阅Kubernetes 官方文档。
本教程介绍集群管理员可查看的集群节点信息和可执行的操作。
准备工作
您需要一个被授予集群管理权限的用户。例如,您可以直接用 admin
用户登录控制台,或创建一个具有集群管理权限的角色然后将此角色授予一个用户。
节点状态
只有集群管理员可以访问集群节点。由于一些节点指标对集群非常重要,集群管理员应监控这些指标并确保节点可用。请按照以下步骤查看节点状态。
点击左上角的平台管理,然后选择集群管理。
如果您已启用了多集群功能并已导入了成员集群,您可以选择一个特定集群以查看其节点信息。如果尚未启用该功能,请直接进行下一步。
在左侧导航栏中选择节点下的集群节点,查看节点的状态详情。
- 名称:节点的名称和子网 IP 地址。
- 状态:节点的当前状态,标识节点是否可用。
- 角色:节点的角色,标识节点是工作节点还是主节点。
- CPU 用量:节点的实时 CPU 用量。
- 内存用量:节点的实时内存用量。
- 容器组:节点的实时容器组用量。
- 已分配 CPU:该指标根据节点上容器组的总 CPU 请求数计算得出。它表示节点上为工作负载预留的 CPU 资源。工作负载实际正在使用 CPU 资源可能低于该数值。该指标对于 Kubernetes 调度器 (kube-scheduler) 非常重要。在大多数情况下,调度器在调度容器组时会偏向配得 CPU 资源较少的节点。有关更多信息,请参阅为容器管理资源。
- 已分配内存:该指标根据节点上容器组的总内存请求计算得出。它表示节点上为工作负载预留的内存资源。工作负载实际正在使用内存资源可能低于该数值。
备注
在大多数情况下,CPU 和已分配 CPU 的数值不同,内存和已分配内存的数值也不同,这是正常现象。集群管理员需要同时关注一对指标。最佳实践是根据节点的实际使用情况为每个节点设置资源请求和限制。资源分配不足可能导致集群资源利用率过低,而过度分配资源可能导致集群压力过大从而处于不健康状态。
节点管理
在集群节点页面,您可以执行以下操作:
停止调度/启用调度:点击集群节点右侧的 ,然后点击停止调度或启用调度停止或启用调度节点。您可以在节点重启或维护期间将节点标记为不可调度。Kubernetes 调度器不会将新容器组调度到标记为不可调度的节点。但这不会影响节点上现有工作负载。
打开终端:点击集群节点右侧的 ,然后点击打开终端。该功能让您更加便捷地管理节点,如修改节点配置、下载镜像等。
编辑污点:污点允许节点排斥一些容器组。勾选目标节点前的复选框,在上方弹出的按钮中点击编辑污点。在弹出的编辑污点对话框,您可以添加或删除污点。
同时,您也可以点击列表中的某个节点打开节点详情页面。除了停止调度/启用调度和编辑污点外,您还可以执行以下操作:
编辑标签:您可以利用节点标签将容器组分配给特定节点。首先标记节点(例如,用
node-role.kubernetes.io/gpu-node
标记 GPU 节点),然后在创建工作负载时在高级设置中添加此标签,从而使容器组在 GPU 节点上运行。要添加节点标签,请点击更多操作 > 编辑标签。查看节点运行状态、容器组、元数据、监控和事件。
备注
请谨慎添加污点,因为它们可能会导致意外行为从而导致服务不可用。有关更多信息,请参阅污点和容忍度。
添加和删除节点
当前版本不支持通过 KubeSphere 控制台添加或删除节点。您可以使用 KubeKey 来进行此类操作。有关更多信息,请参阅添加新节点和删除节点。