云容器引擎CCE弹性伸缩

CCE弹性伸缩介绍

CCE的弹性伸缩能力分为如下两个维度:

  • 工作负载弹性伸缩:即调度层弹性,主要是负责修改负载的调度容量变化。例如,HPA是典型的调度层弹性组件,通过HPA可以调整应用的副本数,调整的副本数会改变当前负载占用的调度容量,从而实现调度层的伸缩。
  • 节点弹性伸缩:即资源层弹性,主要是集群的容量规划不能满足集群调度容量时,会通过弹出ECS或CCI等资源的方式进行调度容量的补充。

两个维度的弹性组件与能力可以分开使用,也可以结合在一起使用,并且两者之间可以通过调度层面的容量状态进行解耦。

CCE弹性伸缩组件介绍

工作负载弹性伸缩组件介绍

  • HPA:Kubernetes内置组件,实现Pod水平自动伸缩的功能,即Horizontal Pod Autoscaling。在kubernetes社区HPA功能的基础上,增加了应用级别的冷却时间窗和扩缩容阈值等功能。
  • CustomedHPA:华为自研的弹性伸缩增强能力,主要面向无状态工作负载进行弹性扩缩容。能够基于指标(CPU利用率、内存利用率)或周期(每天、每周、每月或每年的具体时间点)。

节点弹性伸缩组件介绍

  • Autoscaler:Kubernetes社区开源组件,节点水平伸缩组件,提供了独有的调度、弹性优化、成本优化的功能。

CCE弹性伸缩实践

1、创建CCE集群

进入华为云控制台,搜索CCE进入云容器引擎CCE控制台界面


选择CCE Standard 集群购买创建

基础配置界面:计费模式选择按需计费,集群名称自行设置,企业项目默认default,集群版本这里默认1.25版本,集群规模50节点,高可用关闭

这里为测试环境配置,生产环境按自有业务选择配置

网络配置界面:网络模型选择VPC网络,虚拟私有云选择自己创建的VPC,容器网段这里选择自动设置网段

这里为测试环境配置,生产环境按自有业务选择配置

高级配置界面:默认不配置

这里为测试环境配置,生产环境按自有业务选择配置

选择下一步进行插件配置

插件配置界面:默认不配置

这里为测试环境配置,生产环境按自有业务选择配置

选择下一步进行规格确认

确认好集群配置,勾选“我已阅读并知晓上述使用说明”,点击提交创建

等待创建成功

2、创建节点池

创建集群完毕后等待集群状态为运行中,选择创建节点池

基础配置界面:节点池名称自行设置,我这里默认名称,节点数量2

这里为测试环境配置,生产环境按自有业务选择配置

计算配置界面:计费模式按需计费,可用区随机分配,节点类型选择弹性云服务器虚拟机,节点规格c7.xlarge.2 4vCPUs|8GiB,容器引擎选择Containerd,操作系统选择公共镜像Huawei Cloud EulerOS 2.0,密码自行设置

这里为测试环境配置,生产环境按自有业务选择配置

存储配置界面:默认不配置

这里为测试环境配置,生产环境按自有业务选择配置

网络配置界面:节点子网自行选择,安全组自行选择,我这里默认,勾选“我确认安全组已设置准确的安全组规则以确保节点之间能正常通信。”

这里为测试环境配置,生产环境按自有业务选择配置

高级配置界面:默认不配置

这里为测试环境配置,生产环境按自有业务选择配置

选择下一步进行规格确认

确认好节点池配置,勾选“我已阅读并知晓上述使用说明和《云容器引擎服务声明》”,点击提交创建

等待创建成功

3、创建有状态负载MySQL

选择工作负载,有状态负载,创建工作负载

基本信息界面:负载类型有状态负载,负载名称mysql,命名空间默认default,实例数量1个,时区同步不开启

这里为测试环境配置,生产环境按自有业务选择配置

容器配置界面:容器名称mysql,镜像选择mysql,镜像版本5.7,环境变量MYSQL_ROOT_PASSWORD、MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD。其余默认不配置。

这里为测试环境配置,生产环境按自有业务选择配置

实例间发现服务配置界面:Service名称自行配置,我这里默认,端口配置端口名称自行配置,服务端口3306,容器端口3306

这里为测试环境配置,生产环境按自有业务选择配置

服务配置和高级配置界面:默认不配置

这里为测试环境配置,生产环境按自有业务选择配置

选择创建负载等待创建成功

4、创建无状态负载WordPress

选择工作负载,无状态负载,创建工作负载

基本信息界面:负载类型无状态负载,负载名称wordpress,命名空间默认default,实例数量2个,时区同步不开启

这里为测试环境配置,生产环境按自有业务选择配置

容器配置界面:容器名称wordpress,镜像选择wordpress,镜像版本php7.1,环境变量WORDPRESS_DB_HOST(前往有状态负载mysql访问方式复制访问地址)、WORDPRESS_DB_USER、WORDPRESS_DBPASSWORD、WORDPRESS_DB_NAME。其余默认不配置。

