第1章 课程简介&&自我介绍
 
1-1 自我介绍
 
1-2 课程大纲内容介绍
 
1-3 课程更新通知
 
第2章 K8s必备知识-Docker容器基础入门
 
2-1 课程介绍
 
2-2 docker容器介绍
 
2-3 docker优缺点
 
2-4 安装和配置docker
 
2-5 修改内核参数
 
2-6 配置镜像加速器
 
2-7 配置常用镜像加速器站点
 
2-8 docker镜像操作
 
第3章 运行docker容器
 
3-1 创建交互式docker容器
 
3-2 创建守护进程容器
 
3-3 容器相关命令汇总
 
3-4 docker部署web网站
 
第4章 dockerfile基础篇-基本语法
 
4-1 了解dockerfile构建流程
 
4-2 dockerfile-EXPOSE和RUN指令
 
4-3 dockerfile-CMD指令
 
4-4 ENTRYPOINT指令
 
4-5 dockerfile-COPY指令
 
4-6 dockerfile指令-ADD
 
4-7 VOLUME指令
 
4-8 ENV和WORKDIR指令
 
4-9 ONBUILD和USER指令
 
4-10 LABEL和HEALTHCHECK指令
 
第5章 dockerfile实战篇-构建企业镜像
 
5-1 dockerfile构建企业级Nginx镜像
 
5-2 dockerfile构建tomcat镜像
 
5-3 dockerfile构建企业级JAVA项目
 
第6章 docker容器数据持久化
 
6-1 docker 容器的数据管理
 
6-2 docker 容器共享数据卷
 
6-3 docker 数据备份和还原
 
第7章 docker进阶篇-资源配额
 
7-1 cpu-shares控制docker容器cpu份额
 
7-2 cpu-share和cpuset控制docker c
 
7-3 控制docker容器内存
 
7-4 控制docker容器的IO
 
7-5 docker容器自动释放资源
 
第8章 docker容器网络实战
 
8-1 docker容器互联
 
8-2 docker网络别名link
 
8-3 docker none网络模式
 
8-4 docker container网络模式
 
8-5 docker bridge网络模式
 
8-6 docker host网络模式
 
第9章 docker实战篇-harbor私有仓库
 
9-1 安装和配置harbor2+新版本镜像仓库
 
9-2 docker login登录harbor
 
9-3 上传镜像到harbor仓库
 
9-4 从harbor下载镜像
 
9-5 harbor高可用和镜像复制
 
9-6 课程小节
 
第10章 k8s入门篇:架构-组件-核心资源
 
10-1 k8s学习路线图
 
10-2 为什么学习kubernetes
 
10-3 为什么大公司都在用k8s?
 
10-4 k8s应用领域
 
10-5 k8s相关的岗位和行业
 
10-6 k8s相关认证
 
10-7 kubernetes架构
 
10-8 k8s控制节点组件介绍
 
10-9 k8s工作节点组件介绍
 
10-10 k8s核心资源概述
 
10-11 课程学习计划
 
第11章 kubeadm安装高可用的k8s集群-适合生产环境
 
11-1 实验环境规划
 
11-2 机器初始化-配置ip和主机名
 
11-3 机器初始化-配置防火墙和yum源
 
11-4 机器初始化-配置ipvs
 
11-5 安装和配置docker
 
11-6 安装初始化k8s需要的软件包
 
11-7 配置keepalived和nginx-实现k8s高可
 
11-8 kubeadm初始化k8s集群
 
11-9 扩容k8s集群-添加master节点
 
11-10 扩容k8s集群-添加node节点
 
11-11 安装calico网络插件
 
11-12 测试k8s集群网络是否正常
 
11-13 测试k8s集群部署Pod
 
11-14 测试coredns是否可以做域名解析
 
第12章 二进制安装高可用K8S集群-适合生产环境
 
12-1 对安装k8s集群的实验环境进行初始化
 
12-2 安装etcd高可用集群
 
12-3 安装k8s控制节点和工作节点组件
 
12-4 测试k8s网络和coredns组件是否正常
 
12-5 keepalive和nginx实现apiserver
 
第13章 kubeadm搭建单master多node的k8s集群
 
13-1实验环境准备
 
13-2kubeadm和二进制安装k8sd对比分析
 
13-3初始化安装k8s的实验环境
 
13-4安装和配置docker
 
13-5安装初始化k8s需要的命令行工具
 
13-6kubeadm初始化k8s集群
 
13-7扩容k8s-添加第一个工作节点
 
13-8扩容k8s集群-添加第二个工作节点
 
13-9安装网络插件calico
 
13-10测试k8s集群网络是否正常
 
