这是我参与「第四届青训营」笔记创作活动的的第17天,以下是我的课堂笔记。 本次课程主要分为四个大板块:
1. Kubernetes简介
2. 资源管理
3. 调度
4. 优化实践
1. Kubernetes简介
1.1 为什么要Kubernetes ?
√应用数量巨大怎么办?
√如何自动部署?
√如何编排?
√出了问题如何恢复?
1.2 Kubernetes 特点
特点:便携,可扩展,开源
目的:管理容器应用和服务
作用:声明式配置和自动化
1.3 Kubernetes核心概念
1.4 Kubernetes设计准则
√ Declarative > imperative: State your desired results, let the system actuate
√ Control loops: Observe, rectify, repeat
√ simple > Complex: Try to do as little as possible
√ Modularity: Components, interfaces,& plugins
√ Legacy compatible: Meet users where they are, requiring apps to change is a non-starter
√ open > Closed: Open Source, standards, REST,JSON, etc.
1.5 Kubernetes架构
1.6 Kubernetes核心通信机制- List-Watch
1.7 Kubernetes核心功能
√ 服务发现和负载均衡
√ 存储编排
√ 自动发布,回滚
√ 自愈
√ 秘钥,配置管理
√ 资源管理,应用编排调度
2.资源管理
2.1 资源上报
2.2节点资源样例
· Capacity:
bytedance.com/socket: 4
nvidia.com/gpu: 8
cpu:96
ephemeral-storage:1729025612Ki
memory:394587632Ki
pods:110\
· Allocatable:
bytedance.com/socket: 4
nvidia.com/gpu: 8
cpu:94
ephemeral-storage: 1655625292Ki
memory: 390681382Ki
pods: 110
2.3 资源分配
2.4 状态维护
2.5资源回收
3. 调度
3.1 资源申请
3.2调度流程
4.优化实践
4.1 Kubernetes还可以更好
√ 非原生资源的精细化管理能力
√ 动态资源接入,管理能力
√ 调度功能和性能
√ 调度质量
4.2字节的一些工作
资源管理
工作增强
性能优化
调度质量
4.3 Kubernetes和Yarn的一些不同
- 基本单位
Pod & Container - 资源管理
资源种类
扩展能力 - 调度模式:
Task -> Node
Node -> Task - 系统设计:
中心存储&节点缓存