企业级ECS集群运维管理

某互联网公司随着云上业务的成功开展和规模的持续扩大,开发部门分成了多个开发小组,部门开始关注整个IT架构自动化运维和成本管理,主要有以下两个方面:

1、由于运维人员对数百台的服务器还是使用传统单台管理的方式,或者部分机器使用shell脚本的方式,这些方式不仅效率底下,还容易出错,于是计划使用云上运维工具来管理云服务器,在提升运维效率的同时,减少人为失误导致的业务中断。

2、基于传统架构下的按高峰需求买齐云服务器的方式非常的浪费,业务低峰时间这些资源大部分都处于闲置状态,决定对云上架构做出调整,使用弹性伸缩来降低成本,同时也能满足业务高峰的需求。

 

本实验已经自动完成杭州地域基础资源的创建,包括:

  • 杭州地域VPC x 1:(myvpc)
  • 云服务器ECS x 2(web01和web02)
  • 安全组 x 1(mysg)
  • RDS数据库 x 1(已安装MySQL 8.0的数据库服务)
  • 传统型负载均衡CLB x 1

 

接下来需要您完成:

  1. 通过系统管理与运维服务完成文件批量下发到ECS服务器
  2. 通过系统管理与运维服务完成对ECS服务器批量执行shell命令/脚本
  3. 通过系统管理与运维服务完成对ECS服务器批量安装软件
  4. 通过系统管理与运维服务完成ECS服务器批量定时开关机
  5. 通过系统管理与运维服务完成自动更新ECS镜像
  6. 通过系统管理与运维服务创建并查看云资源配置清单
  7. 通过弹性伸缩实现ECS服务器自动扩缩容
 
系统管理与运维服务 - 批量下载文件
  1. 在右侧远程桌面中的Chromium浏览器种访问如下链接,在页面种点击鼠标右键将 OOS_test_file.log 文件保存到本地:
https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/ECS/OOS_test_file.log.txt

  1. 复制如下链接,在右侧远程桌面中的浏览器访问系统管理与运维服务OOS控制台
https://oos.console.aliyun.com/
  1. 依次选择自动化任务>常用运维任务>批量操作实例,并点击创建按钮

 

  1. 请按照如下要求新建批量操作实例任务
    1. 任务类型批量下载文件
    2. 文件类型本地文件
    3. 将准备好的 OOS_test_file.log 文件拖拽到“点击选择文件或拖拽文件到该区域”的位置,并勾选“我同意将该文件在阿里云提供的临时OSS bucket中存储”,
    4. 文件保存路径中输入/var/log
    5. 选择实例:勾选手动选择实例,确认地域为华东1(杭州),找到并勾选web01web02两台ECS实例
    6. 点击创建

 

  1. 在弹出的参数确认 对话框点击确认

 

  1. 执行完成后,确保执行状态为成功

 

  1. 登录服务器验证文件已正确下载:远程登录web01或web02其中一台服务器,输入如下命令,检查OOS_test_file.log文件的修改时间,可以看到对应的文件信息,说明文件上传成功。
ll /var/log/OOS_test_file.log
cat /var/log/OOS_test_file.log

 
5. 系统管理与运维服务 - 批量执行shell命令
  1. 复制如下链接,访问系统管理与运维服务OOS控制台
https://oos.console.aliyun.com/
  1. 依次选择自动化任务>常用运维任务>批量操作实例,并点击创建按钮

 

  1. 请按照如下要求新建批量操作实例任务:
    1. 任务类型为发送远程命令
    2. 命令内容为Linux Shell
    3. 复制如下脚本,替换命令内容:
#!/bin/bash

function job_start()
{
    logfile="/var/log/OOS_test_file.log"
    now=`date +'%Y-%m-%d %H:%M:%S'`
    echo "[$now] job_start" >> $logfile
    df -Th >> $logfile
}

job_start
  1. 选择实例:勾选手动选择实例,确认地域为华东1(杭州),找到并勾选web01和web02两台ECS实例
  2. 点击创建

 

  1. 在弹出的参数确认 对话框点击确认

 

  1. 执行完成后,确保执行状态为成功

 

  1. 登录服务器验证文件已正确下载:远程登录web01或web02其中一台服务器,输入如下命令,检查OOS_test_file.log文件的内容,可以看到文件已记录了磁盘使用情况,说明Linux Shell脚本执行成功。
