devops和自动化运维实践 PDF,devops思想在运维方面的具体实践
Ops运维开发一体化DevOps的核心思想是工作效率最大化,通过一系列技术栈来体现。
开发人员、产品经理、测试人员、运维人员……传统的分部门开发方式,开发周期普遍较长,部门分散,相互之间的沟通可能不到位。
1、敏捷开发
2、产品与质量管理软件
(运维人员、环境搭建、维护、调试、开发人员、测试人员、产品经理、项目经理使用)常见的软件有:
大厂商使用的吉拉是收费的外国软件。中国有禅宗,免费开源。
Gitlab还可以通过milestone功能,用于发布任务。
团队,相对较小。
3、代码仓库管理
-GitOPS,代码仓库管理的操作和维护服务器:GitLab、GitHub、原生Git和Gitee是分散的。中间是SVN。
客户端:终端的Git CLI,图形界面的TortoiseGit。
4、开发流程规范
GitLab里有工作流GitLab flow,GitHub,原生git,有工作流。
5、自动化构建脚本
Maven,Ant,Gradle等等。
6、虚拟化与容器化
虚拟化和容器化是不同的技术。
虚拟化分为硬件虚拟化和软件虚拟化,容器化是软件虚拟化的一个分支。
虚拟化技术:
VMWare,企业ESXi,cVenter,桌面VM WorkstationXEN,Linux中对XEN虚拟化的原生支持,XenServer/Xen Client是RedHat做的一项虚拟化技术。KVM,新版Linux内核原生支持KVMHyper-V,Windows Server 2016已经发展到第二代,是Windows上最好的虚拟化技术。第一个版本发布于Win Server 2012。集装箱化技术:
LXC和LXD是Linux上的两种虚拟化技术,是名称空间的隔离。Docker早期也是基于LXC的,后来被谷歌的开源引擎处理了。CentOS 7.6以后,对Docker的底层支持发生了变化,逐渐被淘汰。为什么?因为Docker是典型的CS架构,有服务器和客户端。服务器端有守护进程,Docker的守护进程是它的短板。下一代容器技术Podman技术,原生支持Docker的所有API,不需要和Docker一样的守护进程。
7、持续集成和持续部署 CI / CD
CI:持续集成工具,Gitlab,Git,TeamCity
CD:持续部署工具,Jenkins
8、持续监控 / 监控管理工具 CM
持续监控工具,Zabbix,Prometheus
监控工具:单机监控;集群监控;集装箱监控;日志分析系统ELK等等
9、自动化工具
基于Python直通脚本
可以使用Python相关的工具,比如Ansible自动运维工具,Puppet等。
10、自动化测试
Python自动化测试
应用工具
11、云计算技术体系
云计算管理平台opencloud,底层是虚拟化技术,相当于一个资源池(CPU计算能力、存储、网络资源)整合在一起,然后以服务的形式提供给他人。
平台:
OpenStack,服务很重,逐渐被淘汰。是一个收费ZStack的国产平台,有免费版,收费版的容器云,结合k8s,故障转移,秒级启动。进程间通信的安全性需要加强。
MySQL可以在容器中完成吗?需要单独的物理机吗?
可以,可以在集装箱里,但是你的公司必须有一个知道怎么玩集装箱的大牛。否则你的数据可能会丢失,这就涉及到持久性等问题。
盲目上云,盲目用容器,会带来很多问题。