课程简介
近些年,随着技术的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择敏捷开发、快速迭代与互联网分布式架构,云原生的概念孕育而生。云原生=微服务+DevOps+持续交付+容器化,它通过微服务进行设计开发系统,通过DevOps进行持续交付,以容器化的形式进行分布式云端部署。
采用云原生架构以后,可以通过开发微服务,拆解复杂的单体系统;通过DevOps进行自动化运维,实现快速交付;通过K8s分布式云端平台,进行分布式云端部署,以实现互联网的高并发、高可用。但是,如何搭建这样一套DevOps自动化运维平台,如何将微服务系统部署在K8s云端平台,需要开发团队具备更多的服务端实操的能力。为了帮助开发团队解决这些方面的问题,切实地将DevOps与K8s云端平台搭建起来,真正有效地发挥出微服务的优势,我们特组织了此次课程。
课程收益
1. 了解云原生(Cloud Native)的概念
2. 掌握分布式持续集成核心要点
3. 熟悉分布式容器管理工具Kubernetes
受众人群
1、系统架构师、高级程序员、资深开发人员
2、涉及到微服务技术转型的团队负责人、规划师、架构师
3、涉及到云端DevOps平台部署与交付的运维人员
课程周期
2天(12小时)
课程大纲
主题 | 授课内容 |
一.云原生与容器化部署 | 云原生(Cloud Native)的概念 1. 面向互联网分布式系统运维的难点与痛点 2. 云原生=微服务+DevOps+持续交付+容器化bus 3. 云原生架构的核心思想与“12因素(12-Factors)” 4. 云原生的设计实现:Kubernetes、微服务、服务网格 构建分布式持续集成环境 1.什么是分布式持续集成 2.大前端+技术中台的组织形式与微服务架构 3.持续探索、持续集成、持续交付、按需发布的概念 云原生的自动化运维过程 1.持续集成工具Jenkins 2.单元测试与契约测试 3.运行容器:Docker 4.分布式集群管理框架:Kubernetes |
二.容器技术与Docker实操 | Docker的基本原理 1. 虚拟化技术 vs. 容器技术 2. 容器技术的标准化概念 Docker运维实战 1.Docker容器管理与实操 2.Docker镜像管理与实操 3.使用Dockerfile构建镜像 演练:微服务如何打包制作Docker镜像 4.Docker仓库管理与实操 演练:如何搭建私有镜像仓库Docker Registry 5.实战演练 用Docker部署和运维rabbitMQ 用Docker部署和运维mysql 基于容器的微服务自动化运维 1.微服务运维的难点与痛点 2.基于Maven的Docker构建过程 3.使用Jenkins编写定时任务 演练:基于容器的微服务持续集成过程 |
三.分布式云部署与Kubernetes实操 | 分布式容器管理工具Kubernetes 1.Kubernetes的分布式管理运行原理 2.Kubernetes的基本组件及其应用场景: 无状态应用(Deployment)、有状态应用(StatefulSet)、批处理任务(Job)、后台支撑型(DaemonSet) 3.Kubernetes的虚拟网络原理:Node IP、Pod IP、Cluster IP 4.Kubernetes的安装部署与弹性扩容 基于Kubernetes的运维实操 1.演练:微服务在Kubernetes上的高可用云端部署 基于yaml文件的微服务部署与弹性扩展过程 Node, Pod, Deployment, Service等基础组件及其实操 Label标签、Selector选择器及其实操 K8s的访问类型ClusterIP、NodePort、LoadBalancer及Ingress 2.演练:Redis高可用集群在Kubernetes的部署 Kubernetes的三种IP及其在项目中的运用 有状态应用的部署及无头服务的应用 3.演练:基于K8s搭建三种类型的MySQL集群数据库 K8s的存储类型:存储卷、持久化存储卷与StorageClass 4.演练:基于K8s搭建Hadoop大数据平台 使用Dockerfile制作镜像并上传镜像仓库 K8s的配置信息管理:ConfigMap、Secret及其应用 5.演练:集群监控工具Prometheus的部署过程 K8s的权限管理:Account、Role、RoleBinding及其应用 集群调度:亲和性(Affinity)、污点(taints)与容忍(tolerations) 6.演练:搭建Git+Jenkins+docker+k8s的自动化运维平台 1)从Git服务器上下载代码、编译、测试、打包 2)静态代码规范检查与形成测试报告 3)制作Docker镜像并上传本地私服 4)执行脚本进行灰度发布与K8s分布式云端部署 |
四.微服务开发与云端部署 | 用实际项目演练微服务开发的整个过程 1. 演练:从单体应用到微服务的设计转型过程 2. 微服务开发的组织形式:父项目与基础平台 3. 微服务开发的组织形式:多环境配置 4. 前端、聚合层、原子服务层的微服务设计 5. 服务网关的设计:用户权鉴与智能路由 微服务开发高阶: 1. 在分布式环境中高可靠地部署Nacos集群 2. 演练:如何实现跨语言的微服务调用 3. 演练:如何实现高并发下的优雅降级 4. 微服务间调用的监控与调优 微服务的技术中台建设: 1. 微服务技术中台应具备的要素 2. 配置中心Nacos 3. 断路监控Spring Cloud Turbine 4. 链路监控Skywalking 5. 消息中间件kafka, rocketmq 6. 分布式缓存redis 7. 监控平台prometheus+EFK |
五.云平台的系统监控与日志采集 | 云平台安全可靠运行的重要意义 1.网站可用性的评价指标与系统监控 2.系统监控的具体内容 3.系统监控与日志采集的原理与系统架构 4.国内主流系统监控与日志采集软件介绍 Prometheus系统监控与运维 1.搭建系统监控组件Prometheus实操 2.搭建监控数据展现组件Grafana实操 3.设定rules进行系统监控告警实操 4.设定pushGateway自定义监控与告警实操 EFK日志采集与故障分析 1.日志采集与故障分析的重要意义 2.搭建ElasticSearch+Flunted+Kibana日志采集实操 3.使用Kibana系统监控组件分析与监控系统 4.在Kibana中进行故障分析与运行监控 |
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员
Mac Fan
百林哲咨询(北京)有限公司专家团队成员