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

配置管理:AnsibleChefPuppet、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

  1. Docker及Docker仓库
  2. Docker for Mac和Kubernetes的安装配置
  3. MySQL of Docker的安装配置
  4. GitLab以及持续集成配置
  5. Jenkins以及持续集成配置
  6. Spring Cloud Eureka
  7. Spring Cloud 配置中心
  8. Spring Cloud Feign/Hystrix
  9. Spring Cloud Gateway
  10. Spring boot和Hello World工程

四、环境说明

    一般来讲,需要CentOS7 Linux主机两台,我们采用Mac本替代。

五、预备知识

  1. 掌握基本Spring Boot开发
  2. 掌握Linux,Git,Maven基础操作
  3. 了解Kubernetes基础知识
  4. 了解Docker基本概念和命令
  5. 了解持续集成基础知识
  6. 了解Spring Cloud各基本组件:Eureka Server/Client,Feign,Gateway

六、版本说明

  1. Docker for mac 自从在1.7.12 CE Edge 发行版本后,集成了  kubernetes,我们采用 18.06 Stable (mac70)版本。
  2. Docker仓库采用Docker Hub
  3. MySQL采用5.7

接下来讲解Docker for Mac和Kubernetes的安装配置

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