cat /var/log/OOS_test_file.log

 
6. 系统管理与运维服务 - 批量安装软件
  1. 复制如下链接,访问系统管理与运维服务OOS控制台
https://oos.console.aliyun.com/cn-hangzhou/execution/create/ACS-ECS-ConfigurePackage
  1. 依次选择公共任务模板>ACS-ECS-ConfiguerPackage>自动执行,并点击创建按钮。

  1. 请按照如下要求新建批量管理软件任务
    1. 安装源选择yum
    2. 操作类型选择install
    3. yum/apt-get安装的包名,输入名称 telnet mariadb mariadb-server
    4. 目标实例:勾选手动选择实例,确认地域为华东1(杭州),找到并勾选web01web02两台ECS实例
    5. 点击下一步:确定

  1. 在弹出的参数确认 对话框点击确认

 

  1. 执行完成后,确保执行状态为成功

 

  1. 登录服务器验证文件已正确下载:远程登录web01或web02其中一台服务器,输入如下命令,测试软件安装情况:
systemctl start mariadb
mysql -e "show databases;"
timeout --signal=9 1 telnet localhost 3306

 
7. 系统管理与运维服务 - ECS定时开关机
  1. 复制如下链接,访问系统管理与运维服务OOS控制台
https://oos.console.aliyun.com/
  1. 依次选择自动化任务>常用运维任务>定时开关机,并点击创建按钮

  1. 请按照如下要求新建定时开关机任务:
    1. 任务名称:定时开关机
    2. 执行周期:每天
    3. 任务类型:先关机再开机
    4. 时区:(GMT+08:00) Asia/Shanghai
    5. 关机时间:20:00:00
    6. 开机时间:08:00:00
    7. 任务结束时间:2024-12-31 23:59:59
    8. 资源类型:ECS实例
    9. 停机模式:节省停机模式
    10. 执行使用到的权限的来源:默认服务关联角色
    11. 选择实例:勾选手动选择实例,确认地域为华东1(杭州),找到并勾选web01和web02两台ECS实例
    12. 点击创建按钮

 

  1. 在弹出的参数确认 对话框点击确认

 

  1. 执行完成后,确保执行状态为生效中,说明任务已经正确配置;

 
8. 系统管理与运维服务 - 自动更新镜像
  1. 复制如下链接,访问系统管理与运维服务OOS控制台
https://oos.console.aliyun.com/
  1. 依次选择自动化任务>常用运维任务>创建或更新镜像,并点击创建按钮

 

  1. 请按照如下要求新建创建或更新镜像任务
    1. 勾选更新镜像
    2. 新镜像名称:OOS-updateimage-XXX其中XXX为三位自定义数字,用于防止名称重复
    3. 执行使用到的权限的来源当前账号的已有权限
    4. 选择镜像:公共镜像CentOS7.9 64位

  1. 配置中转实例:专有网络、交换机、安全组(下拉选择现有的即可),实例类型选择 c6、t6或s6的ECS实例

  1. 发送远程命令中选择命令类型LinuxShell,内容为:
#!/bin/bash

function job_start()
{
    osversion=`cat /etc/redhat-release`
    logfile='/var/log/OOS_test_file.log'
    now=`date +'%Y-%m-%d %H:%M:%S'`
    echo "[$now] Update image to 【$osversion】" >> $logfile
}

job_start
  1. 点击创建按钮

 

  1. 在弹出的参数确认对话框点击确定

说明:若弹出如下报错,可将其忽略点击继续创建

  1. 执行完成后,确认执行状态为成功,并在输出中显示新的镜像id

 

  1. 登录到云服务器ECS控制台,验证上一步骤生成的ID的镜像已经存在

 
9. 系统管理与运维服务 - 查看配置清单
  1. 复制如下链接,访问系统管理与运维服务OOS控制台
https://oos.console.aliyun.com/
  1. 依次选择服务器管理>配置清单管理>清单详情,并点击创建配置清单按钮

 

  1. 在创建配置清单页面选择如下配置参数:
    1. 选择实例:选择全部
    2. 执行频率:30分钟
    3. 清单信息:勾选应用程序
    4. 点击创建

 

  1. 创建完成后,在清单详情中会有一条清单配置

 

  1. 点击清单概览,可以查看应用程序清单,清单详情列表(清单数据刷新需要一定时间,请耐心等待)。

 