13-11测试k8s部署tomcat服务
 
13-12测试coredns是否正常
 
13-13安装k8s可视化ui界面dashboard
 
13-14通过token登录dashboard界面
 
13-15通过kubeconfig登录dashboard
 
13-16通过dashboard创建pod
 
13-17安装metrics-server服务
 
13-18kubectl top命令
 
13-19修改schedule绑定的端口
 
第14章 K8s基础篇-Pod入门知识讲解
 
14-1 Pod是什么?
 
14-2 Pod工作方式-自主式Pod
 
14-3 pod工作方式-控制器管理Pod
 
14-4 Pod创建流程
 
14-5 Pod资源清单编写技巧
 
14-6 kubectl run运行Pod
 
第15章 namespace和Resourcequota
 
15-1 namespsce概述
 
15-2 namespace应用场景
 
15-3 namespace使用案例分享
 
15-4 namespace资源限额
 
15-5 k8s标签labels
 
第16章 Pod进阶篇:污点-容忍度-亲和性-Affinity-调度
 
16-1 Pod资源清单详细解读
 
16-2 nodeName
 
16-3 node节点选择器
 
16-4 node节点亲和性
 
16-5 Pod亲和性
 
16-6 Pod反亲和性
 
16-7 位置拓朴键topologykey
 
16-8 Taint和Tolerations
 
16-9 Pod异常状态处理方案
 
16-10 pod重启策略
 
16-11 初始化容器
 
16-12 定义Initcontainer
 
16-13 主容器和初始化容器的关系
 
16-14 创建Pod需要经过哪些阶段
 
第17章 Pod进阶篇-Pod生命周期和健康探测
 
17-1 postStart和preStop
 
17-2 优雅删除k8s资源
 
17-3 livenessProbe和readinessPro
 
17-4 k8s存活性探测-exec探测
 
17-5 存活性探测-httpGet探测
 
17-6 k8s存活性探测-tcp探测
 
17-7 就绪性探测-httpGet探测
 
17-8 存活性探测和就绪性探测混合使用
 
第18章 Pod扩展篇:startupProbe启动探测
 
18-1 k8s三种探针概述
 
18-2 startupProbe介绍
 
18-3 startupProbe使用案例分享
 
18-4 k8s探针探测顺序
 
第19章 K8s控制器-Replicaset
 
19-1 replicaset控制器概念-原理解读
 
19-2 replicaset资源清单YAML文件编写技巧
 
19-3 replicaset部署frontend前端项目
 
19-4 replicaset实现Pod扩缩容
 
19-5 replicaset实现业务pod更新升级
 
第20章 K8s控制器-Deployment
 
20-1 Deployment控制器概述
 
20-2 Deployment控制器工作原理
 
20-3 Deployment资源清单yaml编写技巧
 
20-4 Deployment.spec字段详细解读
 
20-5 hostAliases-pod中添加域名解析
 
20-6 Pod中dns配置-dnsConfig和dnsPol
 
20-7 Deployment部署生产环境web项目
 
20-8 livenessProbe和readiness探测
 
20-9 Deployment实现Pod扩容
 
20-10 Deployment实现Pod缩容
 
20-11 Deployment滚动升级
 
20-12 Deployment实现Pod滚动升级
 
20-13 Deployment实现Pod按照指定版本回滚
 
20-14 定义Pod资源配额
 
20-15 自定义deployment更新策略
 
第21章 K8s应用篇-Service代理和kube-proxy转发
 
21-1 k8s为什么要用Service四层代理?
 
21-2 Service概述
 
21-3 Service工作原理
 
21-4 k8s中的三类IP
 
21-5 Service资源清单编写技巧
 
21-6 Service ExternalName类型
 
21-7 Service ClusterIp类型
 
21-8 Serivice NodePort类型
 
21-9 Service LoadBalancer类型
 
21-10 Port和targetPort
 
21-11 创建ClusterIp类型的Service
 
21-12 创建NodePort类型的Service
 
21-13 创建ExternalName类型的Service
 
21-14 自定义Endpoint资源
 
21-15 kube-proxy组件详细介绍
 
21-16 kube-proxy三种工作模式
 
21-17 通过iptables规则分析Service转发流程
 
21-18 kube-proxy生成iptables规则具体调用
 
21-19 Coredns工作原理-域名解析流程分析
 
第22章 K8s应用篇-持久化存储和StorageClass详细介绍
 
22-1k8s持久化存储-emptyDir
 
22-2k8s持久化存储-hostPath
 
22-3k8s持久化存储-nfs
 
22-4PV & PVC
 
22-5pv数据回收策略-Retain
 
