DevOps技能自查表
前篇提到了DevOps的工作岗位要求,但是没有来的及深入细节,本文根据个人10年多的经验,尽量详细地列举DevOps所需要用到的一些技术和相关参考网站。
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等;
- 机器学习和人工智能相关的技术;
DevOps技能自查表的更多相关文章
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程05:技能读表》
5.技能读表 技能读表概述: 技能读表,作为实现技能系统更为快捷的一种方式,被广泛应用到游戏开发中.技能配表,作为桥梁连接着游戏策划者和开发者在技能实现上的关系.在游戏技能开发中,开发者只需要根据策划 ...
- 2019 DevOps 必备面试题——DevOps 理念篇
原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...
- 卡牌手游源码《暗黑世界V1.3》数据库表说明文档!!!
原地址:http://blog.csdn.net/uxqclm/article/details/11970761 欢迎来到9秒:www.9miao.com 由于看到论坛中有人询问需求<暗黑世界V ...
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程06:技能播放的逻辑关系》
6.技能播放的逻辑关系 技能播放概述: 当完成对技能输入与检测之后,程序就该对输入在缓存器中的按键操作与程序读取的技能表信息进行匹配,根据匹配结果播放相应的连招技能. 技能播放原理: 按键缓存器中内容 ...
- DevOps之技能面
<教学手册(Teaching Manual)> 教学:人类培养态度.传授知识.训练技能的活动.教学目的:知识与技能的层次:(了解.理解.熟悉.掌握.精通).教学手段:理论与实践的方面:(科 ...
- WEB入门 四 CSS样式表深入
学习内容 Ø CSS选择器深入学习 Ø CSS继承 Ø CSS文本效果 Ø CSS图片效果 能力目标 Ø 掌握CSS选择器的组合声 ...
- 【转】MMORPG游戏服务器技能系统设计:表格字段与技能程序框架
本文主要从一个程序员的角度阐述一下mmorpg服务器技能系统的程序框架设计,最近在做这个,就当做一个总结吧,其中某些概念可能没有解释清楚,欢迎大家拍砖讨论~ 技能其实是战斗系统的一个组成部分,战斗基本 ...
- 《暗黑世界V1.3》数据库表说明文档
<暗黑世界V1.3>数据库表说明文档 (下载地址:http://www.9miao.com/forum.php?mod=viewthread&tid=38821&highl ...
- 2019 DevOps 技术指南
原文链接:https://hackernoon.com/the-2018-devops-roadmap-31588d8670cb 原文作者:javinpaul 翻译君:CODING 戴维奥普斯 写在前 ...
随机推荐
- 详细解析kafka之kafka分区和副本
本篇主要介绍kafka的分区和副本,因为这两者是有些关联的,所以就放在一起来讲了,后面顺便会给出一些对应的配置以及具体的实现代码,以供参考~ 1.kafka分区机制 分区机制是kafka实现高吞吐的秘 ...
- 05 Linux目录速查表
/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始 当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录 /b ...
- Asp.Net Core 中IdentityServer4 授权中心之自定义授权模式
一.前言 上一篇我分享了一篇关于 Asp.Net Core 中IdentityServer4 授权中心之应用实战 的文章,其中有不少博友给我提了问题,其中有一个博友问我的一个场景,我给他解答的还不够完 ...
- plist 图集 php 批量提取 PS 一个个切
最近,迷上了用 cocos2d 做游戏开发.由于是新入门,很多东西从头开始学. 在使用 sprite 的 Rect 裁剪显示的时候,显示总是多一块.所以,要从图集中提取一张张图,这样就省了裁剪. 原图 ...
- nes 红白机模拟器 第6篇 声音支持
InfoNES 源码中并没有包含 linux 的声音支持. 但提供 wince 和 win 的工程,文件,通过分析,win 的 DirectSound 发声,在使用 linux ALSA 实现. 先使 ...
- 基于osg的python三维程序开发(一)
背景: osg是一款开源的三维引擎,在过去多年的发展中积累了大量的用户,该引擎基于场景树的管理,使用方法简单.但是对长期使用python作为开发工具的朋友来说, 有一定门槛. 下面的小程序,演示了如何 ...
- drf分页功能
什么是restful规范 是一套规则,用于程序之间进行数据交换的约定. 他规定了一些协议,对我们感受最直接的的是,以前写增删改查需要写4个接口,restful规范的就是1 个接口,根据method的不 ...
- 029.核心组件-Controller Manager
一 Controller Manager原理 1.1 Controller Manager概述 一般来说,智能系统和自动系统通常会通过一个"控制系统"来不断修正系统的工作状态.在K ...
- activated钩子函数
activated钩子函数是在组件被激活后的钩子函数,mounted是不保证组件在document中,也就是组件还没有被激活,因此可以理解为activated执行在mounted之后. 在跳转传值时, ...
- onOK Modal.warning iview 要写一个函数 套上,不然会得不到异步调用,直接弹出的时候就执行了
export const warning = (str, callback = _ => {}, outCallback = () => {}) => { Modal.warning ...