中科易研(北京)科技有限公司 系统运维工程师
2021.10 – 2024.6
主导公司内部DevOps体系建设与K8s平台运维
行动: 主导引入并部署了基于 Jenkins + GitLab + Harbor + SonarQube 的CI/CD平台。为K8s集群设计并配置了精细化的RBAC权限,创建了隔离的CI/CD专用ServiceAccount。使用Ansible实现了对50+台服务器的初始化和应用环境自动化部署。
成果: 将核心应用的发布周期从原来的2-3天缩短至4小时,实现了准自动化发布。减少了约80%因手动配置变更导致的人为故障。
负责核心业务系统的高可用与监控体系优化
行动: 主导监控系统从Zabbix向Prometheus技术栈的转型,解决了Zabbix在K8s动态环境下服务发现不灵活的问题。构建EFK日志平台,并引入Kafka作为日志缓冲区,有效应对了日志流量洪峰,避免了Logstash的性能瓶颈。
成果: 实现了对K8s集群内Pod、Service等资源的全自动监控,故障平均发现时间(MTTD)缩短了60%。统一的日志平台使问题排查效率提升了近70%。
推动运维标准化与文档体系建设
行动: 负责编写和维护超过20份核心系统的运维手册、SOP(标准操作流程)和应急预案。
成果: 建立了标准化的运维知识库,新员工入职后上手时间缩短了50%,并确保了在紧急故障处理时操作的规范性和准确性。
项目经验
项目一:某金融科技公司信贷审批系统K8s平台高可用改造
项目背景: 该公司核心的信贷审批系统基于虚拟机部署,面临业务高峰期(如月末、季末)扩容慢、资源利用率低的问题。同时,业务要求极高的稳定性和数据一致性,需要一套高可用的K8s基础设施。
我的职责:
高可用架构设计: 担任核心技术负责人,设计并部署了**三主多从(3 Master, 5 Worker)**的高可用K8s集群。使用 Keepalived + Nginx 作为API Server的四层负载均衡,确保了控制平面的高可用。
etcd集群运维: 独立部署并维护了一个5节点的外部etcd集群,配置了严格的TLS双向认证,并编写了Shell脚本定期对etcd进行快照备份与健康巡检,确保了集群状态数据的安全与一致性。
网络方案: 采用Calico作为CNI插件,利用其BGP模式实现了Pod IP与物理网络的互通,并配置NetworkPolicy对核心应用(如数据库连接)进行了严格的网络隔离。
项目成果:
成功交付了生产级高可用K8s集群,系统整体可用性(SLA)从99.9%提升至99.99%。
通过HPA(水平Pod自动伸缩),系统平稳度过多次业务高峰,资源利用率平均提升了40%。
建立了完善的故障演练机制,模拟并成功处理了单个Master节点宕机、etcd节点故障等场景,验证了架构的可靠性。
项目二:某大型电商平台日志与监控中台建设
项目背景: 该电商平台拥有上百个微服务,传统的日志和监控方式分散且效率低下。在“618”、“双11”等大促期间,快速定位线上问题成为巨大挑战。项目旨在构建一个集中化、智能化的日志监控平台。
我的职责:
技术选型与方案设计: 负责日志和监控系统的技术选型。对比ELK和EFK后,考虑到资源占用,在K8s节点上采用Fluentd (DaemonSet) 进行日志采集。为解决日志风暴问题,引入Kafka集群作为缓冲层,有效保护了下游的Logstash和Elasticsearch。
平台搭建与调优: 独立部署了由3个节点组成的Kafka集群和5个节点组成的Elasticsearch集群。对Logstash的filter进行了深度优化,根据业务日志格式进行结构化处理。在Prometheus中,使用 kubernetes_sd_configs 自动发现业务Pod,并为核心业务编写了自定义Exporter (Python),用于采集订单成功率等关键业务指标。
可视化与告警: 在Grafana中创建了超过10个核心业务的监控大盘,实现了从全局概览到单个Pod指标的下钻分析。在Alertmanager中配置了精细化的告警路由和抑制规则,将无效告警数量降低了90%。
项目成果:
实现了每日TB级别日志的稳定采集、处理与查询,问题定位时间从平均1小时缩短至10分钟以内。
在大促期间,平台稳定运行,为超过50个微服务提供了实时的性能监控和故障预警,保障了大促活动的顺利进行。