节点 (Node) 中有一个重要的功能即污点 (Taints) 管理。我们知道节点亲和性 (NodeAffinity) 是 Pod 上定义的一种属性,使 Pod 能够按我们的要求调度到某个节点上,而污点则恰恰相反,它可以让节点拒绝运行 Pod,甚至驱逐 Pod。污点是节点的一个属性,如果主机设置了污点后,底层的 Kubernetes 是不会将 Pod 调度到这个节点上的。

首先登录 KubeSphere 管理控制台,访问左侧菜单栏,在 资源 菜单下,点击 主机管理 按钮进入列表页。作为集群管理员,可以查看当前集群下所有主机信息。列表即可一目了然每个节点的状态、污点情况和最常用的 CPU、内存、容器组数量等监控指标。

点击列表中的某台主机,进入详情页。例如以下节点,我们发现它的内存使用情况已经高达 91 % ,因此不建议再继续往这台节点上调度新的 Pod,可以为其设置一个污点。设置了污点后,KubeSphere 是不会将 Pod 调度到这个 Node 上的。

1、点击左上角 污点管理 按钮,进入主机污点 (Taints) 管理页面。

污点详情

3、比如此处设置为 ,effect 设置为 NoSchedule,那么只有设置了 Toleration 与该 Node 污点属性一致的 Pod,才允许被调度到该节点。

在主机列表页,点击某个主机节点打开其详情页,可以看到当前主机下所有资源的概况,包括主机的 CPU 、内存和容器组资源运行和使用状态,并且支持查看主机上所有容器组的资源使用情况和数量变化,以及注解 (Annotation) 和事件 (Events) 信息。

  • OutOfDisk:表示当前节点是否有足够的空间添加和运行新的 Pods
  • MemoryPressure:表示当前节点的内存压力的高低
  • DiskPressure:表示当前节点的磁盘压力高低
  • PIDPressure:表示当前节点的进程是否存在压力

节点详情

查看监控

值得一提的是,主机管理支持细粒度的资源监控,可筛选指定时间范围内的监控数据以查看变化情况。

在主机详情页面,点击左侧 停用 (cordon) 按钮,主机状态变为 无法调度,当前按钮变为 启用 (uncordon),当有新的工作负载被创建时将不会被调度到此节点,如想回复为可调度状态,点击 启用 按钮。

如果需要限制 Pod 到指定的 Node 上运行,则可以给 Node 打标签 (Label) 并给 Pod 配置节点选择器 (NodeSelector)。

例如,给其中一个 Node 打上标签 后,如果给 Pod 也设置了 NodeSelector 为 ,那么该 Pod 将只会在这一个节点上运行。

修改主机标签