Kubernetes学习笔记八:Metrics Server和HPA

2023-12-24 12:30

本文主要是介绍Kubernetes学习笔记八:Metrics Server和HPA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

部署metrics server

metrics-server release github地址

wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

kubectl apply -f components.yaml

遇到问题:Failed to pull image “k8s.gcr.io/metrics-server-amd64:v0.3.6”: rpc error: code = Unknown desc = Error response from daemon: Get “https://k8s.gcr.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
无法拉取镜像。
在这里插入图片描述
一开始我使用的版本是scofield/metrics-server:v0.3.6,v0.3.6无法拉取镜像,然后改成v0.3.7就可以了。

- name: metrics-serverimage: scofield/metrics-server:v0.3.7imagePullPolicy: IfNotPresentargs:- --cert-dir=/tmp- --secure-port=4443- /metrics-server- --kubelet-insecure-tls- --kubelet-preferred-address-types=InternalIP

在这里插入图片描述
在这里插入图片描述
kubectl get pods -n kube-system|grep metrics
kubectl top nodes
在这里插入图片描述
查看metrics-server的日志,有以下报错:
Failed to make webhook authorizer request: the server could not find the requested resource
在这里插入图片描述
参考:k8s-v1.22安装metrics-server

在github/metrics server有提到metrics server支持的k8s版本,我使用的是1.23版本,需要使用0.4以上的版本,而我当前使用的是0.3+的版本。在网上找了一遍,将使用的镜像修改为phperall/metrics-server:v0.4.1

在这里插入图片描述
修改yaml文件后执行以下命令:
docker pull phperall/metrics-server:v0.4.1
kubectl apply -f components.yaml
在这里插入图片描述
换成0.4+镜像后日志打印正常。
在这里插入图片描述
可能还会遇到以下问题:
在这里插入图片描述
解决方案:
关于本地k8s部署metrics-server的no such host问题

使用效果:
kubectl top pods -n kube-system --sort-by=‘cpu’
根据cpu的使用对Pod进行排序

kubectl top nodes
查看Node的资源使用情况
在这里插入图片描述

HPA

定义Deployment和Service。定义resources.requests.cpu是关键。

apiVersion: v1
kind: Service
metadata:name: myngx
spec:ports:- name: myngxport: 3080targetPort: 80selector:app: myngx
---
apiVersion: apps/v1
kind: Deployment
metadata:name: myngx
spec:replicas: 10strategy:rollingUpdate:maxSurge: 40%maxUnavailable: 40%type: RollingUpdateselector:matchLabels:app: myngxtemplate:metadata:labels:app: myngxspec:containers:- image: nginx:1.7.9name: myngxports:- containerPort: 80resources:requests:cpu: 30m

kubectl autoscale deployment myngx --min=1 --max=40 --cpu-percent=20
kubectl get hpa
在这里插入图片描述
yum install httpd-tools -y
安装ab测试软件

watch -n 0.5 kubectl get pods
每隔0.5秒监控pod的变化

ab -c 5000 -n 50000 http://10.99.174.166:3080/
每次并发5000个请求,一共50000个请求。
在这里插入图片描述
kubectl top nodes
查看节点的CPU和内存使用情况。
在这里插入图片描述
在CPU使用增加时,Pod会自动扩容。CPU使用减少时,Pod会自动缩容。
在这里插入图片描述

这篇关于Kubernetes学习笔记八:Metrics Server和HPA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/531781

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

《SQLServer清除日志文件ERRORLOG和删除tempdb.mdf》数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止SQLSe... 目录缩减 ERRORLOG 文件(停止服务后)停止 SQL Server 服务:找到错误日志文件:删除

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx