本课程是系列课程。之前更新过1(基于rancher) 2(基于kubeadm) .第三篇是进阶篇,把之前未讲到的知识点进行细化和进阶讲解、主要是应用,永远不会更

*   第1章:kustomize快速上手使用 cplist.push('第1章:kustomize快速上手使用');/

  *   第1讲:课程内容、kustomize理解

  *   第2讲:kustomize抽取公共部分示列

  *   第3讲:使用overlay创建多“环境”配置

  *   第4讲:使用patch(补丁):配置修改

  *   第5讲:使用patch(补丁):修改配置(上节课作业)

  *   第6讲:使用生成器:configmap生成

  *   第7讲:使用vars设置环境变量(env)

*   第2章:二进制安装k8s1.20单集群版(选学) cplist.push('第2章:二进制安装k8s1.20单集群版(选学)');/

  *   第8讲:基本架构和环境、主机的设置

  *   第9讲:关于k8s的证书、配置和启动etcd

  *   第10讲:部署k8s-apiserver

  *   第11讲:配置kubectl、访问apiserver

  *   第12讲:部署controller-manager

  *   第13讲:部署kube-scheduler

  *   第14讲:部署kubelet

  *   第15讲:部署kube-proxy

  *   第16讲:部署网络组件flanneld

  *   第17讲:部署CoreDNS、测试服务

  *   第18讲:添加子节点到集群(1):kubelet

  *   第19讲:添加子节点到集群(2):kubeproxy

*   第2.5章:Kubeadm高可用部署篇(选学) cplist.push('第2.5章:Kubeadm高可用部署篇(选学)');/

  *   第20讲:k8s高可用集群开张篇

  *   第21讲:kubeadm高可用环境准备

  *   第22讲:kubeadm高可用集群部署(上)

  *   第23讲:kubeadm高可用集群部署(下)

*   第三章:准入控制器之WebHook实战 cplist.push('第三章:准入控制器之WebHook实战');/

  *   第24讲:Admission Controller入门

  *   第25讲:编写最简单的WebHook、本地测试

  *   第26讲:部署webhook到k8s中、例子:禁止特殊pod名称

  *   第27讲:实例:提交POD时修改镜像源

  *   第28讲:实例:指定命名空间修改POD镜像源

  *   第29讲:实例:创建POD时自动注入容器

*   第四章:k8s网络基础恶补篇 cplist.push('第四章:k8s网络基础恶补篇');/

  *   第30讲:K8s网络原理开张课

  *   第31讲:单Node多pod k8s网络通信

  *   第32讲:多节点网络通信原理(flannel-vxlan)

  *   第33讲:多节点网络原理(flannel-host-gw)

*   第五章:Operator和kubeBuilder入门 cplist.push('第五章:Operator和kubeBuilder入门');/

  *   第34讲:Operator入门、基本环境讲解

  *   第35讲:创建第一个项目、创建CRD

  *   第36讲:最简单的控制器代码、运行控制器

  *   第37讲:初步发布到k8s中

  *   第38讲:自定义资源字段验证的基本方法

  *   第39讲:[不用学,看看即可]创建webhook进行深入验证(选学,后面要重录)

  *   第40讲:实例(1):提交资源和创建POD

  *   第41讲:实例(2):资源删除判断(上)

  *   第42讲:实例(2):资源删除判断(下)--支持多副本

  *   第43讲:实例(3)副本收缩处理

  *   第44讲:监听CR创建出来的POD

  *   第45讲:自动重建手工删除的POD

  *   第46讲:实例(6):添加事件支持(events)

  *   第47讲:实例(7):支持资源的状态展现

  *   第48讲:初步完成集成测试(选学)

