k8s 检测node节点内存使用率平衡调度脚本 —— 筑梦之路

这篇具有很好参考价值的文章主要介绍了k8s 检测node节点内存使用率平衡调度脚本 —— 筑梦之路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

直接上脚本:

#! /bin/bash

#对实际使用内存大于85%的机器停止调度,对实际使用内存小于70%的 关闭调度

# 获取实际内存小于或等于70%的机器
memory_lt_70=`kubectl top nodes |awk 'NR>1{if($5+0<=70) print $1}'`
# 获取实际内存大于或等于85%的机器
memory_gt_85=`kubectl top nodes |awk 'NR>1{if($5+0>=85) print $1}'`
#获取已经关闭调度的机器
SchedulingDisabled=`kubectl get nodes |egrep -v "control-plane|master" |grep SchedulingDisabled | awk '{print $1}'`

 # 如果有关闭调度的机器,判断其内存小于或等于70%,则放开调度
if  [ -n  "$SchedulingDisabled" ];then
    for node in $SchedulingDisabled ;do
        if [[  $memory_lt_70 =~ $node ]];then
           kubectl  uncordon $node
        fi
    done
fi
#如果有内存大于或等于85%的机器,判断其是否停止调度,如果没有,则停止调度
if  [ -n  "$memory_gt_85" ];then
    for node in $memory_gt_85 ;do
        if [[ $SchedulingDisabled =~ $node ]];then
           echo  $node is aleady cordorned
        else
           kubectl  cordon $node
        fi
    done
fi

参考资料:

一招完美解决k8s调度不均问题文章来源地址https://www.toymoban.com/news/detail-792783.html

到了这里,关于k8s 检测node节点内存使用率平衡调度脚本 —— 筑梦之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

    一、docker的问世         在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。 虚拟机是什么?         虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

    2024年03月26日
    浏览(49)
  • k8s添加node节点和master节点

    版本: kubelet:v1.20.4 docker: 20.10.23 资源: cpu:8 mem:16 kernel:3.10.0-1160.71.1.el7.x86_64 镜像仓库地址: registry.cn-hangzhou.aliyuncs.com/google_containers/ 2.1)关闭防火墙 2.2)关闭selinux 3)修改内核和加载所需要的内核 2.3)准备yum源 3.1)刷新缓存安装kubeadm、kubectl、kubelet、docker-ce 3.2)设置syste

    2023年04月16日
    浏览(35)
  • k8s删除node节点的方法

    2024年02月16日
    浏览(34)
  • Redis内存使用率高,内存不足问题排查和解决

    表面现象是系统登录突然失效,排查原因发现,使用redis查询用户信息异常,从而定位到redis问题 我的redis使用的是华为云的redis分布式缓存服务,所以在问题排查方面,我们可以结合华为云提供的丰富的分析诊断工具来辅助排查解决问题。 1、问题定位到redis上,登陆redis服务

    2024年02月03日
    浏览(29)
  • 设置k8s中节点node的ROLES值,K8S集群怎么修改node1的集群ROLES

    其实这个Roles就是一个标签,执行以下命令给node1 和 node2 打上worker标签 k8s-node1 打上标签为worker1 k8s-node2 打上标签为worker2

    2024年02月02日
    浏览(36)
  • k8s集群加入一个新的node节点

    实验目的:在已有的k8s集群中加入一个新的node节点,并正常工作。 已有的k8s集群节点信息:centos7.9 kubeadm 安装kubernetes集群 192.168.206.130 master 192.168.206.131 k8s-node1 192.168.206.136 k8s-node2 新加入一个节点: 192.168.206.138 k8s-node3 kubectl get nodes  kubectl get nodes -o wide  在进行下面的步骤之

    2024年02月16日
    浏览(36)
  • k8s node节点加入集群,token过期

    1、master01节点执行  kubeadm token create --print-join-command 2、执行命令 kubeadm join 192.168.0.236:16443 --token qucd8q.hsfq4a1afluzaky3 --discovery-token-ca-cert-hash sha256:92175a356db070deb2ddd3823e288e3005a4baeec9b68580dcc11ce4d3767195 3、查看node02节点是否加入集群

    2024年01月18日
    浏览(34)
  • K8S集群node节点状态为notready

    Kubernetes集群中的node节点状态显示为notready,这通常意味着该节点上的一个或多个组件出现了故障。在这种情况下,您需要进一步检查该节点的状态以确定问题的原因。您可以使用kubectl命令检查node的详细信息,例如: 此命令将显示该节点的状态,以及可能导致notready状态的任

    2024年02月15日
    浏览(33)
  • k8s集群—node节点的删除与添加

    在搭建集群过程中,有时候会遇到一个节点处于ready状态,另一个节点处于notready状态,需要把node节点从集群中删除后再次加入。 如果需要在k8s集群中删除节点,首先需要在master节点上删除该节点的相关数据,再删除该节点,接着在该节点上进行reset操作,接着删除相关文件

    2024年02月17日
    浏览(43)
  • k8s集群node节点运行kubectl命令

            在容器化项目部署中,某些应用需要部署到指定的机器上(涉及机器信息收集,然后生成license,机器授权等),所以需要在k8s集群的node节点上,手动执行kubectl命令。         具体的操作步骤如下: (1)在node节点执行任意kubectl命令,例如:kubectl get nodes,可以看到

    2024年02月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包