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)

大家都在看

  • 分布式系统架构理论与组件

    1.分布式系统的发展 在计算机发展的早期,一直都是集中式计算,计算能力依赖大型计算机。随着互联网的发展,繁重的业务需要巨大的计算能力才能完成,而集中式计算无法满足要求,大型计算机的…

    Linux 2023年6月6日
    0102
  • ShardingSphere-proxy-5.0.0分布式哈希取模分片实现(四)

    一、说明 主要是对字符串的字段进行hash取模 二、修改配置文件config-sharding.yaml,并重启服务 # Licensed to the Apache Softwa…

    Linux 2023年6月14日
    067
  • ETCD分布式存储部署

    一、ETCD 概述 ETCD 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置。具有一下优点: 简单: 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的…

    Linux 2023年6月14日
    090
  • Canal-1.1.5部署安装

    canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议 MySQL master 收到 dum…

    Linux 2023年6月13日
    082
  • windows 使用挂载盘提供FTP服务

    环境说明: NFS服务器:centos7.0 IP:192.168.18.10 FTP服务器:windows server 2008 IP:192.168.18.41 准备工作: …

    Linux 2023年6月8日
    0159
  • 小试牛刀:Linux中部署RabbitMQ

    一、下载地址 本人采用的是 RabbitMQ 3.8.20+ Erlang 23.3.4.16 1、Erlang下载:https://github.com/erlang/otp/r…

    Linux 2023年6月14日
    084
  • Spring Boot 项目启动错误 提示 java.lang.ClassNotFoundException org.apache.log4j.Logger

    问题描述 spring boot项目升级到2.x,启动时出现错误提示:java.lang.ClassNotFoundException: org.apache.log4j.Logg…

    Linux 2023年6月14日
    085
  • 解析库的使用

    使用 Xpath 使用 pyquery from pyquery import PyQuery as pq doc = pq(html) print(doc) PyQuery对象可…

    Linux 2023年6月7日
    087
  • Debian中CodeIgniter+nginx+MariaDB+phpMyAdmin配置

    本文不讲述软件安装过程,记述本人在Debia 中配置CodeIgniter 时遇到的问题及解决方法,希望能够为有需要的人提供帮助。 一、Debian版本及所需的软件 Debian …

    Linux 2023年6月13日
    094
  • SpringSecurity 新版2.7以上 快速入门

    SpringSecurity 快速入门 1、导入依赖 org.springframework.boot spring-boot-starter-security 2、测试三种权限 …

    Linux 2023年6月7日
    097
  • 统计Redis中各种数据的大小

    如果 MySQL 数据库比较大的话,很容易就能查出是哪些表占用的空间; 不过如果 Redis 内存比较大的话, […] Meet so Meet. C plusplus…

    Linux 2023年5月28日
    080
  • SQLI-LABS(Less-6)

    Less-6(GET-Double injection-Double Quotes-String) 打开 Less-6页面,可以看到页面中间有一句 Please input the…

    Linux 2023年6月6日
    083
  • C++ inline

    inline的坏处:若在一台内存有限的机器上,过度热衷inlining会造成程序体积太大,即使拥有虚拟内存,inline造成的代码膨胀也会导致额外的换页行为,降低指令高速缓存装置的…

    Linux 2023年6月7日
    099
  • docker:打包node+npm+pm2运行环境镜像

    最近公司有一个外包项目需要在不能连外网的情况下部署node项目到甲方公司内部。直接使用node官网的安装包可以获得node运行环境,但像pm2这种工具要离线装就会比较费劲,所以最终…

    Linux 2023年6月13日
    088
  • Google Drive, Onedrive, Dropbox green check marks missing; 修复 google 硬盘,同步符号错误

    最近使用google 硬盘的时候,Windows平台总是出现安装后文件夹不能显示同步符号,而mac平台就无上述错误; 我查了一下资料,发现是因为系统安装的同步软件有点多,Windo…

    Linux 2023年6月13日
    093
  • Java 的JAR包、EAR包、WAR包区别

    WAR(Web Archive file) 网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。WAR专用于Web方面。大部分的JAVA WEB工程,都是…

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