1.熟悉阿里云、腾讯云、aws上各种主流服务的使用和维护。
2.熟悉nginx、docker、K8s、MQ、elk等开源软件的运维工作。
3.熟悉zabbix、prometheus、grafana 等监控系统工具的运维工作。
4.熟悉MySQL、Redis、MongoDB数据库,掌握部署、管理、维护和监控。
5.熟练使用Shell等脚本语言,能编写shell 脚本进行自动化运维工作。
6.熟练使用k8s、docker、jenkins、gitlab、nexus等服务,具备0到1的CI/CD流程搭建能力。
CI/CD持续集成和持续部署
1.部署和配置jenkins、nexus服务,集成jenkins与gitlab服务,实现自动拉取代码功能。
2.配置jenkins服务器访问k8s集群的权限,并且登陆docker镜像仓库。
3.通过Maven进行项目的编译打包和依赖的管理,确保项目的一致性。
4.1后端项目,编写shell脚本利用dockerfile文件构建docker镜像,推送至镜像仓库,之后修改项目yaml文件的镜像版本,执行滚动更新命令,最后通过curl命令向pod发送http请求,根据状态码判断是否正常启动。
4.2前端项目,编写shell脚本,将dist/client/目录下所有的文件拷贝到CDN源站对应程序的目录下,再利用dockerfile文件构建docker镜像,推送至镜像仓库,修改项目yaml文件的镜像版本,执行滚动更新命令,最后通过curl命令向pod发送http请求,根据状态码判断是否正常启动。
5.进行测试,验证应用的功能和性能。并编写交付文档,记录项目的配置和使用说明。
自建k8s单节点集群,如果需要也可以配置多节点,并且配置prometheus、grafana、钉钉的监控报警平台。
通过jenkins 、nexus、gitlab、shell脚本 实现程序代码的自动拉取、编译、部署、验证