微服务架构从入门到精通之DevOps实践篇(一) DevOps实施过程介绍
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。 本文不是理论方面的介绍,主要目的就是搭建Spring Cloud + GitLab +(Jenkins可选)+ Docker + K8S的持续集成开发环境。通过这个例子的实施,让大家对DevOps有一个初步的认识。一、持...
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。
本文不是理论方面的介绍,主要目的就是搭建Spring Cloud + GitLab +(Jenkins可选)+ Docker + K8S的持续集成开发环境。通过这个例子的实施,让大家对DevOps有一个初步的认识。
一、持续集成流程
我们先采用Kubernetes,后面会把kubernetes替换为Rancher。
二、DevOps工具箱
DevOps涉及到工具非常多。现将工具类型及对应的工具列举如下:
代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
构建工具:Ant、Gradle、maven
自动部署:Capistrano、CodeDeploy
持续集成(CI):Bamboo、Hudson、Jenkins、GitLab
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul、Eureka
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk、Pinpoint
压力测试:JMeter、Blaze Meter、loader.io
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS、Kafka
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
在工具的选择上,需要结合公司业务需求和技术团队情况而定,我们采用工具为红色标注的。
三、本章内容
本章内容:Spring Cloud + GitLab +(Jenkins可选)+ Docker + K8S
- Docker及Docker仓库
- Docker for Mac和Kubernetes的安装配置
- MySQL of Docker的安装配置
- GitLab以及持续集成配置
- Jenkins以及持续集成配置
- Spring Cloud Eureka
- Spring Cloud 配置中心
- Spring Cloud Feign/Hystrix
- Spring Cloud Gateway
- Spring boot和Hello World工程
四、环境说明
一般来讲,需要CentOS7 Linux主机两台,我们采用Mac本替代。
五、预备知识
- 掌握基本Spring Boot开发
- 掌握Linux,Git,Maven基础操作
- 了解Kubernetes基础知识
- 了解Docker基本概念和命令
- 了解持续集成基础知识
- 了解Spring Cloud各基本组件:Eureka Server/Client,Feign,Gateway
六、版本说明
- Docker for mac 自从在1.7.12 CE Edge 发行版本后,集成了 kubernetes,我们采用 18.06 Stable (mac70)版本。
- Docker仓库采用Docker Hub
- MySQL采用5.7
更多推荐
所有评论(0)