k8s之部署metrics-server 转载

Metrics Server是Kubernetes内置自动缩放管道的可扩展,高效的容器资源指标来源。

Metrics Server从Kubelet收集资源指标,并通过Metrics API在Kubernetes apiserver中公开它们, 以供Horizontal Pod Autoscaler和Vertical Pod Autoscaler使用。也可以通过访问Metrics APIkubectl top,从而更轻松地调试自动缩放管道。

Metrics Server并非用于非自动缩放目的。例如,请勿将其用于将指标转发到监视解决方案,也不要将其用作监视解决方案指标的来源。

Metrics Server提供:

适用于大多数集群的单个部署(请参阅需求)

可扩展支持多达5,000个节点集群

资源效率:Metrics Server使用0.5m的CPU核心,每个节点使用4 MB的内存

用于监测node,pod等的CPU,内存使用情况。

推荐版本 0.3.6 阿里源有资源包可以拉取镜像

image.png

项目下载地址

1、修改配置检查 API Server 是否开启了 Aggregator Routing:查看 API Server 是否具有 –enable-aggregator-routing=true 选项。···swift [root@k8s-master ~]# ps -ef |grep apiserver|grep true

image.png

1.1添加参数[root@k8s-master ~]# grep -A 10 command /etc/kubernetes/manifests/kube-apiserver.yaml

image.png

  • –enable-aggregator-routing=true

kubeadm部署的在/etc/kubernetes/manifests/kube-apiserver.yaml这里修改,kubelet会监听这个yaml文件的变化修改这个文件后kubelet会将自动终止原有的 kube-apiserver的 Pod,并自动创建一个使用了新配置参数的 Pod 作为替代。

2,metrics-server部署

官方下载wget

修改components.yaml 文件,替换国内镜像源地址:

image: registry.cn-hangzhou.aliyuncs.com/ljck8s/metrics-server-amd64:v0.3.6

修改配置,根据群集设置

  • –kubelet-insecure-tls #不要验证Kubelets提供的服务证书的CA。仅用于测试目的。
  • –kubelet-preferred-address-types=InternalIP #metrics-server默认使用的是hostname,但是coredns中并没有三台物理机器的hostname和IP地址的关系,需要改为使用主机IP地址;

image.png

PS:k8s集群版本低于1.14的,还需修改 nodeSelector 字段 kubernetes.io/os 替换成 beta.kubernetes.io/os

部署metrics-server

kubectl apply -f components.yaml

image.png

kubectl get pods -n kube-system

image.png

kubectl top pods -A

image.png

kubectl top node

image.png

在node节点上docker ps -a |grep sh 可以找出名称中包含sh的 容器

docker top CONTAINER ID 可以查看具体某个容器的 情况

image.png

docker stats 命令查看docker stats 命令用来返回运行中的容器的实时数据流,

默认情况下,stats 使用参数-a或者–all,命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。

docker stats -a

CONTAINER ID CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 1ad181f01c76 0.00% 1.766MiB / 30.89GiB 0.01% 0B / 0B 0B / 0B 1 73c1189ddd0e 0.04% 1.178GiB / 2GiB 58.88% 0B / 0B 0B / 254kB 68 ed1a36493259 0.00% 1.25MiB / 30.89GiB 0.00% 0B / 0B 0B / 0B 1 05c08624b3d7 0.00% 1.543MiB / 30.89GiB 0.00% 0B / 0B 0B / 0B 1 9013e1d0a243 0.00% 1.578MiB / 30.89GiB 0.00% 0B / 0B 0B / 0B 1

