当前位置:首页 > 技术文章 > 正文内容

成为DevOps工程师,你需要具备哪些技能?

arlanguage5个月前 (12-18)技术文章37

Linux基础

  • Linux系统的基本概念;
  • 必须会使用至少一个编辑器,例如VIM;
  • 至少会一种shell,例如bash;
  • 会使用rsh/ssh/scp/rhost/rsync;
  • cron相关设置和命令,crontab;
  • 进程的状态,以及相关的命令ps, top, pgrep,pstree;
  • 文件状态的查看排序,ls;
  • 文件的查找, find;
  • 文件权限,以及相关命令ls, chmod, chown;
  • 文件的压缩解压种类,tar;
  • job相关命令 jobs,nohup,bg, fg, disown;
  • 信号的种类INT,TERM,QUIT, 和kill的使用,例如 kill -9;
  • 软硬链接的概念和命令,ln;
  • 磁盘的使用和配额命令,df,du,quota;
  • 内存的种类swap和buffer,相关命令top;
  • 系统的检测命令,uptime,ps,top, free,pstree;
  • Daemon,service的工作原理,配置,使用,例如命令service;
  • 用户的权限,group等的操作;
  • 磁盘的自动挂载;
  • 文件内容的查找命令grep,sed;
  • 高级命令xargs;
  • 文本数据库的操作命令,例如cut,tr,sort,uniq;
  • 会使用pstree,strace等追踪进程相关问题;
  • 网络和防火墙的配置;
  • wget,curl下载或者模拟http;

linux 入门请移步:

http://www.linux6.com/

https://www.cnblogs.com/itech/p/3660240.html

脚本编码能力

DevOps的工作内容就是流程的自动化,不是所有的任务都有第三方的免费工具,所以使用Perl或者Python将重复的工作脚本化自动化是一项主要的工作职责。其中包括:

  • 文件读写处理,
  • 正则表达式匹配,
  • 多线程多进程并发,
  • 日志分析和报警,
  • 生成csv或者网页的报告,
  • 各种任务的自动化检测和报警。
  • 以及通用软件和系统的开发,

总之各种任务种类繁多,但是只要你有Perl或者Python这样的瑞士军刀,那就手到擒拿了。

开发和持续集成相关的工具

最近几年软件流程相关的工具百花齐放,虽然没有web技术框架那么夸张,但是也足够让人眼花缭乱了。工具会根据公司软件所在的领域不同,也会因为软件所使用的技术栈有所差异。

  • 开发编译工具的使用,Makefile,gdb,gradle,cmake,vscode等;
  • 源码管理工具,git,github,svn等;
  • 持续集成工具,Jenkins,TeamCity, Bamboo等;
  • 测试相关框架和自动化,Junit,selenium等;
  • 软件质量相关工具,Jira,SonarQube 等;
  • artifact管理,dockerhub,jfrog,nexus等;
  • 容器相关工具,docker,kubernes,swam,mesos等;
  • 流程监控和报警,elesticsearch,kibana,prometheus,grafana等;
  • 云服务的使用, amazon,openshift,google cloud platform等;
  • 自动部署工具,chef,puppet,salkstack,ansible;

更多工具:https://github.com/cicdops/awesome-ciandcd

其他必须技能

  • web服务器作为基础架构之一,必须会配置,例如apache,nginx;
  • 数据库在配置管理中,也是基础架构之一,必须熟悉使用和管理,常用的数据库MySQL,Mongo,Redis;
  • 虚拟机的使用,VirtualBox, Vagrant;
  • Docker容器的使用以及容器编排工具的配置和使用;
  • Web开发能力,熟悉javascript和流行的web框架React等;
  • 机器学习和人工智能相关的技术;

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/303.html

标签: nginx配置ci
分享给朋友:

“成为DevOps工程师,你需要具备哪些技能?” 的相关文章

解决php因为输出内容太短无法流式(Stream)输出问题

实测得知,如果用PHP做流式输出每次echo的内容太短的话,就没有流式的效果了,而是会等输出的长度达到一定时前端才能拿到结果,如下:这是我这边的测试结果,可见,这里仅接收到了两次流式输出,但是我在PHP里是输出了10次,从而证明了每次流式的内容达到一定长度时才能有流式得到效果,这个长度到底是多少,我...

使用nginx对视频、音频、图片等静态资源网址,加token签权

目前很多静态资源,都可以无权限验证,进行访问或转发,对有价值的资源进行签权,限制转发无法在代码中实现拦截,我们可以使用nginx对视频、音频、图片等静态资源网址,加token签权如:http://192.168.1.22/123.mp3http://192.168.1.22/123.m3u8http...

Nginx常用配置及和基本功能讲解

作者:京东物流 殷世杰Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Ngnix入门学习。1 核心配置找到Nginx安装目录下的conf目录下nginx.conf文件,Nginx的基本功能配置是由它提供的。1.1 配置文件结构Nginx的...

nginx启动、重启、关闭

一、启动cd usr/local/nginx/sbin./nginx二、重启更改配置重启nginxkill -HUP 主进程号或进程号文件路径或者使用cd /usr/local/nginx/sbin./nginx -s reload 判断配置文件是否正确nginx -t -c /usr/local/...

Linux下如何用nginx+ffmpeg搭建流媒体服务器

安装ffmpeg安装过程略安装完成后,检查是否安装成功。比如我这里采用向pili推流的方式,将本地的一个mp4视频推流到七牛pili。ffmpeg -re -i /tmp/ffmpeg_test.mp4 -vcodec copy -acodec copy -f flv "rtmp://pil...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...