22-6pv数据回收策略-Delete
 
22-7pv资源清单编写技巧
 
22-8pv访问模式
 
22-9定义指定容量的pv
 
22-10测试pod挂载pvc实现持久化存储
 
22-11StorageClass核心功能和参数介绍
 
22-12安装存储类外部供应商-nfs provisioner
 
22-13创建StorageClass存储类
 
22-14pvc基于Storageclass动态生成pv
 
22-15测试pod挂载pvc
 
22-16Storageclass回收策略Retain
 
第23章 K8s控制器-Statefulset
 
23-1Statefulsett概述
 
23-2headless Service
 
23-3VolumeClaimTemplate
 
23-4Statefulset资源清单编写技巧
 
23-5Statefulset部署Web站点
 
23-6定义Headless Service
 
23-7测试Pod的dns解析
 
23-8测试Headless service的dns解析
 
23-9Statefulset资源清单详细解读
 
23-10Statefulset实现pod扩缩容
 
23-11Statefulset实现Pod更新策略
 
第24章 K8s控制器-Daemonset
 
24-1Daemonset概述
 
24-2Daemonset应用场景
 
24-3Daemonset资源清单编写技巧
 
24-4DaemonSet部署日志收集组件
 
24-5Daemonset实现Pod滚动更新
 
第25章 K8s应用篇-配置管理中心Configmap
 
25-1Configmap概述
 
25-2Configmap应用场景
 
25-3指定参数创建configmap
 
25-4指定文件创建Configmap
 
25-5指定目录创建Configmap
 
25-6Configmap资源清单编写技巧
 
25-7ConfigMapKeyRef
 
25-8通过环境变量envFrom把configmap引入P
 
25-9Configmap做成volume
 
25-10Configmap热更新
 
第26章 K8s应用篇-配置管理中心Secret
 
26-1Secret概述和应用场景介绍
 
26-2通过环境变量把secret注入到Pod
 
26-3Secret做成volume挂载给Pod
 
第27章 k8s安全篇:安全机制之RBAC授权
 
27-1k8s认证流程
 
27-2RBAC授权概述
 
27-3准入控制
 
27-4Role授权说明
 
27-5ClusterRole授权说明
 
27-6rolebinding&&clusterrolebi
 
27-7资源引用方式
 
27-8常见的role授权规则
 
27-9常见的授权主体用户
 
27-10对sa进行rbac授权
 
27-11通过kubectl命令行进行rbac授权
 
27-12通过yaml文件进行rbac授权
 
27-13限制不同的用户操作k8s集群
 
第28章 实战-Prometheus+Grafana构建企业级监控系统
 
28-1实验环境说明
 
28-2Prometheus介绍
 
28-3Prometheus特点
 
28-4Prometheus组件
 
28-5Prometheus工作流程
 
28-6prometheus和zabbix区别
 
28-7Prometheus部署模式
 
28-8Prometheus数据类型
 
28-9Prometheus能监控什么?
 
28-10Prometheus对k8s监控如何做?
 
28-11安装node-exporter组件
 
28-12node-exporter采集物理节点监控数据.
 
28-13创建sa:进行RBAC授权
 
28-14relabel_configs重写标签
 
28-15基于k8s服务发现-采集容器监控数据
 
28-16基于k8s服务发现-采集apiserver监控数据
 
28-17Prometheus采集自定义的目标服务端口
 
28-18安装Prometheus
 
28-19Prometheus热加载
 
28-20安装Grafana组件
 
28-21Grafana可视化展示node节点的资源指标
 
28-22Grafana可视化展示docker容器监控数据
 
28-23Grafana可视化展示k8s组件和资源指标
 
28-24Alertmanager配置详解
 
28-25Prometheus触发告警流程
 
28-26Prometheus静态配置-监控etcd和k8s组
 
28-27Prometheus告警规则配置
 
28-28Alertmanager发送报警到qq邮箱
 
28-29Prometheus监控kube-proxy组件
 
28-30Alertmanager发送报名到钉钉群
 
28-31Alertmanager发送报警到企业微信群
 
28-32Prometheus PromQL语法
 
第29章 实战-EFK+logstash构建日志收集平台
 
29-1日志对我们来说到底重不重要?
 
29-2常见的日志收集方案
 
29-3elasticsearch组件介绍
 
29-4filebeat组件介绍
 
29-5logstash组件介绍
 
29-6fluentd组件介绍
 
29-7常见的日志收集工具对比分析-1
 
29-8常见的日志收集工具对比分析-2
 
29-9安装nfs-provisioner供应商
 
29-10安装elasticsearch集群
 
