kubectl top pod输出的cpu、内存使用率是怎么计算的
使用 kk 创建 k8s 集群
文档:https://github.com/kubesphere/kubekey/blob/master/README_zh-CN.md
1、下载 kk
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | sh -
yum -y install conntrack socat
2、生成配置文件,根据环境修改配置文件
注意: 由于 Kubernetes 暂不支持大写 NodeName, hostname 中包含大写字母将导致后续安装过程无法正常结束
./kk create config --with-kubernetes v1.24.1 -f panbuhei-k8s.yml
3、使用配置文件创建 k8s 集群
./kk create cluster -f panbuhei-k8s.yml
4、使用配置文件为 k8s 集群添加节点
将新节点的信息添加到集群配置文件,然后应用更改。
./kk add nodes -f panbuhei-k8s.yml
·
Metrics Server
https://github.com/kubernetes-sigs/metrics-server
https://kubernetes.io/zh-cn/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/
安装 metrics-server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
默认安装时,pod会因为TLS验证失败而一直处于非Running状态,日志中会有报错: x509: cannot validate certificate for 192.168.1.3 because it doesn’t contain any IP SANs" node=“panbuhei”。这时,修改deployment在args部分增加--kubelet-insecure-tls配置可以禁用TLS验证。
kubectl top pod查看cpu测试
1、创建一个nginx工作负载,yaml如下:我们设置cpu的限制为500m,压测时看pod最大可以使用的cpu量。
apiVersion: apps/v1
kind: Deployment
metadata:annotations:labels:app: nginxname: nginxnamespace: default
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginxname: nginxresources:limits:cpu: 500mrequests:cpu: 100m
2、使用ab命令进行压测。
# 安装ab命令:yum -y install httpd-devel
ab -c 1000 -n 10000000 http://10.233.122.16/
3、使用kubectl top pod查看。
# 这里需要多次执行命令查看
[root@panbuhei ~]# kubectl top pod
NAME CPU(cores) MEMORY(bytes)
nginx-74477ffc8c-lkkzk 500m 3Mi
·
kubectl top pod 查看内存测试
kubectl top pod命令通过与kubelet节点上运行的cAdvisor(容器监控代理)进行通信,获取每个Pod中各个容器的CPU使用量和内存使用量。然后,它将这些值与Pod的请求资源(在Pod定义中指定的资源限制和请求)进行比较,并计算出CPU使用率和内存使用率。
计算CPU使用率时,kubectl top pod使用的是CPU使用量(CPU usage)除以CPU请求量(CPU request),然后乘以100。这表示CPU使用量相对于请求量的百分比。
计算内存使用率时,kubectl top pod使用的是内存使用量(Memory usage)除以内存请求量(Memory request),然后乘以100。这表示内存使用量相对于请求量的百分比。
请注意,这些计算是基于从kubelet节点上获取的实时指标数据进行的,因此可以提供近似的使用率数据。实际的计算可能会因资源的精确度、采样间隔和聚合方式而有所不同。
··
kubectl top pod命令实际上是通过kubelet的metrics API获取指标数据。您可以直接调用kubelet的metrics API来获取Pod的CPU和内存使用量。在命令行中运行以下命令:
curl -k https://<kubelet-node>:10250/stats/summary
这将返回一个JSON响应,其中包含有关节点上所有Pod的指标数据。您可以在响应中查找您感兴趣的Pod,并检查其CPU和内存使用量。
检查cAdvisor的指标:kubelet使用cAdvisor来收集容器的指标数据。您可以直接访问cAdvisor的metrics API来获取容器的CPU和内存使用量。在命令行中运行以下命令:
curl -k https://<kubelet-node>:4194/api/v1.3/subcontainers/
这将返回一个JSON响应,其中包含有关节点上所有容器的指标数据。您可以在响应中查找您感兴趣的容器,并检查其CPU和内存使用量。
相关文章:
kubectl top pod输出的cpu、内存使用率是怎么计算的
使用 kk 创建 k8s 集群 文档:https://github.com/kubesphere/kubekey/blob/master/README_zh-CN.md 1、下载 kk export KKZONEcn curl -sfL https://get-kk.kubesphere.io | sh - yum -y install conntrack socat2、生成配置文件,根据环境修改配置文件…...
Spring和SpringBoot常用注解(持续更新)
持久层(pojo) 1.Data注解 lombok注解,用于自动生成getter\setter\toString等方法,使用前需要在pom.xml中引入如下内容 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifa…...
redis做异步消息处理
pom依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 发送消息: RedisTemplate.convertAndSend(String channel, Obj…...
图书管理系统可行性分析报告
目 录 引言 1 1.1 编写目的 1 1.2 背景 1 1.3 定义 1 1.4 参考资料 1可行性研究的前提 1 2.1 要求 1 2.2 目标 1 2.3 条件、假定和限制 1 2.4 进行可行性研究的方法 2 2.5 评价尺度 2对现有系统的分析 2 3.1 处理流程和数据流程 2 3.2 工作负荷 2 3.3 费用开支 2 3.4 人员 2 3…...
比较难掌握的几道数据库面试题及答案
1.行级锁定的缺点: 比页级或表级锁定占用更多的内存。当在表的大部分中使用时,比页级或表级锁定速度慢,因为你必须获取更多的锁。 如果你在大部分数据上经常进行GROUP BY操作或者必须经常扫描整个表,比其它锁定明显慢很多。 用高…...
AI已经成立社区了,一个个比真人还真
文章目录 nainaimichirper川普的入驻英文版 nainaimi nainaimi是一个13岁的学生,一小时前,被一群人拖到体育馆, 那时的她还很胆小,只能哭诉着那些人的残忍和恶毒 结果半个小时前,她又被拖入了体育馆,这一…...
Qt实现DES ECB加密解密
环境:Windows11 64位 工具链:MinGW32 IDE:Qt 5.14 Qt使用DES加密需要用到OpenSSL库,首先要确定当前使用的Qt所支持的SSL版本。编译OpenSSL 查看当前Qt对OpenSSL的支持情况 qDebug() << QSslSocket::supportsSsl();返回 tr…...
拼多多新阶段,透露出不寻常
一个企业的特质,往往由这个企业的领导人所决定。 企业文化本质上就是领导人文化,领导人的风格会决定这个企业当下的现状。一个成功的大企业,往往需要不同的领导人来接替完成其发展使命。 在创业期,企业领导人需要的是勇气、执行…...
使用底层代码(无框架)实现卷积神经网络理解CNN逻辑
首先将数据集放入和底下代码同一目录中,然后导入一些相关函数的文件cnn_utils.py: import math import numpy as np import h5py import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.python.framework import ops def load_data…...
PID单环控制(位置环)
今天我们来聊一聊pid如何控制轮子转动位置 前期准备调试过程 前期准备 需要准备的几个条件: 1.获取实时编码器的计数值 2.写好pid控制算法的函数 3.设定好时间多久执行一次pid计算,并设置限幅输出。 4.多久执行一次pid输出 接下来我们看看这几个部分的…...
内存基础知识
概述 内存可存放数据。程序执行前需要先将外存中的数据放到内存中才能被CPU处理,因为CPU处理速度过快,而从硬盘读取数据较慢,所以内存是为了缓和CPU和硬盘之间的读取速度矛盾 在多道程序环境下,系统中会有多个程序并发执行&…...
快速入门matlab——运算方法
这是一个matlab神经网络的简单应用,主要用于预测光伏出力,输入为温度湿度等因素,输出为光伏出力 基于Matlab和CPLEX的2变量机组组合调度程序 基于MATLABCPLEX 的机组最优组合,成功求解表格化,图示化的机组组合结果 …...
2009.03-2022.06华证ESG季度评级(季度)
2009.03-2022.06华证ESG评级(季度) 1、时间:2009.03-2022.06.15 2、来源:整理自Wind 3、指标:华证ESG(只有综合评级,无细分评级数据) 4、样本数量:A股4800多家公司 …...
【大数据模型】LeonardoAi让心中所想跃然纸上
汝之观览,吾之幸也! 本文主要聊聊LeonardoAi绘图工具 一、注册Discord账号 不管LeonardoAi还是midjourney,都需要注册一个Discord账号,Discord是一个社区软件,在这里可以进行讨论和交流使用心得 LeonardoAi官网地址 …...
如何区别BI、大数据、信息化和数字化转型
商业智能BI可以实现业务流程和业务数据的规范化、流程化、标准化,打通ERP、OA、CRM等不同业务信息系统,整合归纳企业数据,利用数据可视化满足企业不同人群对数据查询、分析和探索的需求,从而为管理和业务提供数据依据和决策支持。…...
ESP32-C2开发板Homekit例程
准备 1.1硬件ESP32 C2开发板,如图1-1所示 图1-1 ESP32 C2开发板 1.2软件 CozyLife APP可以在各大应用市场搜索下载,也可以扫描二维码下载如图1-2所示 HomeKit flash download tool 烧录工具 esp32c2 homkit演示固件 烧录教程 打开flash_download_to…...
快速搭建一个 Kubernetes+Crane 环境,以及如何基于 Crane 优化你的集群和应用初体验
文章目录 一、活动介绍二、环境搭建三、安装本地的 Kind 集群和 Crane 组件四、界面截图五、主要功能六、整体架构七、Crane的优势八、总结参考文献 一、活动介绍 Crane 是由腾讯云主导开源的国内第一个基于云原生技术的成本优化项目,遵循 FinOps 标准,…...
深度学习图像识别模型:递归神经网络
深度学习是一种人工智能技术,它用于解决各种问题,包括自然语言处理、计算机视觉等。递归神经网络(Recurrent Neural Network,RNN)是深度学习中的一种神经网络模型,主要用于处理序列数据,例如文本…...
上门家教预约小程序开发 良师就在你身边
社会的发展科技的进步让人们对教育的重视度也逐渐升高,很多家长可以说是为了孩子的教育操碎了心。在学校还好有老师辅导,节假日在家的时候,很多家长自己本身文化知识有限或者工作繁忙没有时间辅导,送去辅导班来回接送又很麻烦&…...
CMake Practice 学习笔记五--cmake常用变量
这里列举一些cmake常用变量,后面带**表示常用,了解下,不用全部记住。 1、CMAKE_BINARY_DIR PROJECT_BINARY_DIR ** <projectname>_BINARY_DIR 这三个变量指代的内容是一样的,如果是 in source 编译,指的就是工程顶层目…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
