课程大纲:
第一天、Docker虚拟化容器引擎
第一章 什么是Docker及其体系架构
1、什么是Docker?
2、Docker的体系架构与基本概念
3、准备实验环境
4、安装Docker
学习目标
掌握Docker的架构与核心概念
练习案例
安装Docker
第二章 Docker的镜像
1、使用和访问Docker官方公有的镜像仓库
2、配置和使用阿里云Docker镜像加速仓库
3、管理Docker的镜像和容器
4、构建Docker镜像
使用docker commit命令构建镜像
使用dockerfile文件构建镜像
5、Docker File 学习目标
什么是Docker的镜像?
如何创建Docker的镜像?
练习案例
使用docker commit和docker file创建镜像
第三章 Docker的容器
1、容器的基本操作
2、容器的日志
3、管理容器的资源
①基础知识:Linux control groups
②Docker对CPU的使用
③Docker对内存的使用
④Docker对I/O的使用
学习目标
什么是Docker的容器?
如何管理容器使用的资源?
练习案例
容器的基本操作和资源的使用
第四章 Docker网络和容器的通信
1、Docker网络通信的基本原理
2、Docker的网络模式
3、容器间的通信
4、容器访问控制
学习目标
Docker的网络模式与容器的通信
练习案例
使用不同的网络模式创建Docker的容器
第五章 Docker的数据管理
1、数据卷
2、数据卷容器
3、利用数据卷容器来迁移数据
学习目标
数据卷与Docker数据的持久化
练习案例
创建Docker的数据卷
第六章 搭建Harbor私有仓库
1、什么是Harbor?
2、安装Docker和Docker Compose
3、解压并配置harbor
4、安装harbor
5、访问harbor
6、通过终端访问harbor
学习目标
什么是私有的镜像仓库?及其作业
练习案例
搭建Harbor私有镜像仓库
第二天、基于K8s的虚拟化容器技术(基础)
第一章:K8s简介体系架构
什么是Kubernetes(K8s)?
Kubernetes的体系架构
Kubernetes的组件
Kubernetes的相关术语
学习目标
K8s的体系机构与基本术语
第二章:K8s集群的部署
准备工作
使用kubeadmin部署K8s集群
部署DashBoard UI
使用yum方式部署K8s集群
练习案例
部署K8s环境
第三章:使用Kubectl
Kubectl常用命令及使用技巧
在K8s中部署应用
学习目标
什么是kubectl及其使用
练习案例
使用kubectl命令行工具操作K8s
第四章:Pod对象的管理
Pod介绍与容器分类
镜像拉取策略
资源限制
重启策略
Pod健康检查(Probe探针)
Pod调度策略
故障排查
学习目标
Pod的基本概念和部署
练习案例
使用pod在K8s中部署应用
第五章:控制器Controller
Deployment控制器
Daemonset控制器
Job控制器
CronJob控制器
StatefulSet控制器 学习目标
什么是控制器,及控制器的作用。
练习案例
练习使用不同的K8s的控制器
第六章:服务Service
Service介绍与定义
Service三种类型
Service 代理模式
集群内部DNS服务(CoreDNS)
通过Ingress访问应用简介
学习目标
什么是Service,及Service的作用。
练习案例
通过Service访问Pod中的应用程序
第三天、基于K8s的虚拟化容器技术(进阶)
第一章:持久化存储
K8s与Docker的持久化存储
数据卷的类型
持久卷和持久卷声明
PV动态供给
学习目标
理解并掌握K8s的持久化机制,及其与Docker的区别。
练习案例
持久卷的声明和持久卷的使用
第二章:管理应用程序的配置
Secret
ConfigMap
ConfigMap的动态更新
学习目标
掌握如何配置K8s的参数设置
第三章:K8s平台中日志收集
收集哪些日志
日志收集方案
安装ELK
收集k8s组件日志
收集nginx访问日志
实战案例:采集tomcat pod日志
学习目标
理解并掌握K8s的日志收集方案与部署
练习案例
部署ELK环境,采集K8s日志
第四章:基于K8S构建企业CI/CD平台
Jenkins与Kubernetes的持续集成与持续部署
基于Kubernetes的Jenkins集群架构
Jenkins与Kubernetes集成
应用部署的升级
应用部署的金丝雀升级
应用部署蓝绿升级
应用部署的滚动升级
使用Helm简化Kubernetes应用的部署和管理
什么是Helm?
【实战】部署Helm
使用Helm管理Kubernetes
企业生产环境的项目构建
基于K8s构建微服务应用
基于K8s的Devops平台构建
学习目标
理解并掌握什么是CI/CD
如何集成Jenkins和K8s
练习案例
在Kubernetes中部署Jenkins
Jenkins在K8s中持续部署
第五章:Kubernetes的监控与故障诊断
Kubernetes监控指标与监控方案
监控系统部署
Kubernetes的故障诊断与解决方案
Pods 模块检查
Service模块检查
学习目标
K8s的监控指标与故障诊断
练习案例
部署K8s监控系统