联系我们

课程大纲

第1天 – 容器和镜像管理

容器平台简介

  • 传统应用部署与基于容器的部署对比
  • 容器与虚拟机
  • 容器运行时和容器引擎
  • Docker、Kubernetes和OpenShift的角色
  • 常见的容器平台架构
  • 开发、测试和生产工作流

使用容器

  • 运行和管理容器
  • 容器生命周期
  • 启动、停止和删除容器
  • 在容器内执行命令
  • 环境变量
  • 端口映射
  • 容器日志
  • 资源使用和进程检查

构建容器镜像

  • 镜像结构和层
  • 创建Dockerfiles和Containerfiles
  • 选择基础镜像
  • 添加应用依赖
  • 配置入口点和命令
  • 镜像缓存
  • 减少镜像大小
  • 构建可复现的镜像

容器注册表

  • 公共和私有注册表
  • 镜像标记和版本控制
  • 推送和拉取镜像
  • 镜像认证
  • 镜像保留和清理
  • 基本的镜像安全考虑

容器网络和存储

  • 容器网络概念
  • 桥接网络
  • 端口暴露
  • 容器间通信
  • 绑定挂载和卷
  • 持久化容器数据
  • 备份考虑

动手练习

  • 运行和检查容器
  • 构建应用镜像
  • 配置端口和环境变量
  • 将镜像发布到注册表
  • 在容器外存储持久数据

第2天 – Kubernetes架构和工作负载

Kubernetes基础

  • 容器编排的目的
  • Kubernetes架构
  • 控制平面组件
  • 工作节点
  • API服务器
  • 调度器
  • 控制器
  • 集群状态和期望状态
  • 使用kubectl与集群通信

Kubernetes资源

  • Pods
  • ReplicaSets
  • Deployments
  • 命名空间
  • 标签和注解
  • 选择器
  • 声明式资源定义
  • YAML清单

部署应用

  • 创建和管理Deployments
  • 扩展工作负载
  • 更新容器镜像
  • 滚动更新
  • 回滚
  • 部署历史
  • 重启工作负载
  • 管理应用副本

应用配置

  • ConfigMaps
  • Secrets
  • 环境变量
  • 配置文件
  • 分离应用代码与配置
  • 管理环境特定设置

资源管理

  • CPU和内存请求
  • CPU和内存限制
  • 资源配额
  • 限制范围
  • 调度影响
  • 诊断资源相关故障

动手练习

  • 部署容器化应用
  • 创建和更新Kubernetes清单
  • 扩展应用
  • 执行滚动更新和回滚
  • 使用ConfigMaps和Secrets配置应用
  • 应用资源请求和限制

第3天 – Kubernetes网络、存储和安全

Kubernetes网络

  • 集群网络模型
  • Pod间通信
  • 服务发现
  • 集群内DNS
  • ClusterIP服务
  • NodePort服务
  • LoadBalancer服务
  • Ingress概念
  • 应用暴露模式

网络策略

  • 控制工作负载间流量
  • Ingress和Egress规则
  • 基于命名空间的流量控制
  • 测试网络连接
  • 排查服务通信问题

持久存储

  • 临时和持久存储
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • 动态配置
  • 访问模式
  • 回收策略
  • 有状态应用的存储

Kubernetes访问控制

  • 认证和授权概念
  • 基于角色的访问控制
  • Roles和ClusterRoles
  • RoleBindings和ClusterRoleBindings
  • 服务账户
  • 最小权限访问
  • 检查有效权限

工作负载安全

  • 安全上下文
  • 以非root用户运行容器
  • Linux能力
  • 只读文件系统
  • 密钥处理
  • 镜像来源
  • 常见配置风险

动手练习

  • 使用Kubernetes服务暴露应用
  • 配置Ingress
  • 使用网络策略限制流量
  • 配置持久存储
  • 配置RBAC权限
  • 以适当的安全上下文运行工作负载

第4天 – 使用OpenShift环境