[CONTAINER]:以短格式显示容器的 ID。[CPU %]:CPU 的使用情况。[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。[MEM %]:以百分比的形式显示内存使用情况。[NET I/O]:网络 I/O 数据。[BLOCK I/O]:磁盘 I/O 数据。[PIDS]:PID 号。

格式化输出 docker stats –no-stream –format “table {{.Container}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}”

image.png

上面的命令中我们只输出了 Name, CPUPerc 和 Memusage 三列。

下面是自定义的格式中可以使用的所有占位符:.Container 根据用户指定的名称显示容器的名称或 ID。.Name 容器名称。.ID 容器 ID。.CPUPerc CPU 使用率。.MemUsage 内存使用量。.NetIO 网络 I/O。.BlockIO 磁盘 I/O。.MemPerc 内存使用率。.PIDs PID 号。有了这些信息我们就可以完全按照自己的需求或者是偏好来控制 docker stats 命令输出的内容了。

4、日志分析方式:k8s日志查看kubectl logs

kubectl logs -f test-huishi-server-6c68d8c769-5lf9z docker日志查看docker logs da0072b10205

Original: https://www.cnblogs.com/luoluo160717/p/15799659.html
Author: 不用去猜。
Title: k8s之部署metrics-server 转载

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611654/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 以STM32和FPGA为核心的多组件协调工作系统

    posted @2019-06-09 22:04 xutopia 阅读(709 ) 评论() 编辑 Original: https://www.cnblogs.com/xutopi…

    Linux 2023年6月14日
    0127
  • bootstrap的基础使用

    Bootstrap Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个…

    Linux 2023年6月7日
    0111
  • LeetCode-1047. 删除字符串中的所有相邻重复项

    题目来源 题目详情 给出由小写字母组成的字符串 S, 重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项…

    Linux 2023年6月7日
    0128
  • Python中使用%s占位符生成sql与literal转义防止sql注入攻击原理浅析

    问题背景 在后端服务中经常需要通过传入参数动态生成sql查询mysql,如查询用户信息、资产信息等,一条常见的sql如下: SELECT vip, coin FROM user_a…

    Linux 2023年6月6日
    0139
  • 自动化服务器巡检的实现过程

    由于上级的工作安排,从今年5月开始,每天都要做一些服务器信息检查。 [En] Due to the work arrangement of the superior, it is …

    Linux 2023年5月27日
    098
  • 如何逃离框架孤井?

    前言 前面我发过一篇文章,脱离了Spring询问大家能不能继续开发,结果文章下面的评论和回复都告诉我大家伙的基础打得很牢固,该咋写还是咋写。看得我在这内卷的时代瞬间躺平。 那么今天…

    Linux 2023年6月13日
    099
  • 前端数据提交给后端之HTML表单简单剖析

    写在开篇 什么是表单呢?当前端想要提交数据给后端,怎么搞?那么在前端开发中,表单是常用的手段,比如常见的场景有:登录框、账号注册页、主机信息录入CMDB等等场景都是需要表单。那么在…

    Linux 2023年6月7日
    0103
  • 面试题目汇总

    目录: 1、数字数组数字数组2、字符串字符串3、链表 链表4、二叉树二叉树 5、堆栈 堆栈 posted @2019-12-11 20:35 风御之举 阅读(63 ) 评论() 编…

    Linux 2023年6月13日
    092
  • 命令行下Git调用IDEA的diff功能

    本文将介绍, 如何在命令行下, 让git diff命令调用IDEA的diff功能! IDEA diff IDEA虽然是一个图形化工具, 其实也提供了极少一部分命令行接口, 将IDE…

    Linux 2023年6月7日
    0116
  • 2021年3月-第01阶段-Linux基础-Linux系统的启动流程

    Linux系统的启动流程 理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题。 上图为Linux操作系统启动流程 1….

    Linux 2023年5月27日
    0125
  • spring boot设置日志打印为控制台输出和文件输出

    日志打印 sources里建 logback-spring.xml ${CONSOLE_LOG_PATTERN} ${CONSOLE_LOG_CHARSET} ${FILE_LOG…

    Linux 2023年6月7日
    0123
  • linux下应用程序界面初始位置及鼠标拖动失效

    故事背景:最近在适配uos系统,客户端程序启动初始位置乱跳,并不是我设置的屏幕中间,鼠标拖动失效,一度怀疑自己的代码有问题,开始我们的探险之路吧。。。 探索之路:后来goolge发…

    Linux 2023年6月13日
    0118
  • Python List 中的append 和 extend 的区别

    方法的参数不同 append 方法是向原list的末尾添加一个对象(任意对象;如元组,字典,列表等),且只占据一个原list的索引位,添加后无返回值,直接在原列表中添加。 list…

    Linux 2023年6月7日
    094
  • Linux基础学习(二)

    显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 [root@ct7 ~]# ls /etc | grep -E “^[0-9][a-z]*”…

    Linux 2023年6月8日
    091
  • PHP 通过两个日期计算年龄

    参数:$birth_year:出生年份;$birth_month:出生月份;$birth_day:出生日 function getAgeByBirth($birth_year,$b…

    Linux 2023年6月7日
    0110
  • 操作系统发展史

    手工操作——穿孔卡片 1946年第一台计算机诞生–20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸…

    Linux 2023年6月14日
    0104
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球