运维分类机房运维(负责设备上下架、巡检、报修、硬件监控) 基础设施运维(系统初始化、网络维护)
基础服务运维(内部DNS、负载均衡、系统监控、资产管理、运维平台)包含运维开发 系统运维(架构层面的分布式缓存、分布式文件系统、日志收集、环境规划(测试、开发、生产)、架构设计、性能优化)
安全运维(整体的安全方案、规范、漏洞监测、安全防护等)
应用运维(业务熟悉、服务部署、业务部署、版本管理、灰度发布、应用监控) 监控运维(7*24运维值班、故障处理)
运维知识
运维自动化发展运维标准化:
1. 服务器标签化、设备负责人、设备采购详情、设备摆放标准 2. 网络划分、远程控制卡、网卡端口 3. 服务器机型、硬盘、内存统一。根据业务分类 4. 资产命名规范、编号规范、类型规范 5. 监控标准
1. 操作系统版本 2. 系统初始化(DNS、NTP、内核参数优化、rsyslog、主机名规范) 3. 基础Agent配备(Zabbix Agent、Logstash Agent、Saltstack minion) 4. 系统监控标准(CPU、内存、硬盘、网络、进程)
1. Web服务器选型(Apache、Nginx) 2. 进程启动用户、端口监听规范、日志收集规范(访问日志、错误日志、运行日志) 3. 配置管理(配置文件规范、脚本规范) 4. 架构规范(Nginx Keepalived、LVS Keepalived等) 5. 部署规范(位置、包命名等)
1. 机房巡检流程(周期、内容、报修流程) 2. 业务部署流程(测试、生产、回归) 3. 故障处理流程(紧急处理、故障升级、重大故障管理) 4. 工作日志流程(如何编写工作日志) 5. 产品上线流程(发起-> 评审 -> 测试 -> 开发 -> 部署 -> 上线 -> 监控 -> 备份) 6. 产品下线流程(谁发起,数据如何处理) 7. 运维安全规范(密码复杂度、更改周期、VPN使用规范、服务登录规范) 标准化(规范化、流程化、文档化)目标:文档化 运维工具化 1、SHELL脚本(功能性(流程)脚本、检查性) 2、开源工具:Zabbix、ELKStack、SaltStack、Cobbler 目标: 1. 促进标准化的实施 2. 将重复的操作,简单化 3. 将多次操作,流程化 4. 减少人为操作的低效和降低故障率 工具化和标准化关系紧密! 运维平台化(Web化) 1、做成Web界面 2、权限控制 3、日志记录 4、弱化流程 5、不用ssh到服务器,减少人为操作造成的故障(web ssh) 运维服务化(API化) DNS Web管理 bind-DLZ dns-api 负载均衡Web管理 slb-api Job管理平台 job-api 监控平台Zabbix zabbix-api 操作系统安装平台 cobbler-api 部署平台 deploy-api 配置管理平台 saltstack-api 自动化测试平台 test-api 1. 调用cobbler-api安装操作系统 2. 调用saltstack-api进行系统初始化 3. 调用dns-api 解析主机名 4. 调用zabbixx-api 将新上线机器加上监控 5. 再次调用saltstack-api部署软件 6. 调用deploy-api 将当前版本的代码部署到服务器上 7. 调用test-api 测试当前服务运行 8. 调用slb-api 将该节点加入集群 运维智能化 智能化的自动化扩容、缩容、服务降级、故障自愈 触发机制 --> 决策系统(决策树) --> 1、zabbix 触发action 触发: 1. 当某个集群的访问量超过最大支撑量 2. 并持续5分钟 3. 不是攻击 4. 资源池有可用资源(当前网络带宽使用率、如果是公有云--钱够不够) 5. 当前后端服务支撑量是否超过阀值,如果超过应该后端扩容 6. 数据库是否可以支撑当前并发 7. 当前自动化扩展队列,是否有正在扩容的节点 8. 其它业务相关的 之前: 先判断Buffer是否有最近X小时,已经移除的之前删除的虚拟机 并查询软件版本是否和当前一致,如果一致,跳过2、3、4步骤 如果不一致,跳过2、3步骤 2、 OpenStack 创建虚拟机 3、 Saltstack 配置环境 4、部署系统、部署当前代码 5、测试服务是否可用(注意间隔和次数) 6、加入集群 7、通知(短信、邮件) 自动化缩容: 1. 触发条件和决策 2. 从集群中移除节点 3. 通知 4. 移除的节点存放于Buffer里面 5. Buffer里面超过1天的虚拟机,自动关闭,存放于删除区 6. 删除区的虚拟机,每7天清理删除
|
|
来自: jumpinghare > 《运维》