OpenShift简介

  • OpenShift作为基于Kubernetes的应用平台
  • OpenShift环境中的Kubernetes资源
  • OpenShift集群架构
  • 项目和命名空间
  • 平台用户和服务账户
  • 使用Web控制台
  • 使用OpenShift CLI

管理项目和访问

  • 创建和管理项目
  • 分配用户权限
  • 项目级角色
  • 管理访问
  • 资源配额
  • 限制范围
  • 服务账户
  • 审查项目资源

部署应用

  • 部署容器镜像
  • 创建应用工作负载
  • 管理部署
  • 扩展应用
  • 更新应用版本
  • 回滚
  • 管理应用配置
  • 使用密钥

应用暴露

  • OpenShift中的服务
  • 路由
  • TLS概念
  • 内部和外部应用访问
  • 主机名和证书
  • 诊断路由和服务问题

OpenShift中的存储

  • 持久卷声明
  • StorageClasses
  • 将存储附加到工作负载
  • 有状态工作负载
  • 存储访问权限
  • 排查卷挂载问题

调度和节点管理

  • 标签和选择器
  • 节点选择器
  • 污点和容忍
  • 亲和性和反亲和性概念
  • 工作负载放置
  • 隔离和排空节点
  • 节点维护考虑

动手练习

  • 访问OpenShift环境
  • 创建和配置项目
  • 部署并暴露应用
  • 配置用户和服务账户访问
  • 附加持久存储
  • 扩展和更新运行中的工作负载

第5天 – 操作、监控和故障排除

平台监控

  • 监控集群和应用健康状况
  • 资源指标
  • 节点健康状况
  • 工作负载状态
  • 容量和资源利用率
  • 识别性能瓶颈

日志和事件

  • 容器日志
  • Pod日志
  • 先前的容器日志
  • Kubernetes事件
  • 应用和平台消息
  • 过滤和解释操作数据

健康检查

  • 启动探针
  • 就绪探针
  • 存活探针
  • 设计有用的健康端点
  • 诊断探针失败
  • 防止不必要的应用重启

排查工作负载问题

  • Pending pods
  • 镜像拉取失败
  • 崩溃循环
  • 错误配置的环境变量
  • 挂载失败
  • 资源不足
  • 权限错误
  • 服务和路由连接问题
  • DNS问题
  • 应用启动失败

操作安全

  • 审查权限
  • 服务账户使用
  • 安全处理凭据
  • 镜像安全实践
  • 网络隔离
  • 平台访问审计
  • 应用最小权限原则

维护和生命周期管理

  • 例行平台检查
  • 节点维护
  • 应用备份考虑
  • 配置备份
  • 更新计划
  • 应变管理
  • 测试更新
  • 回滚计划
  • 灾难恢复概念

最终实践工作坊

学员完成一个端到端的操作场景:

  • 构建并标记容器镜像。
  • 将镜像发布到注册表。
  • 将应用部署到Kubernetes或OpenShift。
  • 配置应用设置和凭据。
  • 暴露应用。
  • 附加持久存储。
  • 配置访问权限。
  • 添加健康检查。
  • 扩展和更新应用。
  • 诊断并解决引入的故障。

课程形式

  • 互动讲座和技术讨论。
  • 讲师演示。
  • 大量动手练习。
  • 基于场景的管理和故障排除工作坊。
  • 在容器、Kubernetes和OpenShift环境中的实践操作。

课程定制选项

  • 课程可根据学员现有的基础设施、云提供商和容器工具进行调整。
  • Docker、Kubernetes和OpenShift主题的平衡可根据团队经验调整。
  • 实践练习可根据组织的应用、部署流程和操作需求定制。

商标声明

OpenShift是Red Hat, Inc.的商标。本独立开发的培训与Red Hat无关,未经其认可或授权。

要求

学员应具备:

  • 使用Linux命令行的经验。
  • 基本的系统管理或DevOps知识。
  • 对网络概念的一般理解。
  • 熟悉软件部署流程。

有Docker、Kubernetes或OpenShift经验者更佳,但非必需。

 35 小时

客户评论 (7)

即将举行的公开课程

课程分类