这里为测试环境配置,生产环境按自有业务选择配置

服务配置界面:Service名称自行设置,访问类型选择节点访问(提前给节点绑定公网EIP),服务亲和选择集群级别,端口配置协议选择TCP,容器端口80,服务端口80,节点端口自动生成

这里为测试环境配置,生产环境按自有业务选择配置

高级配置界面:默认不配置

这里为测试环境配置,生产环境按自有业务选择配置

选择创建负载等待创建成功

5、验证wordpress配置成功

浏览器输入节点弹性EIP加端口登录wordpress配置(提前放通节点安全组端口)

5、安装Autoscaler插件,创建CA策略

选择插件中心,安装CCE集群弹性引擎

默认配置安装

这里为测试环境配置,生产环境按自有业务选择配置

等待安装成功

选择策略,节点伸缩策略,创建节点伸缩策略

策略名称自行设置,关联节点池选择已创建节点池,规则自行设置

这里为测试环境配置,生产环境按自有业务选择配置

等待创建成功

6、进行CA节点弹性伸缩

进行弹性扩容

选择节点管理,弹性伸缩

打开弹性伸缩

选择工作负载,将创建的wordpress负载实例增加实例

查看节点池状态

扩容成功

进行弹性缩容

选择工作负载,将创建的wordpress负载实例改回2个实例

选择节点管理,弹性伸缩

设置缩容条件为2分钟CPU与内存低于50%进行缩容

这里为测试环境配置,生产环境按自有业务选择配置

等待2分钟,查看节点池状态

缩容成功

7、安装metrics-server插件,创建HPA策略

选择插件中心,安装Kubernetes Metrics Server

默认配置安装

这里为测试环境配置,生产环境按自有业务选择配置

等待安装成功

选择策略,HPA策略,创建HPA策略

策略名称自行设置,命名空间默认即可,关联创建的wordpress负载,实例范围1-10,伸缩配置系统默认,系统策略CPU利用率,期待值30%,容忍值20%-40%,内存利用率,期待值30%,容忍值20%-40%

这里为测试环境配置,生产环境按自有业务选择配置

等待创建成功

8、进行HPA工作负载弹性伸缩

弹性扩容

查看现有实例数

进入wordpress容器实例中

运行“i=0 ;while true ; do i=i+1 ; done”命令

等待一段时间,扩容成功

弹性缩容

查看现有实例数

停止命令

等待一段时间,缩容成功

9、安装cce-hpa-controller,创建CustomedHPA策略

选择插件中心,安装CCE容器弹性引擎

默认配置安装

这里为测试环境配置,生产环境按自有业务选择配置

等待安装成功

选择策略,CustomedHPA策略,创建CustomedHPA策略

策略名称自行设置,命名空间默认即可,关联创建的wordpress负载,实例范围1-10,冷却时间1分钟,策略规则设置CPU利用率大于30%,增加1个实例

这里为测试环境配置,生产环境按自有业务选择配置

等待创建成功

10、进行CustomedHPA工作负载弹性伸缩

弹性扩容

查看现有实例数

进入wordpress容器实例中

运行“i=0 ;while true ; do i=i+1 ; done”命令

等待一段时间,扩容成功

弹性缩容

查看现有实例数

停止命令

等待一段时间,缩容成功

11、进行周期定时节点弹性伸缩

选择策略,节点伸缩策略,创建节点伸缩策略

策略名称自行设置,关联创建的节点池,设置每天18:28分增加一个节点

这里为测试环境配置,生产环境按自有业务选择配置

等待一段时间,扩容成功

12、进行周期定时工作负载弹性伸缩

选择策略,CustomedHPA策略,创建CustomedHPA策略

策略名称自行设置,命名空间默认即可,关联创建的wordpress负载,实例范围1-10,冷却时间1分钟,设置每天18:33分增加一个节点

这里为测试环境配置,生产环境按自有业务选择配置

等待一段时间,扩容完成

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

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

相关文章

【数字图像处理】颜色空间的转换

