DevOps的方法论已经广泛应用到各种有开发,测试,运维团队的场景中,实际落地案例下在资源编排,容器集群管理,镜像仓库管理,容器服务监控上有大量的技术平台和技术栈组合。结合CloudCare在大量企业客户场景下的实际案例,本文整理输出了我们的技术白皮书。
容器服务架构
基于上图的容器服务架构,整体CI/CD的Pipeline如下所示:
CI/CD技术栈
平台搭建实施涉及内容
- 环境快速部署,整体交付和管理
- 应用服务CI/CD配置
- 容器调度规则与健康检查
-
黑盒&白盒监控
- 基础资源
- 容器状态
- 业务日志
- 故障快速定位和排查,自动/手动修复
- 日志分析,预测和业务运营支撑
- 运营大屏接入
容器管理平台自动化部署
- 应用Stack、Catalog
- 管理账号和权限,LDAP接入
- Gitlab CE,包括 CI/CD配置
- 私有镜像仓库Registry
- 应用配置中心
- 应用日志中心
- 监控中心
- 基础设施管理配置
- 操作审计平台搭建配置
监控告警体系
监控告警
黑盒和白盒监控,黑盒监控面向现象,代表目前正在发生的,即“系统现在有故障”,白盒监控依赖对系统内部信息的检测,如系统和业务日志,可以检测即将发生的问题。CloudCare采取的策略是以白盒监控为主,在关键点位结合使用黑盒监控。监控和告警展示效果如下:
监控示例
结合以上涉及的相关平台和技术栈,CloudCare在落地到实际客户案例中会有灵活变化,例如在CI环节可以选择基于Gitlab-runner来做,也可以基于Jenkins来实施;在资源编排上可以用自建的kubernetes集群,也可以选择阿里云kubernetes容器服务(除了Serverless版本)。