K8S--水平自动扩缩容实战演练

原文网址:K8S--水平自动扩缩容实战演练-CSDN博客

简介

本文用实例来展示K8S的自动扩缩容(水平方向)。

官网网址

HorizontalPodAutoscaler 演练 | Kubernetes

为 Pod 和容器管理资源 | Kubernetes

水平扩缩的原理 

水平扩缩容:自动增加或减少Pod的数量以满足需求。

水平扩缩使用的是orizontalPodAutoscaler(简称 HPA ),可以自动更新工作负载资源(例如 Deployment 或者 StatefulSet), 以自动扩缩工作负载来满足需求。

  1. 如果负载增加,并且 Pod 的数量低于配置的最小值, HPA 会指示工作负载资源(Deployment、StatefulSet 或其他类似资源)增加Pod。
  2. 如果负载减少,并且 Pod 的数量高于配置的最小值, HPA 会指示工作负载资源(Deployment、StatefulSet 或其他类似资源)减少Pod。

水平与垂直有什么区别?

水平扩缩:增加或减少Pod的数量
垂直扩缩:Pod数量不变,给已有的Pod增加或者减少资源(例如:内存或 CPU)。

实战演练

本文部署nginx应用,用HPA控制nginx的Pod数量:最少1个,最多10个。然后频繁请求nginx,观察它是否动态扩容。然后停止请求,看它是否动态缩容。

所需的文件如下:

结果展示

1.频繁请求ningx

观察负载

kubectl get hpa hpa-nginx --watch

频繁请求(此命令要新起一个SSH窗口再运行)

kubectl run -i --tty load-generator --rm --image=busybox:1.28 --restart=Never -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://nginx-service:8000; done"

此时可以看到很多请求nginx的打印:

 ​​​​​​

观察负载

如下图所示,结果每几十秒刷新一次。TARGETS列是负载,REPLICAS列是副本数。

请求开始后,CPU占用增加;CPU占用超过1%后,副本数增加;随着副本增加,CPU占用减小;CPU占用减小到1%后,副本数不再变化。

2.停止请求nginx

停止请求(按下ctrl+c),然后看观察负载页面(红框内是停止请求后的打印)。

可以看到:CPU占用立刻降到了0;然后过了大概五分钟,副本的数量逐渐恢复到了1。

1.部署nginx

上边是文章的部分内容,为便于维护,全文已转移到此网址:K8S-水平自动扩缩容实战演练 - 自学精灵

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/485594.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云-零基础入门NLP【基于深度学习的文本分类3-BERT】

文章目录 学习过程赛题理解学习目标赛题数据数据标签评测指标解题思路BERT代码 学习过程 20年当时自身功底是比较零基础(会写些基础的Python[三个科学计算包]数据分析),一开始看这块其实挺懵的,不会就去问百度或其他人,当时遇见困难挺害怕的…

NKCTF2024-Eznative

首先使用blutter解析,拿到如上的output文件 先看看asm 都被混淆了,真的是太可恶了。 查看libapp.so的内容 一点符号都不给,首先我们使用LoadScript File去添加一部分符号 加载之前解析的 恢复了一部分,但是没有什么乱用啊 这个时候…

微服务(基础篇-002-Ribbon)

