Course Code: dockerkubernetesscale
Duration: 21 hours
Prerequisites:
- 熟悉Linux命令行
- 基本了解虚拟化概念
- 了解网络概念
- 了解Web应用程序运行
Overview:
Docker是一个开源平台,用于自动化在容器内部构建、运输和运行应用程序的过程。Kubernetes则进一步提供在集群环境中大规模部署和管理容器化应用程序所需的工具。
在这一讲师引导的培训中,参与者将学习如何创建和管理Docker容器,然后在容器内部署示例应用程序。参与者还将学习如何在Kubernetes集群中自动化、缩放、管理他们的容器化应用程序。最后,培训会涉及更高级的题目,指导参与者学习如何保护、缩放、监控一个Kubernetes集群。
在这次培训结束之后,参与者将能够:
- 设置并运行Docker容器
- 部署容器化服务器和Web应用程序
- 构建和管理Docker图像
- 创建Docker和Kubernetes集群
- 使用Kubernetes部署和管理集群化Web应用程序
- 保护、缩放、监控Kubernetes集群
受众
- 软件开发人员
- 架构师
- 部署工程师
注意:
- Apache Tomcat和一个Java EE应用程序将用作容器化的演示服务器和应用程序,但*可能会有所调整*。如果您想查看本次培训所涉及的某个具体应用或相关工具或技术,请联系我们以作相应安排。
Course Outline:
[第01天]
介绍
- 容器vs虚拟机
- 速度和性能
Docker架构概述 Docker和Linux内核
- Docker组件(Docker客户端、Docker守护进程、镜像、注册表、容器)
使用Docker来运行和管理容器
- 镜像、容器、volumes、网络
容器编排概述
安装Docker
从互联网上拉取镜像
- 示例:Apache Tomcat
运行容器
Docker注册表
- 公开vs私有
创建和管理Docker文件
创建Docker镜像
部署Web应用程序
- 示例应用程序:Java EE应用服务器
Docker容器如何相互通信
在Docker中配置volumes和网络
- 连接和状态
[第02天]
用Kubernetes编排容器的介绍
Kubernetes架构概述
- Pods,标签/选择器,复制控制器,服务,API
安装Kubernetes集群
创建Kubernetes pods和volumes
对您的集群进行分组和整理
发现其他的服务,发布自己的服务
发现和连接到容器
部署Web应用程序
- 处理应用程序组件
- 处理数据库连接
Kubernetes安全
- 认证和授权
高级网络
- Docker网络 vs Kubernetes网络
监控Kubernetes
- 使用Elasticsearch和fluentd收集集群日志
- 容器级监控(cAdvisor UI、Influxdb、Prometheus)
[第03天]
缩放您的Kubernetes集群
针对Kubernetes的基础设施
- 配置、分区、网络
构建高可用性集群
- 负载平衡和发现服务
部署可缩放应用程序
- 水平pod自动缩放
- 在Kubernetes里把数据库集群化
更新您的应用程序
- 在Kubernetes里发布
故障排除
结束语