简历

  • 姓名:xiaoqing
  • 联系方式: xiaoqingnb (at) gmail.com
  • 个人网站:https://midbai.com

5年kubernetes运维和开发工作,且有5年的专家级运维经验。熟悉kubernetes源码(kubelet 90%的代码、常见的各种controller、scheduler部分组件),operator开发。

热爱开源,参与社区贡献,比如cilium、autoscaler(vpa)、karmada。

同时kubernetes生态相关的开源项目的源码也有研究,比如cni,kube-state-metrices、crane、koordinator、containerd、cadvisor、VPA,controller-runtime、descheduler等项目

热爱互联网,喜欢研究新技术,不断突破自己舒适区。

负责自建kubernetes集群的维护和周边生态组件的开发

  • 设计开发基于腾讯云弹性网卡的underlay CNI插件,解决原网络插件基于节点分配子网,集群节点数量受限于子网大小,且能够跟云资源整合。架构上基于operator和各个节点上agent模式,容器通信基于策略路由实现。
  • kubernetes集群降本–基于vpa算法进行资源推荐功能的开发,与上层开发平台配合完成的容器资源推荐功能。包括开发相关的operator、功能测试上线、推荐效果的可视化、推荐算法的优化改进。最终为kubernetes集群节省了15%的成本。
  • 设计开发真实负载感知的descheduler节点均衡插件,解决节点过热的问题,提升应用的稳定性。
  • 落地karmada作为集群冷备方案里的资源同步工具,并对karmada存在的问题(比如名字长度超出限制、字段不存在不能修改等问题)进行修复,以适合做为同步工具。
  • 负责集群的运维工作,包括20多套集群的管理、稳定性优化、节点扩缩容、监控系统瓶颈解决(从thanos迁移到victoriaMetrics)、报警处理等。

负责从0开始落地k8s,包括集群搭建,协助业务迁移,平台功能设计

  • 前期进行容器使用现状调研(使用docker进行部署)、了解痛点(没有自动扩容和优雅发布功能)。遵循"研发只需关心应用的配置、应用状态和资源使用情况"的原则,进行架构和发布系统功能设计。
  • 搭建和设计平台底层的k8s架构、包括混合云、高可用、容量规划、监控方案,并接入现有的系统–日志收集系统和prometheus监控系统、nginx接入层。
  • 按照“尽量减少对现有系统的改动”的思想下设计业务迁移方案、并推进业务迁移到kubernete上。使用流量复制对部署在kubernetes应用进行测试,然后再切一部分流量进行灰度测试。
  • 开发集群event记录组件将集群事件接入到日志系统,并修复cni kube-router在apiserver挂掉时候–pod网络不通bug,patch已合并到社区中。
  • 上线后接入500个pod和20多个node,提升服务可用性, 从有损发布到平滑发布,快速扩缩容, 提高发布效率, 从平均半个小时,降低到2分钟。

负责直播业务相关的运维工作

  • 推进业务迁移到k8s的paas平台,业务资源的容量管理–通过超分cpu达到提高利用率、通过划分 多个资源池并通过nodeAffinity达到某一资源池不足时,临时使用其他资源池
  • 解决上paas之后的应用出现的性能问题,通过修改应用参数和pod的配置和kubelet的配置的不断 的压测,最终php程序在k8s中耗时从20毫秒降低到5ms左右
  • 排查和解决业务测试、线上的出现的各种问题(比如redis慢、nginx重试导致请求量放大)
  • 参与故障的排查与解决,并进行故障的复盘报告的编写、并追踪后续的优化

负责整个公司的运维工作

  • 服务器操作系统进行规范化和标准化。
  • 负责各个系统的搭建和运维和优化,比如nginx、redis、发布系统、ELK。
  • 设计并实现gitlab ci +docker测试环境的持续部署,提升运维自动化。
  • 对服务器进行整顿,并进行运维的标准化工作。
  • 负责版本上线发布,变更,故障解决,问题发现。
  • 编写脚本,解决日常需要,备份数据库等。