zoukankan      html  css  js  c++  java
  • 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等;
      • 机器学习和人工智能相关的技术;
  • 相关阅读:
    2-2. 线性池技术优化
    2-1. 基于OpenSSL的传输子系统实现
    1-4. 嵌入式web服务器BOA的移植及应用
    1-3. Linux下移动图像监测系统——motion的移植及应用
    1-2. 摄像头驱动的使能配置、V4L2编程接口的设计应用
    1-1. OSS/ALSA 声卡的驱动与配置和 Madplay 嵌入式播放器的移植
    嵌入式Linux开发环境搭建,问题ping、nfs的解决
    并发服务器的设计
    WPF 子类访问主类(父类)MainWindow的属性和方法
    stm32 读取多路SDADC
  • 原文地址:https://www.cnblogs.com/itech/p/12674487.html
Copyright © 2011-2022 走看看