感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
第一天 - 容器与镜像管理
容器平台简介
- 传统应用部署与基于容器的部署对比
- 容器与虚拟机
- 容器运行时与容器引擎
- 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)
Reda的解釋讓很多概念變得更容易理解
Eric Van Wyk
課程 - Docker, Kubernetes and OpenShift 3 for Administrators
機器翻譯
實驗環節是最棒的,非常實用且提供了動手實踐的機會。我個人認爲,這是真正理解課程內容並應用所學概念的最有效方式。
Hishaam Johnstone
課程 - Docker, Kubernetes and OpenShift 3 for Administrators
機器翻譯
我喜歡他們願意幫助和進一步解釋的不確定性
Letlotlo Miffi
課程 - Docker, Kubernetes and OpenShift 3 for Administrators
機器翻譯
Adriano對該主題進行了深入研究,這是我最喜歡的風格,即:少關注命令,多關注其背後的機制。討論的場景通過實際例子得到了很好的支持,這有助於理解所呈現的內容。
Mariusz BANASZCZYK - Sopra Steria
課程 - Docker, Kubernetes and OpenShift for Administrators
機器翻譯
深入瞭解Adriano,解釋基礎概念
Tomasz Szalankiewicz - LPP SA
課程 - Docker, Kubernetes and OpenShift for Administrators
機器翻譯
我總體上喜歡這位演講者。
Josif Kovacevic - ANZ
課程 - Docker, Kubernetes and OpenShift for Administrators
機器翻譯
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
課程 - Docker, Kubernetes and OpenShift for Administrators
機器翻譯