背景:
docker 、k8s异构资源服务平台
基础:
1.了解k8s部署和管理各种对象基本操作
2.阅读scheduler部分源码
培训目标
1.k8s平台自定义调度算法
2.k8s平台接入异构资源
3.k8s平台测试内部性能服务
培训重点内容
1.实现k8s定义调度算法的方法
2.将arm架构下的GPU和fpga资源接入k8s的方法
3.k8s内部性能测试方法(kubertest等)的安装和使用方法
培训大纲:
第一章 Kubernetes定义
1.1 Kubernetes是什么
1.2 Kubernetes应用场景
1.3 例子
1.4 Kubernetes基本概念和术语
1.4.1 Master
1.4.2 Node
1.4.3 Pod
1.4.4 Label(标签)
1.4.5 Replication Controller
1.4.6 Deployment
1.4.7 Horizontal Pod Autoscaler
1.4.8 StatefulSet
1.4.9 Service(服务)
1.4.10 Volume(存储卷)
1.4.11 Persistent Volume
1.4.12 Namespace(命名空间)
1.4.13 Annotation(注解)
第二章 Kubernetes实践
*2.1 Kubernetes安装与配置
2.1.1 系统要求
2.1.2 使用kubeadm工具快速安装Kubernetes集群
2.1.3 以二进制文件方式安装Kubernetes集群
2.1.4 Kubernetes集群的安全设置
2.1.5 Kubernetes集群的网络配置
2.1.6 内网中的Kubernetes相关配置
2.1.7 Kubernetes的版本升级
2.1.8 Kubernetes核心服务配置详解
*2.2 kubectl命令行工具用法详解
2.2.1 kubectl用法概述
2.2.2 kubectl子命令详解
2.2.3 kubectl参数列表
2.2.4 kubectl输出格式
2.2.5 kubectl操作示例
*2.3 Pod
2.3.1 Pod定义详解
2.3.2 Pod的基本用法
2.3.3 静态Pod
2.3.4 Pod容器共享Volume
2.3.5 Pod的配置管理
2.3.6 在容器内获取Pod信息(Downward API)
2.3.7 Pod生命周期和重启策略
2.3.8 Pod健康检查
2.3.9 玩转Pod调度
2.3.10 Init Container(初始化容器)
2.3.11 Pod的升级和回滚
2.3.12 Pod的扩容和缩容
2.3.13 使用StatefulSet搭建MongoDB集群
*2.4 Service
2.4.1 Service定义详解
2.4.2 Service基本用法
2.4.3 Headless Service
2.4.4 集群外部访问Pod或Service
2.4.5 DNS服务搭建指南
2.4.6 自定义DNS和上游DNS服务器
2.4.7 Ingress:HTTP 7层路由机制
2.5kubernetes集群GPU/FPGA节点的部署与使用(重点)
Kubernetes v1.8 开始增加了 Alpha 版的 Device 插件,
用来支持 GPU、FPGA、高性能 NIC、InfiniBand 各种设备
第三章 Kubernetes原理及调度算法(重点)
*3.1 Kubernetes API Server 原理分析
3.1.1 Kubernetes API Server概述
3.1.2 独特的Kubernetes Proxy API接口
3.1.3 集群功能模块之间的通信
*3.2 Controller Manager 原理分析
3.2.1 Replication Controller
3.2.2 Node Controller
3.2.3 ResourceQuota Controller
3.2.4 Namespace Controller
3.2.5 Service Controller与Endpoint Controller
3.3 Scheduler原理分析 ***********************
3.4 kubelet运行机制分析
3.4.1 节点管理
3.4.2 Pod管理
3.4.3 容器健康检查
3.4.4 cAdvisor资源监控
3.5 kube-proxy 运行机制分析
3.6 深入分析集群安全机制
3.6.1 API Server认证管理(Authentication)
3.6.2 API Server授木又管理(Authorization)
3.6.3 Admission Control(准入控制)
3.6.4 Service Account
3.6.5 Secret私密凭据
3.7 网络原理
3.7.1 Kubernetes网络模型
3.7.2 Docker的网络基础
3.7.3 Docker的网络实现
3.7.4 Kubernetes的网络实现
3.7.5 Pod和Service网络实战
3.7.6 CNI网络模型
3.7.7 Kubernetes网络策略
3.7.8 开源的网络组件
3.8 共享存储原理
3.8.1 共享存储机制概述
3.8.2 PV详解
3.8.3 PVC详解
3.8.4 PV和PVC的生命周期
3.8.5 StorageClass详解
3.8.6 动态存储管理实战:GlusterFS
第四章 性能测试
4.1测试用例
4.2压力测试监控指标:
4.2.1在不同数据量,不同并发数下,长时间执行压力测试时,系统的稳定性,包括:
1.>测试架构;
2.>系统性能表现,在较长时间范围内的变化趋势
3.>系统资源使用情况,在较长时间范围内的变化趋势
4.>各个服务组件的TPS、响应时间、错误率
5.>内部模块间访问次数、耗时、错误率等内部性能数据
6.>各个模块资源使用情况
7.>各个服务端组件长时间运行时,是否出现进程意外退出、重启等情况
8.>服务端日志是否有未知错误
4.3 apiserver
1.>api的响应时间。
2.>apiserver缓存的存储设备对性能的影响。
3.>流控对系统、系统性能的影响。
4.>apiserver 日志中的错误响应码。
5.>apiserver 重启恢复的时间
6.>apiserver在压力测试情况下,响应时间和资源使用情况。
4.4scheduler
4.4.1压测scheduler处理能力
4.4.2scheduler 重启恢复的时间
4.4.3scheduler日志中的错误信息。
4.5controller
4.5.1压测 deployment controller处理能力
4.5.2controller 重启恢复的时间
4.5.3controller日志中的错误信息。
4.6kubelet
node心跳对系统性能的影响
kubelet重启恢复的时间
kubelet日志中的错误信息。
4.7etcd
4.7.1etcd 的写入性能
4.7.2etcd 的存储设备对性能的影响。例如,写etcd的io。
4.7.3watcher hub 数对k8s系统性能的影响。
第五章 Kubernetes运维指南
5.1 Kubernetes集群
5.1.1 Node的管理
5.1.2 更新资源对象的Label
5.1.3 Namespace:集群环境共享与隔离
5.1.4 Kubernetes资源管理
5.1.5 资源紧缺时的Pod驱逐机制
5.1.6 Pod Disruption Budget(主动驱逐保护)
5.1.7 Kubernetes集群的高可用部署方案
5.1.8 Kubernetes集群监控
5.1.9 集群统一日志管理
5.1.10 Kubernetes审计日志(Audit Log)
5.1.11 使用Web UI(Dashboard)管理集群
5.1.12 Helm:Kubernetes应用包管理工具
5.2 Trouble Shooting指导
5.2.1 查看系统Event事件
5.2.2 查看容器日志
5.2.3 查看Kubernetes服务日志
5.2.4 常见问题
5.2.5 寻求帮助
5.3 Kubernetes开发中的新功能
5.3.1 Pod Preset(运行时参数注入策略)
5.3.2 Cluster Federation(集群联邦)
5.3.3 容器运行时接口(Container Runtime Interface-CRI)
5.3.4 对GPU的支持
5.3.5 Kubernetes的演进路线(Roadmap)和开发模式
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获