阿铭linux运维架构师6期第一周第一天学习笔记
1.1-开篇
1.IT岗位介绍
铭哥大概给我们罗列出了IT行业的一些发展方向,如算法工程师、程序开发、运维工程师、测试工程师、网络工程师、云计算、大数据等。
程序开发:服务端开发、客户端开发
服务端开发:前端开发、后端开发。
后端开发:
Python、Java、C、C++、Go、PHP等。
铭哥主要目的是想让我们明确好自己的职业生涯发展方向,如下是我对运维这一块职业生涯发展方向的理解
1、纯运维工程师
纯运维工程师是基础的运维岗位,不负责写代码,只负责基础的系统维护,包括应用环境搭建,基础的业务运营过程中的故障排查;这个职位大部分是面向刚毕业的大学生或经验尚浅的工作者。
2、运维开发工程师
这个岗位是建立在纯运维工程师之上的,除了具备基础的排除故障能力,还应当对业务和各种应用服务有深刻的理解,了解业务问题和通点,能够在基础的维护工作之外,增加优化系统的思路;不仅应当具备基础的Linux知识之外,还应当具备一定的开发能力,比如shell脚本开发能力,或perl、python、java、go等一种语言,能够针对现有的系统弊端,开发一些脚本程序或工具,增加系统的自动化处理和恢复能力;这个岗位的发展目标是系统架构师。
3、运维平台研发工程师/架构师
负责研发适合公司业务系统的通用基础平台或组件,对研发能力有较高要求,需要具备产品线的运维经验和丰富的系统架构知识;例如现在热门的自动化运维方向,就需要开发适合自己公司需要的自动化平台,比如自动安装平台,自动应用服务维护平台,自动更新配置平台等。这个岗位和系统架构师没有明显的界限,通常好的运维平台研发工程师也能适应架构师的工作。
4、数据库研发工程师/数据库工程师
数据库方向是运维技术中较为特殊的一个方向,由于业务的重要性通常需要专设岗位,业界在该方向也有深厚的研究和积累。主要方向有数据库内核、云数据库等,长远发展是数据库领域的技术,数据库架构师。
5、运维经理/运维总监
运维同学做事情的过程中通常需要协调多个RD和QA同学,对协调和推进能力要求比较高,对一些技术深度还不错,协调和推进能力比较高的同学非常适合转型管理职位,长远的发展和技术部门的管理职位一样目标是CTO、CEO。 各个方向上的工程师发展到一定阶段后,没有明确的界限,需要同时具备较强的运维、架构、编程、算法等能力,是一个要求很高的职业。
但职业发展道路,必须循序渐进,一个好的运维工程师,肯定应当具备较强的开发能力,希望大家在发展过程中,具备了基础的Linux知识之后,一定要学习一些开发技能,比如必备的shell编程能力,另外还要掌握一门语言,比如热门的python语言,是一个不错的选择。
很明确,我们目前只属于纯运维工程师,我们要明确定位努力去掌握好该阶段的相应技术。而最便捷了解所需掌握的技术技能无非就是去了解一些招聘该岗位的相应技术要求,结合铭哥所说总结如下
2.招聘要求
1)计算机相关专业,本科、专科
2)熟悉 Linux 操作系统
3)熟悉主流公有云:阿里云、腾讯云
4)熟悉 shell/python 至少一种脚本语言(铭老师推荐学 Go)
5)熟悉 Tomcat、Nginx、Mysql、vsftp、Redis、Zabbix、ansible、ELK、prometheus等中间件
6)熟悉 Jenkins、CI/CD
7)熟悉 k8s、docker 等容器技术
8)熟悉 vm-exsi/vSphere或有RHCE认证优先
1.2-了解运维
1.运维的定义
即运营/运行 “+” 维护
例如微信、支付宝等应用
保证系统或业务永远可靠运行
运维又分为:
机房、大数据、网络、系统、业务、数据库、云计算、运维开发
2.运维岗位的薪资
一线城市应届生10k+
比网管高、比测试高、比开发低
3年内可达20k+
薪资多少是由供求关系决定
3.运维的发展前景
运维岗是必不可缺的
技术水平决定在 IT 的发展
门槛高低决定学习运维的人数 人数决定岗位是否内卷
高级运维比较紧缺
4.运维入门的门槛
比网络难学,比开发好学
运维不可避免的要学会使用Linux系统
较常用的命令大概是100多
1.3-认识 Linux
1.linux
它是计算机中的一种操作系统,而目前计算机也流行两种架构,一种ARM
架构,另一种是x86_64(amd64)架构,主流还是X86不过ARM架构也慢慢占有一席之地。
也是移动端的操作系统如手机的andriod系统便是基于linux开发的
一般运用于服务器领域(大部分的服务器时使用Linux系统)
2.Linux的起源
Linux 之前流行的是 Unix(mac os)——开始是开源免费供大家使用,后来资本家改为收费;
大学老师为了教学开发出了教学系统 Minix;
1991年Linus Torvalds 参考 Minix 开发了Linux(仅仅是内核)
GNU(GNU's not unix)/GPL 与 Linux
GPL(General Public License)
内核是操作系统做核心的组件,管理系统的进程、网络、设备驱动程序、文件,这些都是靠内核来管理与调度。
GNU是一项运动(自由软件基金会),旨在免费开源;
GPL是GNU保证软件开源的许可证;
Linus把Linux开放后,GNU与Linux组成一个操作系统。
linux系统发行版本有很多,例入Ubuntu、Dibian、RedHat等
3.发行版
Debian(1993)==>Ubuntu(2004)
Slackware(1993)==>SUSE(1994)
RedHat==>RedFlag(1999)
RedHat Fedora RHEL(2002)
1.4-高效学习
1.学习方法
1)目的明确,坚定信念
2)合理安排时间
3)笔记很重要(一定要做好,把不熟悉的知识点反复进行练习实操)
4)参加直播答疑
2.时间安排(至少4小时学习时间)
1)视频+记笔记用1到1.5小时,笔记只记关键
2)实操用两小时,实操的过程截图完善笔记
3)剩下的时间巩固
4)扩展内容,可跳过,周末或找工作前学习
3.如何问问题
1)准备充分,再去问(高效的问问题)
2)整理成笔记,发链接给老师
3)拒绝:遇到问题就截图扔群里
4.如何解决问题
1)观察做没做对
2)网上搜答案
把报错信息粘贴到搜索引擎中(使用 bing.com)
3)学会解决问题的思路和方法
4)学会如何学
5.要点
1)严格执行学习计划,今日事今日毕
2)解决每一个问题
3)笔记很重要
4)务必要实操
建立个人博客
记录遇到的问题和解决的思路和方法
总结:根据自己的实际时间进行合理安排时间学习,寻找合适自己的学习方法,建立个人博客记录下自己学习中所遇到的问题以及解决方法。
1.5-安装linux系统
在这系统安装部分,我为了方便学习,把它安装在自己的超融合环境上了,并开通了外网访问随时随地都能同步学习进度