10. 通过弹性伸缩实现ECS自动扩缩容

使用弹性伸缩可以在业务需求增长时自动增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本,弹性伸缩本身不收取任何费用,操作流程主要包括:

一、创建伸缩组:伸缩组时具有相同应用场景、相同实例类型的实例集合。

二、创建伸缩规则:用于触发伸缩活动或者智能设置伸缩组边界值。

三、完成并启用:启用伸缩组/执行伸缩规则。

 


 

实操步骤:

  1. 复制如下链接,在右侧远程桌面中的浏览器访问弹性伸缩控制台
https://essnew.console.aliyun.com/
  1. 选择左侧伸缩组管理页签,点击创建伸缩组按钮

 

  1. 在创建伸缩组页面中完成如下参数配置(除以下提及的参数配置外,其余参数均使用默认值):
    1. 伸缩组名称:ScalingGroup1
    2. 伸缩组类型:勾选ECS
    3. 组内实例配置信息来源:勾选从零开始创建

  1. 组内最小实例数: 2
  2. 组内最大实例数:3

  1. 专有网络:下拉选择专有网络vpc
  2. 选择交换机:下拉选择交换机
  3. 关联传统负载均衡CLB:下拉选择负载均衡

  1. 关联RDS数据库实例:下拉选择RDS
  2. 点击确认按钮

 

  1. 在弹出的对话框点击创建伸缩配置按钮

 

  1. 在创建伸缩配置页面中完成如下参数配置:
    1. 伸缩配置名称:ScalingConfiguration1
    2. 付费模式:按量付费
    3. 实例配置方式:指定实例规格
    4. 选择实例规格:ecs.s6-c1m2.small
    5. 选择镜像:选择自定义镜像,下拉选择前面环节中创建的名为OOS-updateimage-XXX的自定义镜像

  1. 安全组:下拉选择对应的安全组
  2. 登录凭证:选择创建后设置
  3. 单击创建按钮

 

  1. 在伸缩配置预览对话框点击确认创建

 

  1. 在伸缩配置创建成功对话框点击启用配置按钮

  1. 在选用伸缩配置对话框点击确定按钮

  1. 在启用伸缩组对话框点击确定按钮

  1. 在左侧自动触发任务管理页签中选择报警任务,点击创建报警任务按钮

  1. 在创建报警任务页面中完成如下参数配置:
    1. 名称:扩容ECS
    2. 监控资源:ScalingGroup1
    3. 报警指标描述:(Agent)cpu使用率,Average(平均值)>=80%

  1. 报警触发规则:点击创建伸缩规则

 

  1. 在弹出的新页面创建伸缩规则
    1. 规则名称:增加1台ECS
    2. 伸缩规则类型:简单规则
    3. 执行的操作:增加1台
    4. 点击确认按钮

 

  1. 返回上一步创建报警任务页面,继续配置报警触发规则:点击刷新按钮后,通过下拉框选择:增加1台ECS,点击确认按钮

 

  1. 再次点击创建报警任务按钮(缩容)

 

  1. 在创建报警任务页面中完成如下参数配置:
    1. 名称:缩容ECS
    2. 监控资源:ScalingGroup1
    3. 报警指标描述:(Agent)cpu使用率,Average(平均值)<=20%

  1. 报警触发规则:点击创建伸缩规则

 

  1. 在弹出的新页面创建伸缩规则:
    1. 规则名称:减少1台ECS
    2. 伸缩规则类型:简单规则
    3. 执行操作:减少1台
    4. 点击确认按钮

 

  1. 返回上一步创建报警任务页面,继续配置报警触发规则:点击刷新按钮后,通过下拉框选择:减少1台ECS,点击确认按钮

 

  1. 验证弹性伸缩组配置:点击左侧伸缩组管理页签按钮,点击ScalingGroup1的实例ID,进入伸缩组详情页面,可以看到具体的ECS伸缩情况。

 

 

 

 

 

 

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
posted @ 2025-05-10 17:41  aiplus  阅读(22)  评论(0)    收藏  举报
悬浮按钮示例