*   第六章:k8s和prometheus实战速学 cplist.push('第六章:k8s和prometheus实战速学');/

  *   第49讲:prometheus最简部署、kube-state-metrics部署

  *   第50讲:prometheus拉取kube-state-metrics、node_exporter部署

  *   第51讲:prometheus服务自动发现(1):快速入门

  *   第52讲:prometheus服务自动发现(2):修改标签

  *   第53讲:prometheus服务自动发现(3):POD监控的快速配置(kubelet)

  *   第54讲:Prometheus Adapter快速和安装

  *   第55讲:Prometheus基本查询(1):基本概念、即时向量查询

  *   第56讲:Prometheus基本查询(2):使用gin实现自定义指标(初步)

  *   第57讲:Prometheus基本查询(3):区间查询、聚合操作符

  *   第58讲:自动发现我们的业务Service并进行抓取

  *   第59讲:Prometheus Adapter(2):创建自定义指标

  *   第60讲:使用HPA进行业务POD的扩容(简易操作)

  *   第61讲:AlertManager快速入门、安装

  *   第62讲:AlertManager快速入门(2):告警规则配置

  *   第63讲:AlertManager快速入门(3):微信告警快速配置

  *   第64讲:AlertManager快速入门(4): 告警模板快速使用

  *   第65讲:AlertManager快速入门(4): 告警模板恢复发送

  *   第66讲:AlertManager快速入门(5):告警分组发送给webhook和微信

  *   第67讲:AlertManager快速入门(6): 告警抑制的基本配置和使用场景

  *   第68讲:AlertManager快速入门(7): 静默配置(silence)

*   第七章:k8s日志收集入门之fluent-bit cplist.push('第七章:k8s日志收集入门之fluent-bit');/

  *   第69讲:开张课、 部署fluent-bit、第一个配置

  *   第70讲:Output:把日志输出到ElasticSearch里(初步)

  *   第71讲:收集指定POD日志的基本方法

  *   第72讲:解析器(parser)的了解、gin日志输出(logrus)

  *   第73讲:抓取所有pod日志、filter 入门、增加记录字段(节点名称)

  *   第74讲:filter(2) :使用kubenetes过滤器一把梭显示元信息

*   第八章:自定义POD调度入门(scheduling-framework) cplist.push('第八章:自定义POD调度入门(scheduling-framework)');/

  *   第75讲:基本概念:调度框架、扩展点、基本代码

  *   第76讲:基本编译和部署、效果展示

  *   第77讲:prefilter小示例:控制POD最大调度数量

  *   第78讲:设置调度插件参数的基本方法

  *   第79讲:示例:使用Filter过滤不可调度的节点

  *   第80讲:示例:Score打分的最简单写法、归一化处理

  *   第81讲:preScore插件干涉调度打分示例

  *   第82讲:Reserve阶段和Permit阶段:示例判断前置POD

  *   第83讲:PreBind阶段和Bind、PostBind阶段说明

*   第九章:k8s+harbor的极简入门 cplist.push('第九章:k8s+harbor的极简入门');/

  *   第84讲:基本概念、快速无脑安装harbor

  *   第85讲:创建用户、向harbor发布第一个镜像

  *   第86讲:k8s上使用harbor私有镜像(nodeport)

  *   第87讲:golang上调用harbor API的姿势

*   第十章:泛型改造k8s开发代码篇 cplist.push('第十章:泛型改造k8s开发代码篇');/

  *   第88讲:使用泛型编写通用获取k8s资源的函数

  *   第89讲:使用泛型编写通用排序k8s资源的函数

  *   第90讲:泛型通用排序k8s资源(2) 传递自定义排序业务

  *   第91讲:泛型通用遍历k8s资源

  *   第92讲:曾经”恶心”的切片类型转换用泛型解决

  *   第93讲:相对通用的泛型Informer EventHandler

*   第十一章:(补充)k8s leader选主代码实战入门 cplist.push('第十一章:(补充)k8s leader选主代码实战入门');/

  *   第94讲:选主基本概念、快速无脑启动代码

  *   第95讲:结合SharedInformer进行应用程序选主

*   第十二章:FakeClient的妙用 cplist.push('第十二章:FakeClient的妙用');/

  *   第96讲:最基本的fake client创建和代码技巧

  *   第97讲:Fake client给POD添加/修改注解

*   第十三章:k8s开发中分级日志库的使用 cplist.push('第十三章:k8s开发中分级日志库的使用');/

  *   第98讲:运维开发中的分级日志:库的使用

  *   第99讲:实例训练:一个完整的分级日志函数编写