聯繫我們

課程簡介

第一天 - 容器与镜像管理

容器平台简介

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

操作容器

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

构建容器镜像

  • 镜像结构与分层
  • 创建 Dockerfile 和 Containerfile
  • 选择基础镜像
  • 添加应用依赖项
  • 配置入口点和命令
  • 镜像缓存
  • 减小镜像体积
  • 构建可复现的镜像

容器注册表

  • 公共和私有注册表
  • 为镜像打标签和版本控制
  • 推送和拉取镜像
  • 镜像身份验证
  • 镜像保留与清理
  • 基本镜像安全考量

容器网络与存储

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

实战练习

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

第二天 - Kubernetes 架构与工作负载

Kubernetes 基础

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

Kubernetes 资源

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

部署应用

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

应用配置

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

资源管理

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

实战练习

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

第三天 - Kubernetes 网络、存储与安全

Kubernetes 网络

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

网络策略

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

持久化存储

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

Kubernetes 访问控制

  • 身份验证和授权概念
  • 基于角色的访问控制 (RBAC)
  • Roles 和 ClusterRoles
  • RoleBindings 和 ClusterRoleBindings
  • 服务账户
  • 最小权限原则
  • 检查有效权限

工作负载安全

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

实战练习

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

第四天 - OpenShift 环境操作

OpenShift 简介

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

管理项目与访问权限

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

部署应用

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

应用暴露

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

OpenShift 中的存储

  • Persistent Volume Claims
  • StorageClasses
  • 将存储附加到工作负载
  • 有状态工作负载
  • 存储访问权限
  • 排查卷挂载问题

调度与节点管理

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

实战练习

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

第五天 - 运营、监控与故障排查

平台监控

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

日志与事件

  • 容器日志
  • 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)

即將到來的課程

課程分類