目录 Ribbon负载均衡(1) 负载均衡的原理(1.1) 负载均衡策略(1.2) Ribbon-IRule(1.2.1) 修改负载均衡的方法(1.2.2) 懒加载(1.3) 饥饿加载(1…

吴恩达2022机器学习专项课程(一) 3.3 成本函数的公式

问题预览 模型的参数(w和b)有什么作用?不同的w和b对线性回归模型有什么影响?训练集里的y和线性回归模型预测的y(y帽)的区别是什么?成本函数的作用是什么?成本函数的公式是什么&…

【PyQt】19-数据操作

数据表 前言一、显示二维表数据(QTableView控件)扩展知识---MVC模式1.1 代码1.2 运行结果 二、显示列数据(QListView控件)2.1 代码2.2 运行结果2.3 扩展---列表控件(QListWidget)运行结果 总结 前言 一、显…

C语言中的联合和枚举

1、联合体 联合体类型的声明 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体也叫:共⽤体。因为所有变量公用…

UE5 LiveLink 自动连接数据源,以及打包后不能收到udp消息的解决办法

为什么要自动连接数据源,因为方便打包后接收数据,这里我是写在了Game Instance,也可以写在其他地方,自行替换成Beginplay和Endplay 关于编辑器模式下能收到udp消息,打包后不能收到消息的问题有两点需要排查,启动打包后…

2024年阿里云轻量应用服务器优惠价格_2核2G_2核4G报价

阿里云轻量应用服务器2核2G和2核4G配置优惠价格表,轻量2核2G3M带宽61元一年,轻量2核4G4M带宽165元1年,均不限制月流量,阿里云活动链接 aliyunfuwuqi.com/go/aliyun 活动打开如下图: 阿里云轻量应用服务器价格 61元/年…

Spring Boot:基础配置

Spring Boot 全局配置文件application.propertiesapplication.yml全局配置文件的优先级 从全局配置文件中获取数据的注解从外部属性文件中获取数据的注解全局配置文件的配置项通用配置项数据源配置项JPA 配置项日志配置项配置文件特定配置项Profile 特定配置项 配置类配置文件中…

C++项目——集群聊天服务器项目(三)muduo网络库

今天来介绍集群聊天器项目中网络模块代码的核心模块——muduo网络库,一起来看看吧~ 环境搭建C项目——集群聊天服务器项目(一)项目介绍、环境搭建、Boost库安装、Muduo库安装、Linux与vscode配置-CSDN博客 Json第三方库C项目——集群聊天服务器项目(二)Json第三方库…

mysql 用户管理-账户管理

学习了《mysql 用户管理-权限表》。接着学习更常用的的账户管理。 2,账户管理 MySQL提供许多语句用来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器、创建用户、删除用户、密码管理和权限管理等内容。MySQL 数据库的安全性,需要通过账户管…

静态、动态代理模式(Spring学习笔记八)

代理模式是SpringAOC的底层 代理模式分为:静态代理模式 动态代理模式 1、静态代理 代码步骤 接口: package com.li.dedmo01;public interface Rent {public void rent(); }真实角色: package com.li.dedmo01;public class Host imple…

机器学习——贝叶斯分类器(基础理论+编程)

目录 一、理论 1、初步引入 2、做简化 3、拉普拉斯修正 二、实战 1、计算P(c) 2、计算P(x|c) 3、实战结果 1、数据集展示 2、相关信息打印 一、理论 1、初步引入 在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最…

开源流程图表库(01):Mermaid.js生成流程图、时序图、甘特图等

一、Mermaid.js的特点 Mermaid.js是一个用于生成流程图、时序图、甘特图等各种图表的开源库。它使用简洁的文本语法来描述图表结构,并将其转换为可视化的图形。 Mermaid.js的主要特点包括: 简洁易用:Mermaid.js使用简单的文本语法来描述图表…

Introduction to Data Mining 数据挖掘

Why Data Mining? • The Explosive Growth of Data: from terabytes to petabytes — Data collection and data availability ◦ Automated data collection tools, database systems, Web, computerized society — Major sources of abundant data ◦ Business: Web, e-co…

RabbitMQ入门学习【附案例讲解】

文章目录 1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯 1.2.技术对比: 2、安装RabbitMQ2.1、下载镜像2.2、单机部署2.3、集群部署 3、基本结构4、RabbitMQ消息模型5、代码示例5.1、导入Demo工程5.2、publisher实现5.3、consumer实现5.4、效果 6、总结 ​…

C++项目——集群聊天服务器项目(四)MySQL数据库

今天来介绍集群聊天器项目中MySQL数据库的相关表结构 集群聊天服务器项目需要进行好友、群组的增删操作以及好友离线状态的判断,需要在数据库中建立相关表进行增删改查操作,因此项目设计了如下五个表,大家可以自己动动小手,使用S…

vulhub中Apache Shiro 1.2.4反序列化漏洞复现(CVE-2016-4437)

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。 Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的…

【蓝桥杯入门记录】中断系统

一、中断概述 (1)处理器和外部设备的数据传输方式 无条件传输:处理器不比为了了解外部设备状态,直接进行数据传输,用于指示灯和蜂鸣器灯等简单设备查询方式:传输前,一方先查询另一方的状态&am…

CVPR 2024中有哪些值得关注的视频生成和视频编辑方向的论文?

Diffusion Models视频生成-博客汇总 前言:轰轰烈烈的CVPR 2024所有accept paper已经全部公开,随着Sora的爆火,视频生成和视频编辑是目前计算机视觉最火热的方向,受到了很多人的关注。这篇博客就整理盘点一下有哪些值得关注的视频生成和视频编辑方向的论文?值得做这个方向的…