关于

cka

关于作者

昵称: 南宫乘风

工作年限: 4年

获的证书: CKA , CKS

性格: 热爱学习,喜欢挑战自我并追求自己的兴趣,有清晰的规划

座右铭: 未来的你,会感谢今天仍在努力奋斗的你

岗位: 运维开发工程师

技能: 擅长 Linux,Kubernetes,Python,监控(Prometheus)及自动化技术(Ansbile)

研究方向: 专注于 Kubernetes,GO,Flask,Istio,云原生 和 Vue

目标: 成为一名优秀的DEVOPS工程师

联系我: 1794748404@qq.com

经历

前期成长

问: 为什么要记录学校期间的经历?

解: 因为正是这些学习和实践,才让我走上了运维的道路。这段宝贵的经历对我意义重大,我对此深表感激。

学校期间

  • 自学Shell和Linux操作:通过自学掌握了Shell脚本编写和Linux操作系统管理的基本技能,积极参与在线社区交流,解答问题并分享经验,不仅提升了自己的技术水平,还为社区其他成员提供了帮助和支持。
  • 学校网站建设与维护
    • 责任:负责学校网站的建设和日常维护工作。
    • 措施:
      • 通过使用防火墙和代码审查等技术和工具,确保Web服务器的安全性。
      • 制定并完善了网站的备份和灾难恢复计划,确保数据安全和恢复能力。
    • 成果:
      • 网站运行稳定,未发生重大安全事故。
      • 数据安全得到保障,即使在突发事件中也能迅速恢复,减少了对学校日常运作的影响。
  • 协助管理机房服务器
    • 责任:参与机房服务器的管理工作。
    • 措施:
      • 负责安装和配置服务器操作系统和各类服务软件。
      • 配置网络和防火墙,确保服务器的安全和网络稳定。
    • 成果:
      • 服务器系统运行高效,服务软件配置合理。
      • 机房网络稳定,服务器安全性得到了提升,有效防止了潜在的安全威胁。

工作经历

First: 售票系统

岗位: Linux运维工程师

工作内容

1、 负责项目软件安装及系统部署工作,编写对应的实施文档

2、 制定数据库备份方案,灾难出现时对数据库进行恢复。

3、 负责部署和管理监控系统环境,自定义脚本监控,实现监控报警功能

4、 负责公司线上环境管理工作,包括平台的实施部署和维护,代码更新,告警修复等操作。

5、 负责公司 web(Nginx、Apache、Tomcat)项目、数据库服务器的日常维护,程序版本更新。

6、 编写日常维护巡检 Shell /python 脚本获取每日服务信息邮件推送进行汇报;

负责异地组网和 VPN 技术构建与维护

案例:Openvpn企业级使用方案

  • 项目描述

由于公司服务器分布在不同网段和地区,管理不便,部分主机之间需要进行业务连接且没有足够的公网IP使用,同时有些数据需要私密传输,防止通过公网传输被窃取。因此采用OpenVPN实现异地组网,使不同网段能够互相通信,并确保数据加密传输安全。使用JumpServer作为堡垒机进行账号分配和权限管理,方便进行安全审计。

  • 工作内容
    • 负责项目总体规划,制定测试环境和方案,设计服务器网段划分。
    • 根据路由设计用户访问资源,部署测试环境并进行多次模拟测试。
    • 编写Shell脚本,实现用户自动创建和数据备份,防止磁盘损坏导致OpenVPN数据丢失。
    • 部署JumpServer组件,并编写Shell脚本备份JumpServer数据库。
    • 测试环境通过后,部署上线正式环境。
    • 后期负责OpenVPN和JumpServer的维护。
  • 成果
    • 确保上千台服务器之间的网络通信正常运行。,提升了整体网络的可靠性。
    • 掌握 VPN 的原理和网络拓扑设计,能够快速定位和解决网络故障。
    • 通过脚本自动化操作,简化了重复性任务,提高了效率。
