案例一: Harbor高可用私有仓库
解决问题:
1、单台Harbor性能有限,支持的并发量少
2、易成为单点故障,影响容器构建
实现流程:
1、规划后端共享存储(NAS/SAN),多个harbor节点挂载共享存储
2、规划独立的postgresql数据库,后续多个harbor节点连接该数据库进行项目名称、镜像元数据信息等保存
3、规划独立的redis数据库,用于存储多个harbor会话信息
4、安装harbor,修改配置
5、禁用harbor自己的数据库, 配置外部数据库连接
6、启动harbor,测试可正常访问、上传、下载镜像
7、故障分析排查、整理测试文档
案例二:构建kubernetes高可用集群
解决问题:
1、增加并发访问
2、避免核心组件(etcd、kube-apiserver、kube-scheduler、kube-controller-manager)成为单点故障
实现流程:
1、准备5台测试服务器,规划基础环境(主机名、时间同步、防火墙、SELinux)
2、调整主机系统参数
3、根据kubernets版本规划,安装兼容版本的docker
4、网络环境不佳,事先准备好组件相应的镜像、导入镜像
5、初始化集群、分别添加master, node节点
6、部署calico网络,实现组件内通信
7、部署dashboard UI
8、验证集群各组件工作正常,测试可正常创建资源
案例三: Jenkins实现java项目自动发布
解决问题:
公司项目上线或更新时,经常要重复性地执行拉取代码、编译、测试、发布的操作,项目的频繁更新为运维人员增加了重复的工作量,为提升工作效率、节省工作时间,可通过jenkins配置gitlab实现项目自动发布
实现流程:
1、部署gitlab仓库,上传项目代码
2、安装jenkins,确保正常启动运行
3、根据项目类型不同安装不同插件
4、配置jenkins全局工具(git客户端、gitlab连接、mvn编译工具)
5、创建maven项目,配置项目(源码地址、发布策略、目标服务器地址)完成工程创建
6、运行项目,测试发布
上述内容也可以通过jenkins file实现,看具体能力
案例四: zabbix分布式监控自动部署
解决问题:
考虑到被监控主机数量过多,以分布式部署,便于扩展, 同时通过ansible自动部署zabbix-agent结合自动注册机制实现自动监控
实现流程:
1、部署zabbix-server监控服务器
2、通过ansible自动部署zabbix-agent
3、结合自动注册实现服务器自动监控
4、部署zabbix-proxy代理
5、测试监控、故障排查
案例五: ELK统一日志搜集分析平台
解决问题:
作为运维管理人员,日常的一个典型的工作就是对系统、或业务的日志进行分析处理,在服务器数量相当较少时,日志量不是很大的话,可以采用类似于awk、正则这样的操作进行分析,但随着机器数量的增多,例如在高并发大规模的集群环境下,整个业务的日志分散在多台主机上,这时就需要有一个平台能够帮助我们实现将所有分散的日志集中过来,同时提供对日志的快速搜集、分析能力,这就是ELK。
实现流程:
1、规划ELK部署架构(单节点、高可用集群)
2、在业务服务器部署filebeat日志采集器
3、安装配置ELK相关组件,测试所有组件运行状态正常
4、根据相关索引查看日志,进行可视化分析
5、整理文档,故障分析排查
案例六: ceph分布式存储功能测试
解决问题:
公司业务大量运行在虚拟化平台,产生大量磁盘文件、镜像文件,为便于文件的高效可靠存储,计划后端采用ceph分布式存储
实现流程:
1、规划ceph部署方案
2、安装配置ceph相关组件
3、查看状态,确保集群运行正常
4、测试块存储、文件系统、对象存储
5、整理文档,故障排查
案例七: 构建MyCAT中间件高可用集群
解决问题:
数据并发访问量大,同时避免单点故障
实现流程:
1、方案设计(后台数据库主从、多MyCAT、haprox+keepalived调度高可用)
2、安装配置集群相应软件,确保软件正常运行,对接
3、测试通过浮动地址正常访问数据库
4、测试故障转移