云容器引擎CCE弹性伸缩

news2024/10/11 0:33:24

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分增加一个节点

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

等待一段时间,扩容完成

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【mmDet3D】conda 环境中更新gxx

在安装mmdetection3d 相关依赖时,遇到如下报错: 之前在用openpcdet框架时也有过类似的问题,当时也记载过更新gc版本在conda里面的使用教程,但是今天发现其实有更简单的方法,如下图所示,直接使用conda来安装…

Flask Python:数据库多条件查询,flask中模型关联

前言 在上一篇Flask Python:模糊查询filter和filter_by,数据库多条件查询中,已经分享了几种常用的数据库操作,这次就来看看模型的关联关系是怎么定义的,先说基础的关联哈。在分享之前,先分享官方文档,点击查看 从文档…

【C++学习】哈希表的底层实现及其在unordered_set与unordered_map中的封装

文章目录 1. unordered系列关联式容器1.1 unordered_map1.2 unordered_set1.3.底层结构 2.哈希2.1哈希概念2.2哈希冲突2.3 哈希函数2.4 哈希冲突解决2.4.1闭散列2.4.1开散列2.5开散列与闭散列比较 3.哈希的模拟实现1. 模板参数列表2. 迭代器的实现3. 增加通过key获取value操作4…

【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)

前言 本篇博客会对排序做一个收尾,将最经典的七大排序介绍完毕。 这次的重点正如标题,主要讲的是归并排序,还会带过相对简单很多的冒泡排序和选择排序。在最后还会给这七大排序做出一个时间复杂度和稳定性展示的总结收尾。同时,这…

基于FPGA的HDMI视频接口设计

HDMI介绍 HDMI(High-DefinitionMultimedia Interface)又被称为高清晰度多媒体接口,是首个支持在单线缆上传输,不经过压缩的全数字高清晰度、多声道音频和智能格式与控制命令数据的数字接口。HDMI接口由Silicon Image美国晶像公司倡导,联合索尼、日立、松下、飞利浦、汤姆逊、东…

STM32F407 FSMC并口读取AD7606

先贴一下最终效果图.这个是AD7606并口读取数据一个周期后的数据结果. 原始波形用示波器看是很平滑的. AD7606不知为何就会出现干扰, 我猜测可能是数字信号干扰导致的. 因为干扰的波形很有规律. 这种现象基本上可以排除是程序问题. 应该是干扰或者数字信号干扰,或者是数字和模拟…

截稿倒计时 CCF-B COCOON’24论文延期至4月8日提交

会议之眼 快讯 第30届COCOON 2024 (International Computing and Combinatorics Conference)即国际计算与组合学会议将于 2024 年 8月23日-25日在中国上海举行!COCOON是一个专注于计算机科学理论领域的国际性学术会议!COCOON会议自1995年起举办&#xf…

BugKu:Simple SSTI

1.进入此题 2.查看源代码 可以知道要传入一个名为flag的参数,又说我们经常设置一个secret_key 3.flask模版注入 /?flag{{config.SECRET_KEY}} 4.学有所思 4.1 什么是flask? flask是用python编写的一个轻量web开发框架 4.2 SSTI成因(SST…

Java实现两数相除

题意 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-2.7335…

【yolov5小技巧(1)】---可视化并统计目标检测中的TP、FP、FN

文章目录 🚀🚀🚀前言一、1️⃣相关名词解释二、2️⃣论文中案例三、3️⃣新建相关文件夹四、4️⃣detect.py推理五、5️⃣开始可视化六、6️⃣可视化结果分析 👀🎉📜系列文章目录 嘻嘻 暂时还没有~~~~ &a…

OpenCV4.9开发之Window开发环境搭建

1.打开OpenCV所在github地址 2.点击opencv仓库,进入仓库详情,点击右下方的OpenCV 4.9.0进入下载页面 3.点击opencv-4.9.0-windows.exe下载 开始下载中... 下载完成 下载完成后,双击运行解压,默认解压路径,修改为c:/

UE4_材质节点

UE4_材质节点 2017-12-07 13:56 跑九宫格 跑UV 评论(0)

spring总结-基于XML管理bean超详细

spring ioc总结-基于XML管理bean 前言实验一 [重要]创建bean1、目标和思路①目标②思路 2、创建Maven Module3、创建组件类4、创建spring配置文件7、无参构造器8、用IOC容器创建对象和自己建区别 实验二 [重要]获取bean1、方式一:根据id获取2、方式二:根…

LabVIEW专栏五、网口

该节目标编写一个网口调试VI。 上一章是串口,这章介绍网口的写法。 一、网口硬件 1.1、上位机网口 1.2、网口线 由线缆和水晶头组成,现在一般用5类和超5类的网线 1.3、接线方式 忽略,这里加上这点为了提醒一个硬件和上位机连接&#xf…

保健品wordpress外贸模板

保健品wordpress外贸模板 健康保养保健品wordpress外贸模板,做大健康行业的企业官方网站模板。 https://www.jianzhanpress.com/?p3514

Vue.js---------Vue基础

能够说出Vue的概念和作用能够使用vue/cli脚手架工程化开发能够熟练Vue指令 一.vue基本概念 1.学习vue Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 渐进…

高分卫星助力台湾省花莲县地震应急救援

4月3日7时58分,在台湾省花莲县海域(北纬23.81度,东经121.74度)发生7.3级地震,震源深度12公里。接中国地震局地震预测研究所应急需求,国家航天局对地观测与数据中心(以下简称“中心”&#xff09…

[技巧] 逆序对问题 的 分治解法

分治核心思想: 分解(Divide):将原问题分解成一系列子问题。这些子问题应该是原问题的较小版本。解决(Conquer):递归地解决这些子问题。如果子问题的规模足够小,则直接求解。合并&am…

java自动化-03-04java基础之数据类型举例

1、需要特殊注意的数据类型举例 1)定义float类型,赋值时需要再小数后面带f float num11.2f; System.out.println(num1);2)定义double类型,赋值时直接输入小数就可以 3)另外需要注意,float类型的精度问题…

QT 实现无边框可伸缩变换有阴影的QDialog弹窗

实现无标题栏窗口的拖拽移动、调节窗口大小以及边框阴影效果。初始化时进行位或操作,将这些标志合并为一个值,并将其设置为窗口的标志。这些标志分别表示这是一个对话框、无边框窗口、有标题栏、有最小化按钮和最大化按钮。 setWindowFlags(Qt::Dialog |…