29-11安装kibana组件
 
29-12elasticsearch故障排查
 
29-13安装fluentd组件
 
29-14kibana可视化展示k8s容器日志
 
29-15测试efk收集业务pod日志
 
第30章 基于Jenkins+k8s+Git等技术构建DevOps平台
 
30-1什么是DevOps?
 
30-2敏捷开发
 
30-3持续集成
 
30-4持续交付
 
30-5持续部署
 
30-6为什么企业都在用DevOps?
 
30-7k8s在DevOps中的作用
 
30-8Jenkins+k8s等技术助力企业DevOps落地
 
30-9安装jenkins
 
30-10安装jenkins插件
 
30-11安装blueocean和kubernetes插件
 
30-12安装推荐的插件
 
30-13配置k8s创建jenkins slave pod的模
 
30-14配置dockerhub凭据
 
30-15构建流水线任务
 
30-16jenkins实现发布应用到k8s的生产-测试-开发
 
30-17测试jenkins按照指定版本回滚业务
 
30-18什么是Jenkins pipeline
 
30-19为什么用jenkins pipeline
 
30-20jenkins pipeline 基本语法
 
30-21pipeline声明式语法-environment
 
30-22pipeline声明式语法-options
 
30-23pipeline声明式语法-parameters
 
30-24pipeline声明式语法-triggers
 
30-25pipeline声明式语法-tools
 
30-26pipeline声明式语法-input
 
30-27pipeline声明式语法-when
 
30-28pipeline声明式语法-parallel
 
30-29pipeline声明式语法与脚本式语法对比分析
 
30-30Jenkins+k8s+harbor实现DevOps
 
第31章 实战-Rancher管理k8s集群
 
31-1rancher简介
 
31-2初始化安装rancher的实验环境
 
31-3安装rancher
 
31-4登录rancher可视化ui界面
 
31-5通过rancher管理已经存在的k8s集群
 
31-6通过rancher部署监控系统
 
31-7通过Rncher仪表盘管理k8s集群:部署tomca
 
第32章 实战-Istio微服务入门到进阶
 
32-1istio是什么?
 
32-2服务注册和发现
 
32-3负载均衡
 
32-4服务度量
 
32-5金丝雀发布
 
32-6istio核心特性
 
32-7服务熔断和降级
 
32-8超时
 
32-9重试
 
32-10多路由规则
 
32-11Istio架构
 
32-12Istio组件-pilot
 
32-13Istio组件-Envoy
 
32-14Istio组件-Citadel
 
32-15Istio组件-Galley
 
32-16入口网关Ingress Gateway
 
32-17Sidecar自动注入
 
32-18istio其他组件
 
32-19安装和配置新版本Istio
 
32-20通过istio+k8s部署在线书店
 
32-21配置Ingressgateway网关
 
32-22通过istio实现k8s线上业务金丝雀发布
 
32-23Gateway资源清单详细解读
 
32-24VirtualServer虚拟服务
 
32-25DestinationRule规则
 
32-26Istio服务治理-熔断
 
32-27Istio服务治理-超时配置
 
32-28故障注入和重试
 
第33章 实战-k8s对接Ceph实现持久化存储
 
33-1 ceph简介
 
33-2 ceph rbd
 
33-3 ceph文件系统存储-cephfs
 
33-4 ceph对象存储
 
33-5 ceph核心组件介绍
 
33-6 准备ceph实验环境
 
33-7 配置ceph的repo源
 
33-8 安装ceph
 
33-9 安装ceph monitor服务
 
33-10 安装ceph osd服务
 
33-11 创建Ceph文件系统
 
33-12 测试k8s挂载Ceph rbd块设备
 
33-13 基于ceph rbd生成pv
 
33-14 基于storageclass动态生成pv
 
33-15 k8s挂载cephfs
 
第34章 实战-在k8s集群中部署SpringCloud在线购物平台
 
34-1安装k8s高可用集群:初始化实验环境
 
34-2安装k8s集群:安装docker
 
34-3安装k8s集群:初始化k8s
 
34-4回顾四层负载均衡器Service
 
34-5Ingress概述
 
34-6Ingress Controller概述
 
34-7Ingress Controller代理k8s内部应
 
34-8安装Ingress Controller
 
34-9测试Ingress HTTP代理k8s的tomcat
 
34-10测试Ingress HTTP访问k8s的tomcat
 
34-11测试Ingress HTTPS代理k8s的tomca
 
34-12harbor简介
 
34-13安装harbor:初始化机器和安装docker
 
34-14安装harbor:签发证书
 
34-15安装和配置harbor
 
34-16harbor可视化图形界面使用说明
 