颜色空间的转换 CMY 空间 CMY 颜色空间正好与 RGB 颜色空间互补, 即用白色减去 RGB 颜色空间中的某一颜色值就等于这种颜色在 CMY 颜色空间中的值。 { C 1 − R M 1 − G Y 1 − B \begin{cases}C1-R\\M1-G\\Y1-B\end{cases} ⎩ ⎨ ⎧​C1−RM1−GY1−B​ HSV 空…

非关系型数据库(缓存数据库)redis的基础认知与安装

目录 一.关系型数据库和非关系型数据库 关系型数据库 非关系型数据库 关系数据库与非关系型数据库的区别 ①非关系数据 关系型数据库 非关系型数据库产生背景 数据存储流向 非关系型数据库 关系数据库 二.redis的简介 1.概念 2.Redis 具有以下几个优点: 3.Redi…

数据结构二叉树顺序存储——堆

堆 1.堆的概念2.堆的实现 (建小堆为例)2.1 初始化和销毁2.2 判空2.3 获得堆顶元素和堆的大小2.4 插入2.5 删除 3.堆的构建(建小堆为例) 1.堆的概念 将若干数据或元素按照完全二叉树的存储方式顺序存储到一个一维数组中&#xff0…

LiDAR和Camera融合的BEV感知算法-BEVFusion

0. 简述 本次给大家讲解一篇非常经典的融合工作叫 BEVFusion,我们依旧从算法动机&开创性思路、主体结构、损失函数以及性能对比四个方面展开 BEVFusion 有两篇文章,本次主要讲解的是阿里和北大的:BEVFusion: A Simple and Robust LiDAR-…

Node | Node.js 版本升级

目录 Step1:下载 Step2:安装 Step3:换源 发现其他博客说的 n 模块不太行,所以老老实实地手动安装 Step1:下载 Node 中文官网:https://nodejs.cn/download 点击后,将会下载得到一个 .msi 文件…

打断点调试代码的思路(找bug的思路)二分法

现象: 当断点运行到此处,卡死 二分法: 用断点把程序切段,前一段,后一段 **前一段:检查变量值,如无问题,则说明没有任何问题 问题必然出在后一段 后一段:人为检查&…

了解游戏相关知识

个人笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔:工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-CSDN博客 目录 一&#xff1a…

鸿蒙TypeScript学习第7天:【TypeScript 循环】

1、TypeScript 循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句…

Polardb代理介绍

代理位于数据库和应用程序之间的网络代理服务,转发客户端的请求到DB,收到DB回包在转发到客户端,提供多种能力,支持:读写分离、负载均衡、一致性级别、连接池、过载保护功能。对外提供地址:主地址和集群地址…

Halcon3D倾斜平面矫正至水平面

前言 在相当多的3d检测中,由于各种因素的干扰,我们所检测的平面通常并不是一个水平面,或者被检测的面不是水平面的情况。尤其是在倾斜面的缺陷检测和平面度检测中,使用被测面与拟合基准面进行计算很难做到准确的定位到缺陷的情况…

全数字化病理,“根深”才能“叶茂”

现代医学之父William Osler曾言:病理学乃医学之本。 作为研究人体疾病发生的原因、发病机制、病理变化以及疾病过程中机体的形态结构、功能代谢变化和病变转归的一门基础医学科学,病理学一直被视为基础医学与临床医学之间的“桥梁学科”,在医…

分类预测 | Matlab实现TCN-BiGRU-Mutilhead-Attention时间卷积双向门控循环单元多头注意力机制多特征分类预测/故障识别

分类预测 | Matlab实现TCN-BiGRU-Mutilhead-Attention时间卷积双向门控循环单元多头注意力机制多特征分类预测/故障识别 目录 分类预测 | Matlab实现TCN-BiGRU-Mutilhead-Attention时间卷积双向门控循环单元多头注意力机制多特征分类预测/故障识别分类效果基本介绍模型描述程序…

Linux文件与进程交互的窥探者lsof

lsof 是一个 Linux 和 UNIX 系统中的实用工具,用于列出系统中打开文件的所有信息。这个名字代表 “List Open Files”,但它也可以显示进程相关的其他信息,如: 打开的文件描述符列表 打开网络连接的列表 被进程使用的信号和内核对…

HarmonyOS实战开发-为应用添加运行时权限

介绍 通过AbilityAccessCtrl动态向用户申请“允许不同设备间的数据交换”的权限,使用设备管理实例获取周边不可信设备列表。 说明: 查询周边不可信设备之前,请确保本设备与周边设备未进行配对。如果已配对,则恢复出厂设置之后重新…

Python中的全栈开发前端与后端的完美融合【第160篇—全栈开发】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python中的全栈开发:前端与后端的完美融合 全栈开发已成为当今软件开发领域中的…

Linux权限提升总结

几个信息收集的项目推荐 运行这几个项目就会在目标主机上收集一些敏感信息供我们参考和使用 一个综合探针:traitor 一个自动化提权:BeRoot(gtfo3bins&lolbas) 使用python2运行beroot.py就可以运行程序,然后就可以收集到系统中的大量信…

景顺长城:《重塑与创造——2024 ai+洞察报告》

近期,景顺长城发布了《重塑与创造——2024 ai洞察报告》,报告深入探讨了人工智能(AI)产业的发展现状、未来趋势以及对各行业的潜在影响。报告认为,AI产业发展是多层次、多浪潮的,目前我们处于第二阶段但未来将持续伴随…

企业案例:金蝶云星空集成钉钉,帆软BI

正文:在数字化转型的大潮中,众多企业开始探索并实践高效的数据流转与集成,以提升内部管理效率和决策质量。本文将以某企业为例,详细介绍如何通过将钉钉审批流程的数据实时同步至金蝶云星空,并进一步在帆软报表平台上实…

缺省参数

缺省参数 缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没有指定实 参则采用该形参的缺省值&#xff0c;否则使用指定的实参。 void Func(int a 0) {cout<<a<<endl; } int main() {Func(); // 没有传…

力扣刷题Days31-2.两数相关(js)

1&#xff0c;题目 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;…