云原生架构与容器化部署实战训练营
一、 培训背景
近些年,随着新技术的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择敏捷开发、快速迭代与互联网分布式架构,云原生的概念孕育而生。云原生=微服务+DevOps+持续交付+容器化,它通过微服务进行设计开发系统,通过DevOps进行持续交付,以容器化的形式进行分布式云端部署。
采用云原生架构以后,可以通过开发微服务,拆解复杂的单体系统;通过DevOps进行自动化运维,实现快速交付;通过K8s分布式云端平台,进行分布式云端部署,以实现互联网的高并发、高可用。但是,如何搭建这样一套DevOps自动化运维平台,如何将微服务系统部署在K8s云端平台,需要开发团队具备更多的服务端实操的能力。为了帮助开发团队解决这些方面的问题,切实地将DevOps与K8s云端平台搭建起来,真正有效地发挥出微服务的优势,我们特组织了此次课程。
二、 课程目标
过此次课程培训,可使学习者获得如下收益:
1. 学会构建分布式云原生架构的思路;
2. 掌握分布式云原生的自动化运维平台;
3. 掌握容器技术与Docker实操;
4. 掌握分布式云部署与K8s实操;
5. 让学员具备微服务开发与云端部署的能力;
6. 了解云平台监控与日志采集。
三、 培训方式/工具及方法
1. PPT+教材+参考资料,理论讲解
2. 提供配套的实验环境
3. 场景+案例+模拟环境,动手实践
4. 手把手解决问题+解决问题经验分享
四、 课程大纲
日程安排 | 培训章节 | 培训内容 |
第一天上午 | 第一单元 分布式云原生技术平台 |
构建分布式云原生架构的思路 1. 微服务架构的弹性可扩容设计需求 2. 分布式架构的有状态应用与无状态应用 3. 构建基于DevOps的自动化发布平台 4. 构建基于云原生的自动化运维平台 分布式云原生的自动化运维平台 1. 基于Jenkins与pipeline构建持续发布平台 2. 基于SonarQube与Jacoco构建质量监督平台 3. 基于Docker+Kubernetes构建容器化部署平台 4. 包含各种分布式缓存、分布式队列、分布式事务的PaaS云平台 5. 基于NoSQL/NewSQL分布式数据库的DaaS数据平台 6. 基于Skywalking的链路跟踪与系统调优平台 7. 基于Prometheus+Grafana的自动化监控告警平台 8. 基于EFK的分布式日志监控平台 |
第一天下午 | 第二单元 容器技术与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编写定时任务 演练:基于容器的微服务持续集成过程 |
第二天上午 | 第三单元 分布式云部署与K8s实操 |
分布式容器管理工具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中进行故障分析与运行监控 |
五、 培训师资
张老师 曾工作于北京联通研究院,摩托罗拉中国公司,美团;目前就职于一家隶属于清华大学的上市公司,主要公司业务是服务国家安全和国外安全项目,在公司担任大数据架构师及区块链技术负责人,主要负责中台的技术、数据。
拥有16年IT相关工作经验,10余年的培训经验,具备丰富的企业应用软件开发经验、深厚的软件架构设计理论基础及实践能力,尤其擅长区块链、人工智能以及大数据相关技术。
此外,张老师现任工信部大数据实验室研究员;工信部特约讲师;工信部大数据、人工智能培训体系建设和试题的开发专家团成员;张老师精通大型分布式互联网应用架构设计与技术开发。对于大规模分布式架构、微服务架构、云计算与容器化技术、开发与运维一体化、应用系统安全与和架构设计、海量数量处理、大数据等方向特别有研究,尤其是偏后端的对于高并发系统上有丰富的架构和实施经验。
范老师 独立咨询顾问,畅销书籍《架构真意》与《大话重构》的作者,规模化敏捷SPC。曾任航天信息首席架构师,哈工大软件工程硕士,软件架构及重构的客座讲师。从事软件研发工作近二十年,并且现在一直坚守在大型软件架构设计一线工作。从需求分析、软件开发到项目管理、架构设计都有丰富的从业经验。
先后参与了数十个国内大型软件项目,涉及国家财政、军工、税务、医疗等领域的大数据中台建设、风险防控与人工智能研究。互联网转型、微服务转型及大数据转型的实践者与倡导者。同时,还是大型遗留系统改造专业户,多次参与大型遗留系统改造、软件系统重构等重大项目,长期关注大型业务系统的品质保证、防止腐化以及技术改造等困扰软件企业的问题,在遗留系统优化与改造方面有丰富的经验。
李老师 K8s中国区官方认证导师,Linux集群架构师,前奇虎360高级DevOps工程师。 从事DevOps相关工作12年了,维护过近千台服务器,曾主导从0到1实现亿级PV中大型互联网架构,K8s容器平台建设及微服务容器化迁移等多个项目。在自动化运维、容器化及云计算方面积累了丰富的实战经验。
本课程由中国信息化培训中心颁发《云原生架构师》证书,证书查询网址:www.zpedu.com;证书可作为专业技术人员职业能力考核的证明,以及专业技术人员岗位聘用、任职、定级和晋升职务的重要依据。