石头记

Docker、Kubernetes、CI/CD 等技术分享

Kubernetes 技术实践 -- 1.0 课程简介

为了让大家有更真实的体验,在这个培训课程中,我虚拟了一家互联网创业公司,而我们就是这家创业公司的技术人员,我们要从0开始为这家创业公司搭建IT环境,我们的所有服务都是容器化的,并运行在Kubernetes高可用集群上。我们的产品是由十一个微服务组成时尚购物网站,这十一个微服务由不同的语言写成,包括Java、Go、Python、Node.js和C#。我们通过CI/CD流水线驱动这些服务的开发迭代,并通过Istio进行服务治理,我们可以通过蓝绿部署、金丝雀部署、服务限流、熔断、链路追踪等技术来提升客户体验。我们为这家虚拟公司购买了域名(hipstershop.cn)和SSL证书,并完成了备案-_^,接下来,我们将一起完成这家公司的IT环境搭建。

能学到什么?

  • 搭建生产环境可用的Kubernetes集群 我会从Kubernetes的架构开始讲起,然后给大家介绍Kubernetes的主要组件以及一些基本概念,带大家一起部署一个生产环境可用的Kubernetes集群,安装Kubernetes常用的插件,接下来为大家讲解在生成环境如何去升级已有的Kubernetes集群,最后为大家介绍如何轻松管理多个Kubernetes集群;
  • Kubernetes编排基础 我会详细向大家讲解Pod基础与进阶,包括Pod的原理,API对象、Pod资源限制、Pod健康检查、生命周期管理、共享卷、Pod调度相关知识及生产环境建议及操作实践;Kubernetes常用资源对象,主要包括ReplicaSet、Deployment、StatefulSet、DeamonSet、Job等等;权限管理,包括ServiceAccount介绍、RBAC基于角色的访问控制等等;
  • Kubernetes容器持久化存储 我会向大家你讲解容器卷、PV、PVC、StorageClass以及本地化持久存储相关的知识,最后会带大家实践如何使用Ceph分布式存储和阿里云云盘作为Kubernetes容器持久化存储;
  • Kubernetes网络选型 我会向大家讲解容器跨主机网络、Kubernetes网络模型与CNI网络插件、常用的三层网络方案、以及Kubernetes服务发现,包括集群内部服务发现(Servcie)、集群外部服务访问(Ingress)、Headlss服务、CoreDNS以及4/7层服务发现实践;
  • Kubernetes包管理工具Helm 我会向大家讲解如何搭建私有Helm仓库、如何使用Helm仓库、如何编写Helm Charts,并带领大家为我们网站的微服务编写charts,并上传等到私有Helm仓库;
  • 部署企业级私有仓库 我会带领大家一起部署企业级代码管理平台Gitlab和容器私有仓库Harbor,学完这部分内容你将掌握如何通过容器化的方式部署Gitlab和Harbor,以及Gitlab和Harbor的基本使用;
  • CI/CD流水线 我会向大家讲解CI/CD流水线技术,并带大家认识几种CI/CD产品,介绍他们如何配置、使用,然后带大家使用CI/CD流水线将我们的网站部署到Kubernetes集群上,通过使用CI/CD流水线来提升我们的开发、测试、部署流程的自动化水平;
  • Kubernetes日志管理 我会向大家讲解Kubernetes日志处理的基本原理,以及如何通过EFK收集Kubernetes集群的日志及微服务产生的日志;
  • Kubernetes监控 我会向大家讲解Kubernetes监控原理,如何部署Prometheus,并使用它进行集群及应用监控,结合AlertManager实现故障告警;
  • 通过Istio实现服务治理 我会向大家讲解Istio是什么,他能做什么,以及如何使用Istio实现微服务服务的蓝绿部署、金丝雀部署,如何对服务进行限流、熔断和链路追踪。

学员收获

  • 从0-1全系统化学习Kubernetes,对调度系统、网络、存储、日志监控、CI/CD、服务治理等有全局了解,熟悉学习路线
  • 提高Kubernetes技术在企业落地效率,生产实践路上少走弯路
  • 熟悉Kubernetes生产最佳实践,避免踩坑
  • 专属QQ交流群,有任何问题老师会在群里给大家答疑
  • 代码开放,课程案例代码完全开发给你,你可以根据所学知识自行修改、优化

适合人群

  • 容器基础薄弱,但对容器生态技术有浓厚兴趣的小伙伴
  • 已经将容器用于生产环境,但是希望获得最佳实践,避免少走弯路的小伙伴
  • 对容器技术有一定了解和接触,期望系统化的深入理解的小伙伴
  • 容器技术爱好者、云计算从业者、运维工程师、容器项目开发工程师、架构师

技术储备要求

课程优势

  • 系统化:网上很多课程只讲某些章节,例如,安装、监控、某几个组件;缺少系统化学习,很难对各个模块相互之间联系进行深入了解。
  • 生产化:老师不仅仅分享实操、理论,更重要是分享在生产环境实践经验,以及运维过程中踩过的一些坑。
  • 新版本:我们选择了Kubernetes的新版本(1.14.x-1.15.x)为大家讲解。如果有新版本发布,我们还会向大家讲解如何进行Kubernetes版本升级。

Proudly powered by Hexo and Theme by Hacker
© 2019 ist0ne