热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

0168.Kk8s增加node资源后,显示资源没有更新解决方法

k8s增加node的CPU和Memory资源后,但显示资源没有更新,文中通


k8s增加node的CPU和Memory资源后,但显示资源没有更新,文中通过分析处理进行解决。


 





0. ENV















 


CentOS 7.6;


Kubernetes 1.23.5。




 





1. 问题现象















 


rh-node01虚拟机原有16C/32G,机器扩容到32C/64G后,虚拟机自动重启后,物理机查看资源已增加,但K8S查看资源显示没有变化,仍旧为16C/32G。




 





2. 查看当前主机资源















 


查看CPU资源,32core,系统层面已经识别:

    [root@rh-node01 ~]# grep process proc/cpuinfo | wc -l
    32




    查看内存资源为64G,系统层面已经识别:

      [root@rh-node01 ~]# free -h
      total used free shared buff/cache available
      Mem: 63G 16G 31G 39M 15G 46G
      Swap: 0B 0B 0B




      3. 查看kubelet服务

        [root@rh-node01 ~]# systemctl status kubelet    #服务启动时间较早,启动时间为2022-04-07 13:59:56
        ● kubelet.service - kubelet: The Kubernetes Node Agent
        Loaded: loaded (/usr/lib/systemd/system/kubelet.service;
        enabled; vendor preset: disabled)
        Drop-In: usr/lib/systemd/system/kubelet.service.d
        └─10-kubeadm.conf
        Active: active (running) since Thu 2022-04-07 13:59:56 CST;
        1 months 12 days ago
        Docs: https://kubernetes.io/docs/


         

        4. 问题分析



         资源指标管道图:

        kubelet: 用于管理容器资源的节点代理。可以使用 metrics/resource 和 stats kubelet API 端点访问资源指标。

        Summary API: kubelet 提供的 API,用于发现和检索可通过 stats 端点获得的每个节点的汇总统计信息

        Metrics API:metrics-server 实现了 Metrics API。此 API 允许你访问集群中节点和Pod的 CPU 和内存使用情况。它的主要作用是将资源使用指标提供给 K8s 自动缩放器组件。


        通过“资源指标管道”图和官方描述分析,集群中node节点CPU和内存等信息来源于kubelet,通过重启kubelet确保资源信息重新加载,最终资源显示正常。


         

        5. 解决方法


         


        通过重启kubelet,来确保k8s集群正常识别新增CPU和内存。

          # systemctl restart kubelet

                重启新增资源的node节点的kubelet服务,依赖较高的服务可能会有业务波动,甚至重启。



          再次查看CPU,CPU资源已经增加,变为32个CPU。

            [root@rh-node02 ~]# kubectl describe node rh-node01 | grep cpu
            cpu: 32
            cpu: 32
            cpu 13270m
            (41%) 25800m (80%)


             

            6. 参考



             

              https://kubernetes.io/zh/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/




              推荐阅读
              • k8s(十一)helm安装premetheus
                1prometheus基础知识1.1prometheus简介Prometheus是一套开源的系统监控报警框架。和Kubernetes类似,它也发源于Google的Borg体系,其原 ... [详细]
              • 以下内容|尾部_quarkus实战之一:准备工作
                篇首语:本文由编程笔记#小编为大家整理,主要介绍了quarkus实战之一:准备工作相关的知识,希望对你有一定的参考价值。欢迎访问我的GitHub ... [详细]
              • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
                每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
              • k8s进阶之搭建私有镜像仓库
                企业级私有镜像仓 ... [详细]
              • Kubernetes(k8s)基础简介
                Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
              • FluxCD、ArgoCD或Jenkins X,哪个才是适合你的GitOps工具?
                GitOps是一种使用基于Git的工作流程来全面管理应用和基础设施的想法,其在最近获得了极大关注。新一代的部署工具更能说明这一点,它们将GitOps作为 ... [详细]
              • DDD在微服务架构中落地应用
                1DDDDomainDrivenDesign(领域驱动设计,DDD),不是一种架构,而是一种架构方法论,是一种拆解业务、划分业务、确定业 ... [详细]
              • 启动监控MonitorTables主要存储一些监控信息(当前运行的SQL,IO统计信息,当前进程情况)比如monDevic ... [详细]
              • 云原生边缘计算之KubeEdge简介及功能特点
                本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
              • 2019我的金三银四
                先讲一下自己的情况吧,二本学生,17年毕业,目前在一家跨境电商从事Java技术开发工作(不是阿里,没那么厉害),技术栈目前偏向于容器云、持续集成持续交付这一块,也就是SpringBoot、Kuber ... [详细]
              • docker+k8s+git+jenkins
                docker+k8s+git+jenkins,Go语言社区,Golang程序员人脉社 ... [详细]
              • ajax 跨域webapi 最简单的demo(只介绍Get)
                这几天遇到一个nodejs的项目,使用VSCode开发,需要连接数据库的,但是用nodejs连接数据库比较繁琐,需要安装很多 ... [详细]
              • apk简单介绍APK的组成apk安装流程app的启动过程apk打包流程AIDLAIDL介绍为什么要设计这门语言它有哪些语法?默认支持的数据类型包括什么是apk打包流程 ... [详细]
              • Logistic回归主要针对输入的数据是多个,输出则是有限的数值型,多为2个分类。涉及到以下方面:1.输出yw0+w1*x1+w2*x2+..(x1,x2,是样本的 ... [详细]
              • 一、ImageRequest不知道将ImageRequest放在这里进行介绍是否合适,因为毕竟它属于一个请求队列,与StringRequest、Json ... [详细]
              author-avatar
              前世梦0708
              这个家伙很懒,什么也没留下!
              PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
              Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有