• Kubernetes实战(三)-k8s节点设置cpu高于多少就不调度


    1 k8s节点设置的概念和原理

    k8s是Google开源的容器集群管理系统,用于自动化部署、扩展和管理容器化应用程序。在k8s中,Node是指容器运行的物理或虚拟机器。Node可以是一个物理机或一个虚拟机器,k8s通过其调度器将Pod调度到每个Node上。对于一个Node来说,可以设置其CPU的上限来控制该Node上运行的容器的资源限制,从而达到控制该Node上负载的目的。

    通常情况下,k8s集群中每个Node的CPU资源是有限的,而且受到Kubernetes中各种抢占行为的影响,这些抢占行为可能导致某些Node的CPU资源被耗尽。因此,为了保证Kubernetes集群的稳定性和可靠性,需要对k8s节点设置CPU高于一定水平不允许调度容器。

    2 如何设置k8s节点的CPU限制

    k8s节点的CPU限制可以通过设置k8s调度器的参数来实现,具体步骤如下:

    1)打开k8s调度器的配置文件 kube-scheduler.yaml;

    2)在spec configuration parameters中找到--kube-reserved参数,并添加如下配置项: --kube-reserved cpu=1000m,memory=1Gi,ephemeral-storage=1Gi

    3)修改配置参数--cpu-limit-percent的数值,将其设置为一个合理的值;

    4)保存并退出文件。

    这里需要注意的是,对于k8s节点的CPU调度限制的设置,需要根据实际情况进行调整,比如内存大小、容器数量、容器类型等因素。一般情况下,k8s节点的CPU调度限制默认为100%,而实际调度节点的CPU利用率一般不会超过80%左右,因此,合理的CPU限制数值应该小于80%。同时为了保证一定的CPU资源用于Node的正常运行,建议将CPU限制调低一些。

    3 如何验证k8s节点的CPU限制是否生效

    为了验证k8s节点的CPU限制是否生效,可以通过以下两种方法进行验证:

    1)k8s dashboard验证

    进入k8s dashboard,选择Pods - Nodes选项卡,在Nodes列表中选择需要验证的Node,在该Node的Details选项中找到Allocated Resources的CPU信息,可以看到该节点的CPU利用率是否达到了限制值。

    1. kubectl proxy
    2. http://localhost:8001/api/v1/nodes/your_node_name_here/proxy/
    访问dashboard即可。
    

    2. 使用kubectl top命令验证:在Node所在的集群上运行以下命令:

    kubectl top node

    该命令将返回Node的CPU和内存使用情况,以及节点的CPU利用率。

  • 相关阅读:
    git 回滚到指定版本
    SQLZOO:SELECT from WORLD
    基于fastai 1.0.61的SSD目标检测算法 代码详解 (一)
    Kubernetes亲和性学习笔记
    Synopsys Sentaurus TCAD系列教程之-Tcl《3》
    Python Opencv实践 - 车牌定位(纯练手,存在失败场景,可以继续优化)
    vue3使用element-plus
    Java中的字符串
    设计模式-day01
    好用的天气预报API推荐
  • 原文地址:https://blog.csdn.net/ygq13572549874/article/details/133848134