# k201 **Repository Path**: abe-core/k201 ## Basic Information - **Project Name**: k201 - **Description**: Kubernetes技术实践(进阶篇) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Kubernetes技术实践(进阶篇) > **视频课程地址:**[戳我开始学习](https://www.bilibili.com/video/av49387629?from=search&seid=4418298671230182069) 各位同学好,很快又和大家见面了,在前面的Kubernetes技术实践--基础篇中,我给大家讲了如何将微服务部署到Kubernetes测试集群中,让大家对Kubernetes的使用有了一个初步的认识。在基础篇中我没有给大家展开来讲Kubernetes的一些技术细节,在接下来的进阶篇中我会带着大家一起更加深入的了解Kubernetes的全貌以及更多技术细节。 为了实现大家对Kubernetes系统化学习及对周边生态掌握,经半年多的筹备,我们特别推出了这个实战课程,课程内容规划原则:系统化、实战化、生产可用化,让所有学员能系统化深入学习Kubernetes以及容器相关技术,少走弯路。 为了让大家有更真实的体验,在这个培训课程中,我虚拟了一家互联网创业公司,而我们就是这家创业公司的技术人员,我们要从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交流群,有任何问题老师会在群里给大家答疑 - 代码开放,课程案例代码完全开发给你,你可以根据所学知识自行修改、优化 ## 适合人群 - 容器基础薄弱,但对容器生态技术有浓厚兴趣的小伙伴 - 已经将容器用于生产环境,但是希望获得最佳实践,避免少走弯路的小伙伴 - 对容器技术有一定了解和接触,期望系统化的深入理解的小伙伴 - 容器技术爱好者、云计算从业者、运维工程师、容器项目开发工程师、架构师 ## 技术储备要求 - 熟悉基本Linux操作,对CentOS、Ubuntu等系统有一定的了解。熟悉Linux基本命令行操作,熟悉软件包安装、升级方法,有基本的排查能力。 - 熟悉Docker容器概念与原理,如果对容器基础概念不熟悉建议先学习:https://github.com/findsec-cn/docker课程 - 熟悉YAML语法,如果不是熟悉建议参考学习:http://www.ruanyifeng.com/blog/2016/07/yaml.html # 课程优势 - 系统化:网上很多课程只讲某些章节,例如,安装、监控、某几个组件;缺少系统化学习,很难对各个模块相互之间联系进行深入了解。 - 生产化:老师不仅仅分享实操、理论,更重要是分享在生产环境实践经验,以及运维过程中踩过的一些坑。 - 新版本:我们选择了Kubernetes的最新版本(1.14.x)为大家讲解。如果有新版本发布,我们还会向大家讲解如何进行Kubernetes版本升级。