34-17从harbor仓库上传和下载镜像
 
34-18什么是微服务?
 
34-19为什么要用微服务?
 
34-20微服务的特性
 
34-21什么样的项目适合使用微服务?
 
34-22使用微服务需要考虑的问题
 
34-23常见的微服务框架
 
34-24常见的微服务框架对比分析
 
34-25什么是SpringCloud?
 
34-26SpringCloud优缺点
 
34-27为何要将SpringCloud项目部署到k8s平台?
 
34-28SpringCloud项目部署到k8s的流程
 
34-29SpringCloud组件:服务注册与组件eurek
 
34-30SpringCloud组件客户端负载均衡组件Ribb
 
34-31SpringCloud组件:网关zuul
 
34-32SpringCloud组件:熔断器Hystrix
 
34-33Springcloud原生的网关组件Gateway
 
34-34配置中心SpringCloud Config
 
34-35将SpringCloud项目部署到K8S平台的注意事
 
34-36k8s部署Spring Cloud项目的整体流程
 
34-37MySQl概述
 
34-38安装和配置MySQL
 
34-39导入数据到MySQL数据库
 
34-40对MySQL数据库授权
 
34-41SPringCloud电商平台源码解读
 
34-42修改源代码:更改数据库连接地址
 
34-43重新编译打包源代码
 
34-44在k8s中部署eureka组件
 
34-45在k8s中部署Gateway网关
 
34-46在k8s中部署前端portal服务
 
34-47在k8s中部署订单order服务
 
34-48在k8s中部署产品product服务
 
34-49在k8s中部署库存stock服务
 
34-50模拟电商平台购物
 
34-51微服务扩缩容和发布流程
 
第35章 实战-Pinpoint对k8s关键业务模块进行全链路监控
 
35-1什么是全链路监控?
 
35-2为什么要进行全链路监控?
 
35-3全链路监控能解决哪些问题?
 
35-4全链路监控工具:zipkin详细介绍
 
35-5全链路监控工具:skywalking概述
 
35-6全链路监控工具:pinpoint概述
 
35-7全链路监控工具对比分析
 
35-8安装配置pinpoint服务
 
35-9重新编译带有pinpoint agent的源代码
 
35-10部署带pinpoint agent的product服
 
第36章 kubectl命令行管理工具
 
36-1kubectl简介和语法
 
36-2kubectl相关命令演示
 
36-3kubectl输出选项
 
36-4kubectl常用命令介绍
 
第37章 扩展篇:HPA-KPA-VPA-CA实现k8s自动扩缩容
 
37-1k8s自动扩缩容背景分析
 
37-2HPA概述
 
37-3KPA概述
 
37-4VPA概述
 
37-5HPA工作原理和扩缩容流程
 
37-6安装和配置metrics-server组件
 
37-7dockerfile构建apache镜像
 
37-8Deployment部署apache服务
 
37-9创建HPA
 
37-10HPA基于CPU使用率实现Pod自动扩缩容
 
37-11HPA基于内存实现Pod自动扩缩容
 
第38章 扩展篇:k8s包管理工具Helm v3
 
38-1Helm介绍
 
38-2Helm v3版本相对v2的变化
 
38-3Helm v3安装
 
38-4配置Chart仓库地址
 
38-5搜索和下载Chart
 
38-6helm install运行Chart
 
38-7release相关操作
 
38-8自定义Chart图表
 
38-9Chart.yaml文件编写技巧
 
38-10go模板文件渲染
 
38-11values.yaml编写技巧
 
38-12运行自定义的release
 
38-13helm lint
 
38-14helm upgrade
 
38-15helm rollback
 
38-16helm package
 
38-17操作release相关的命令
 
38-18helm常用命令介绍
 
第39章 扩展篇:临时容器ephemeral
 
39-1临时容器ephemeralContainers介绍
 
39-2开启特性支持临时容器
 
39-3kubectl debug创建临时容器
 
39-4kubectl --raw创建临时容器
 
39-5添加多个临时容器
 
第40章 Ingress-Controller高可用方案及多租户场景
 
40-1在多个k8s节点安装Ingress-controll
 
40-2通过keepalived和nginx实现Ingres
 
40-3测试Ingress代理JAVA程序
 
40-4Ingress Controller多租户场景使用
 
第41章 Ingress通过Header实现流量切分-灰度发布
 
41-1Ingress按照权重-cookie-请求头灰度介绍
 
41-2部署新老版本Nginx服务
 
41-3Ingress-controller基于请求头和地域
 
41-4Ingress-controller基于Cookie
 
41-5Ingress-controller基于权重流量代理