运维可能有一部分朋友干的比较基础的工作,在公司可能没什么存在感,那怎么才能进阶高级职位呢,今天分享一下个人浅见,把需要具备的能力大致罗列一下。
大致有系统建设保持稳定性,运维自动化,微服务,持续集成,监控指标采集,容器编排以及分布式存储,还有些需要涉及数据库的,虽不如样样精通,但至少知道会使用就已经超过不少人了。
一、Linux
1、基础理论知识
2、基础命令(系统命令、目录管理、用户管理、文件权限、磁盘管理、资源查看等等常见操作)
3、文本高效处理(vi、vim、awk、grep、find、sed等)
4、bashshell脚本(可以边工作边学习,使用shell编写简单的代替重复性操作的脚本)
二、网络管理、进程管理
1、TCP/IP协议、DNS服务、CDN原理、iproute常见的网络客户端工具(ping、wget、ftp)
2、crontab计划任务
3、ps、top、htop、vmstat、lsof等命令
三、数据库
1、mysql为例的安装,基础使用增删改查
2、基本表的导入导出、数据库备份恢复
3、Nosql存储redis的基础使用
四、LA/NMP架构
1、LA/NMP:linux+apache/nginx+php+mysql组成的web服务
2、利用rsync事先web应用数据同步
五、安全
1、iptables四表(fiter、mangle、nat、raw)五链(prerouting、iput、forward、output、postrouting)、基本匹配
2、iptable规则保存重载生效
3、跳板机jumpserver
六、监控
1、监控基本体系、指标、性能相关参数
2、zabbix基础使用
3、prometheus使用
七、日志
1、日志收集分析原理
2、ELK、Loki、filebeat使用
八、自动化运维
1、常见自动化运维方案:puppet、ansible、salt、fabric
2、ansible安装基础使用
3、持续集成:jekins+gitlab实现ci/cd流水线
4、python自动化
九、容器虚拟化
1、docker、containerd、podman等常见产品
2、docker原理、使用
十、容器编排
1、容器编排技术基础概念
2、k8s安装,原理、组件,使用
其他扩展技能:掌握java基础知识、了解tomcat、nginx、web服务器相应的使用
罗列出来的知识点,看似很多,其实随着在行业的时间积累,经验积累,掌握这些基本点是水到渠成的,不会特别困难,难点在于知识比较分散,初学不知道从哪里开始,其实结合自己的经验来看,在公司处理业务等过程中,想办法将各个知识点串联其中,从中学习掌握是快速成长的好办法,但这只是个人看法,各位朋友有好的方法可以留言点赞,分享自己好的方法。
个人整理这十个点,一步一步共同朝着高阶学习进步,相信一定能够提升自我,拿到不错的报酬!下一步开始从这些点开始介绍详细情况,敬请期待!