【讲师简介】 李老师 曾在某千亿级上市公司,担任云事业群技术总监、集团的云计算首席专家和数字化转型平台业务负责人,带领团队从事数据中心云化、云原生架构、人工智能与数据平台等方向的产品研发和产业化工作。 曾任职于中科院某国家级重点实验室,云计算与集群计算课题组负责人,将云计算、分布式等技术成功应用在政府、航天、国防、央企等领域大型工程项目中,部分项目成果被甲方作为数字化转型成功案例在全国推广。 兼任中国新一代IT产业推进联盟存储分委会秘书长、全国高校人工智能与大数据创新联盟专家委员、西安交通大学研究生院外聘专家和校外导师,荣获中国软件协会“优秀CTO”称号。 十多年工作经验,技术功底深厚,产业视野宽广。线下培训学员逾两千人次,线上课程点播数万次,培训客户包括中国电信、中国联通、Intel亚太研发中心、Dell EMC中国研发中心、金融机构、互联网公司等多家大型公司与机构。授课思路清晰,内容充实,获得了一致好评。 【课程大纲】 第一天上午 1. 引言 1.1 为什么把“K8s”称为“云原生”容器平台 1.2 从成功案例看K8s等云原生技术给我们带来的价值 1.3 容器镜像、容器运行时与容器编排平台 2. 容器技术基础 2.1 容器技术原理 2.2 Docker安装配置 2.3 Dockerfile:指令详解、最佳实践与常见误区 2.4 Docker发展近况及对用户的影响 实验:通过Dockerfile构建容器镜像并运行 第一天下午 3. Kubernetes(K8s)架构及部署 3.1 K8s 架构及原理 3.2 K8s 部署方案:从单节点集群到生产级部署 3.3 K8s中的namespace和Kubectl的context设置 实验:通过kubectl和vscode插件操作K8s集群 4. K8s 工作负载控制器详解(上) 4.1 多容器Pod的几种典型设计模式 4.2 常用工作负载控制器一览 4.3 Deployment控制器详解:创建、升级、回滚及扩/缩容 4.4 DaemonSet 4.5 Job/CronJob 实验:在K8s集群上创建工作服在并实现滚动发布和弹性扩缩 第二天上午 5. Service与Ingress 5.1 Service及其实现原理 5.2 Service网络瓶颈分析 5.3 服务注册/发现与负载均衡方案对比:Spring Cloud与K8s 实验:通过Service对外暴露服务提供对应用的访问 5.4 使用Ingress对外暴露服务 5.5 Ingress Controller部署方案对比 5.6 API Gateway方案对比:K8s Ingress与Spring Cloud Gateway等 实验:通过Ingress对外暴露服务提供对应用的访问 第二天下午 6. Pod管理进阶 6.1 Pod生命周期回调 6.2 存活探针与就绪探针 实验:Pod生命周期管理 6.3 资源需求与限制 6.4 K8s对Pod的调度 实验:Pod的资源需求与限制 7. 理解 K8s 的网络 7.1 K8s的网络模型 7.2 K8s的网络南向接口标准CNI 7.3 典型的K8s网络方案:Calico、Flannel及其他 7.4 实现虚机/物理机与K8s容器IP直通 —— 需求、问题及解决方法 7.5 实现Pod的固定IP和浮动IP 7.6 Pod的多网口方案及实现 实验:K8s Pod间以及Node的互联互通 第三天上午 10. 理解 K8s 的存储 10.1 K8s 中使用存储的几种模式和应用场景 10.2 PV、PVC详解 10.3 K8s的存储南向接口标准CSI及Storage Class、存储动态供给 10.4 公有云/IaaS环境与物理服务器环境搭建K8s的异同 实验:使用 K8s 的存储 11. K8s中的应用配置管理 11.1 使用ConfigMap保存和管理应用的配置信息 11.2 使用Secret保存和管理应用的敏感信息 11.3 配置中心方案比较:K8s与Spring Cloud 10. K8s 工作负载控制器详解(下) 10.1 基于StatefulSet部署和管理有状态服务 10.2 Headless Service与Stateful Set的协同 10.3 StatefulSet的扩缩 实验:基于 K8s StatefulSet 部署和管理有状态服务 第三天下午 11. Helm及应用 11.1 通过Helm管理应用 11.2 Helm原理 11.3 Helm Chart开发 实验:我的第一个Helm Chart 12. 理解Oprator模式及K8s扩展开发 12.1 K8s自有Controller的不足及Operator模式的产生与发展 12.2 通过CRD扩展K8s的资源类型 12.3 基于Kubebuilder开发Operator实现自定义资源的操作与维护 12.4 Kubebuilder与其他Operator开发框架的比较 12.5 Operator与Helm的比较和应用场景选择