一、自动化运维
1、网络层(接入层、汇聚层、核心层);
LB+HA(L4、L7);
服务层(reverse proxy cache、应用层、web层、SOA层、分布式层、DAL);
数据层(分布式缓存、NoSQL、DB);
系统层(环境初始化)
基础设施(IDC托管、设备上下架);
2、自动化实现:
网络层(SDN,softwaredefinition network);
LB+HA(平台开发、IaaS);
服务层(PaaS or docker(自动化调度、自动化开发、自动化发现(服务发现、服务注册));reverse proxy cache(第三方平台开发);应用层(自定义开发);web层、SOA层、分布式层、DAL(saltstack,saltcloud,有docker模块、消息));
数据层(DAL);
基础设备、系统层(IaaS,openstack);
3、安全:
网络层(firewall);
LB+HA、服务层(WAF,web application firewall)
数据层(如DB权限);
系统层(tcp wrapper);
基础设施(物理安全);
4、备份:
网络层(HSRP、VRRP);
LB+HA(VRRP);
数据层(DB备份);
服务层中的web层(saltstack);
核心层(网关设备(outside、inside)、防火墙、router);
汇聚层(三层交换;动态路由、静态路由、EC、端口汇聚);
接入层(二层交换;VTP、SPF、trunk、port安全);
L4(LVS、F5's BigIP、Citrix's Netscaler、A10);
L7(haproxy、nginx);
DAL、专业团队做(taobao'sTDDL、360);
分布式层(分布式存储(glusterfs、moosefs、fastDFS);分布式MQ(rabbitMQ、QPID、zeroMQ));
SOA层、服务化(应用服务层duddo、基于restfull api开发);
web层(httpd、nginx、tomcat、jboss、resin);
应用层、应用变更ittle(php、java、python、C、C++);
reverse proxy cache(ATS、squid、varnish;CDN(配置同步;流量统计;预缓存;缓存更新;日志分析;智能DNS));
DB(MySQL、Oracle、postgre SQL、SQLserver、access);
NoSQL(mongodb、redis、couchbase、elasticsearch);
分布式缓存(memcached、redis);
环境初始化(性能优化;监控agent;自动化管理saltstack minion;内部DNS;limit(例如tcp wrapper限制仅跳板机ssh到server);
设备上下架(网络配置;标签;自检(配货单与实物对比);raid;iDrac|ILO|IMM;OS安装;资产录入(分层设计)——合同管理(采购方-采购时间-采购人-联系信息)——保修时间——地点——配置详情——MDB配置项(OS类型-IPv4,RIP,VIP,IPMI,hostname)——服务层面);
IDC托管(熟悉各大IDC厂商;根据业务类型选择;网络测试;谈价格、走合同;设备采购(需求分析、采购、上下架));
5、运维标准化(版本、路径、服务、OS……);
6、运维边界:
运维边界模糊化(掌握尽可能多的知识点);
运维开发(后端>前端,重点在后端);
7、自动化运维发展阶段:
标准化、工具化(标准化运维;运维标准化、操作工具化、变更流程化);
web化、平台化(web化运维;操作web化、权限控制、弱化流程、统计分析、统一调度);
服务化、api化(DNS服务、LB服务、监控服务、分布式缓存服务、分布式存储服务、CMDB);
智能化;
8、服务器生命周期:
服务器上架-->网络配置-->raid配置-->IPMI
服务器上架-->环境部署-->运维变更-->(服务更新-->代码更新-->服务扩容&缩容);(服务下线,服务器下线)
环境部署(OS安装(cobbler);服务部署(saltstack);应用代码部署(saltstack&shell);监控配置(zabbix);加入运行集群(LVS&haproxy))
9、持续集成、持续部署:
二、git简介
分布式的版本控制系统;
diff(2002年之前)-->bitkeeper(2002年)-->git(不要逼我);
集中式;
分布式(中央服务器用于交换代码);
注:不要拿git与svn相对比,git只能管理文本文件,不能管理picture;
https://github.com/jowinchaitest,github源码托管,开源项目,代码管理,控制工具;
三、安装部署
yum install git #安装git git config –global user.name “tom” #配置git用户 git config –global user.email “[email protected]” #配置git邮箱 git config –global color.ui true #配置颜色 git config –list #查看配置信息
四、git常用命令
add #添加文件内容至索引
bisect #通过二分查找定位引入 bug 的变更
branch #列出、创建或删除分支
checkout #检出一个分支或路径到工作区
clone #克隆一个版本库到一个新目录
commit #记录变更到版本库
diff #显示提交之间、提交和工作区之间等的差异
fetch #从另外一个版本库下载对象和引用
grep #输出和模式匹配的行
init #创建一个空的 Git 版本库或重新初始化一个已存在的版本库
log #显示提交日志
merge #合并两个或更多开发历史
mv #移动或重命名一个文件、目录或符号链接
pull #获取并合并另外的版本库或一个本地分支
push #更新远程引用和相关的对象
rebase #本地提交转移至更新后的上游分支中
reset #重置当前HEAD到指定状态
rm #从工作区和索引中删除文件
show #显示各种类型的对象
status #显示工作区状态
tag #创建、列出、删除或校验一个GPG签名的 tag 对象