其余项目
  • 工作内容
    • 重构备份业务,编写符合rsync的Shell脚本,实现自动打包、生成MD5文件并推送。编写备份服务端的MD5效验和邮件警报脚本,并将方案迁移到正式环境。 (架构图
    • 重构优化Zabbix监控架构,包含 模版、触发器、触发器动作、图像规划、各个组件的性能监控 和 告警信息报警 (项目优化
  • 成果
    • 实现备份业务自动化和规范化,减少人工干预,并通过MD5校验和邮件报警机制提高数据安全性和可靠性。完成备份方案在正式环境中的部署,确保生产环境的高效运行。
    • 优化Zabbix监控模板和触发器,提高监控准确性和灵活性,并实现各组件性能监控,确保系统在高负载下的稳定性。改进告警机制,缩短问题响应时间,提高运维效率。

Second: 维护上千台Linux系统

岗位: 自动化运维工程师

工作内容

1、负责维护 上千台 生产环境服务器的操作系统(实现ansible自动化管理)

2、根据业务需求编写shell和Python脚本,处理问题

3、增加集群prometheus监控,实现各方位的监控,从硬件,操作系统,到业务等

4、负责运维项目开发, 自动化脚本编写(编写Django告警接口对接alertmanager,Gin开发邮件告警服务,优化邮件接口,接入数据库,实现故障汇中和分析。)

5、分析报错日志,定位问题和解决问题

6、docker的构建,上传 和扫描 等维护

7、负责部分业务上线,业务环境测试到生产

8、负责维护Kubernetes业务,构建持续交付,更新和发版

上千台服务器监控告警系统搭建开发
  • 项目描述

    为了确保公司告警的及时性,及告警数据的持久化存储查询和故障数据回溯, 通过整合监控架构(Prometheus+ Consul + Alertmanager + Grafana + Ansible),实现对服务器的全面监控、监控数据的可视化,并将告警通知及时发送到手机端

  • 工作内容

    1. 监控告警集群配置
      • 负责搭建公司运维告警的监控集群,配置Prometheus、Consul、Alertmanager和Grafana,通过Ansible角色分发node_exporter客户端和配置管理,注册到Consul服务自动发现
      • 当Prometheus触发告警时,告警信息推送到Alertmanager,再根据预设的过滤规则转发到由Django开发的告警通知平台。(Django告警项目
      • 告警平台根据告警等级和类型,将通知分发到不同的钉钉群组。运维人员收到通知后,可以在钉钉上直接处理并回复到告警平台。
    2. 指标数据持久化存储
      • 对Prometheus收集的指标数据进行筛选,丢弃不需要的指标以优化存储空间。
      • 使用Go语言开发的插件prometheus-postgresql-adapter,将过滤后的数据写入Postgresql数据库,从而在Prometheus中查询到存储在Pg数据库中的监控数据。
      • 解决了监控数据量过大无法长期存储的问题。
    3. 监控数据可视化
      • 配置Grafana数据源为Prometheus,并设置不同的监控报表,包括日常运维告警面板和公司核心业务相关的监控面板。
  • 成果

    • 保证了操作系统的高可用性和稳定性,实现了系统的全面监控,提升了问题发现和解决的速度,有效缩短了从问题发现到解决的时间,减少了系统停机时间,提高了系统可靠性。
    • 成功搭建了监控基础架构,实现了高效的告警通知和持久化存储查询。通过Alertmanager和钉钉的集成,实现了告警信息的及时分发和响应,显著提升了运维效率
    • 利用Prometheus和Postgresql的结合,优化了监控数据的存储,支持长期数据存储和查询,解决了监控数据量过大无法长期存储的问题。
    • 通过Grafana的配置和报表展示,提供了清晰直观的监控数据可视化,为日常运维和公司核心业务的监控提供了有力支持。
    • 通过使用Ansible管理和分发客户端,以及配置和应用服务的安装,大幅提高了工作效率和自动化水平 , 减少了手动操作的错误率。
MHA数据架构优化

案例:MHA高可用方案

  • 项目描述

    项目原有的MySQL架构采用主从复制。为确保生产环境的稳定运行,推荐公司使用MHA架构和Atlas实现数据库读写分离。此举旨在解决业务中大量查询导致的负载均衡和CPU过高问题,减轻主库压力,提高业务访问速度,并防止主库宕机对业务运行的影响。

  • 工作内容

    • 增加一台MySQL从库,使架构变为一主两从。
    • 配置各个节点之间的免密钥通信和验证。
    • 部署MHA软件,并编写Shell脚本,实现自动检测复制状态(repl)、SSH连接及运行状态。
    • 配置自动切换后的邮件提醒功能(send_report)。
    • 使用Zabbix监控MySQL主从状态。
  • 成果

    • 实现一主两从架构和自动化故障切换,减少了主库宕机对业务运行的影响。
    • 通过数据库读写分离,减轻主库压力,有效解决了大量查询导致的负载均衡和CPU过高问题。
    • 配置了Zabbix监控MySQL主从状态,并通过邮件提醒功能确保管理员及时获取系统状态,提升了系统的维护性和安全性。
其余项目
  • 工作内容
    • 上线了一套高可用网站架构,包括Keepalived+Nginx负载均衡、MySQL、Redis、NFS和Web服务,实现了每层组件的高可用性,防止重要组件宕机造成网站不可用。架构支持故障自动切换和自动备份,并具备良好的扩展性和升级性。 (项目架构图
    • 规划和实施日志收集方案,收集上千台服务器的操作系统和应用日志。使用 Elasticsearch 分布式集群作为存储数据库,实现应用日志汇总区分和异常告警。
    • 利用 Ansible 编写剧本(playbooks),实现 SSH 漏洞修补、日常脚本自动化处理和监控服务的实施 , 实现了各类服务的自动扩缩容
  • 成果
    • 确保网站的高可用性, 具备良好的扩展性和升级性,能够轻松应对业务增长和技术更新的需求
    • 显著提升了问题定位和解决的效率,减少了系统宕机和服务中断时间。
    • 使用Ansible大幅提高了工作效率,通过高效管理上千台机器的服务和漏洞修复,节省了大量时间,显著提升了运维效率

Third:五百强的子公司

岗位: 运维开发工程师

Kubernetes 集群管理与运维
  • 工作内容
    • 构建和维护生产 Kubernetes 集群,确保业务平滑稳定迁移。
    • 熟悉 Kubernetes 技术和集群设计部署方案,能够快速诊断和解决运维问题。
    • 通过 CKA 和 CKS 认证考试,具备 Kubernetes 技能和安全管理能力,正在备考 ACP 认证考试,不断学习和提升自己。
  • 成果
    • 保证了 Kubernetes 集群的高可用性和稳定性。
    • 提升了问题诊断和解决的效率,确保业务稳定运行。
    • 持续学习和认证提升了专业技术水平。
自动化发布与工作流程优化
  • 工作内容
    • 完善业务自动化发布流程代码,规范化流程,提高工作效率。
    • 增加发布、巡检、告警和日志数据入库等功能,保证服务可靠性和稳定性。
    • 完善钉钉 OA 信息收集系统代码,分析汇总日常工作订单,实现工单分类和统计。
  • 成果
    • 显著提高了工作流程的自动化和规范化程度。
    • 增强了服务的可靠性和稳定性,提升了发布效率。
    • 提升了工作效率和服务质量,通过工单统计和分类实现更高效的管理。
成本优化与资源管理
  • 工作内容
  • 成果
    • 提高了资源利用率和成本效益,显著缩减了运维费用。
    • 加快了开发搭建速度,减少了环境维护的时间和成本,提高了开发效率。
    • 实现了对证书到期和异常情况的实时监控,快速响应和处理证书问题,避免了因证书失效导致的服务中断 。
    • 提高了企业对客户投诉和舆情的响应速度,增强了品牌的声誉管理和危机处理能力。

项目截图

开发上下游

cka

cks

cks

cka

cks

证书告警平台

cka

cks

证书截图

cka

cks

未来的你,会感谢今天仍在努力奋斗的你