这是我参与「第四届青训营 」笔记创作活动的的第17天
今天是大数据专场基础班的第十七次课,主要内容是深入理解 K8S 资源管理和调度,主要分为下面四个板块。
一、 Kubernetes简介
1. Kubernetes核心概念
- Pod
- Deployment/StatefulSet
- Volume/PVC/PV/StorageClass
- Node
1.1 Kubernetes核心概念- Pod
1.2 Kubernetes核心概念- Volume/PV/PVCIStorageClass
1.3 Kubernetes核心概念-Deployment
1.4 Kubernetes核心概念- StatefulSet
1.5 Kubernetes核心概念-Node
2. 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
3. Kubernetes架构
4. Kubernetes核心通信机制- List-Watch
5. Kubernetes核心功能
- 服务发现和负载均衡
- 存储编排
- 自动发布,回滚
- 自愈
- 秘钥,配置管理
- 资源管理,应用编排调度
二、 资源管理
1. 资源种类
2. 资源上报
3. 资源分配
4. 资源维护
5. 资源回收
三、 调度
1. 资源申请
2. 调度流程
四、 优化实践
1. Kubernetes 还可以更好
- 非原生资源的精细化管理能力
- 动态资源接入,管理能力
- 调度功能和性能
- 调度质量
2. Kubernetes和Yarn的一些不同
- 基本单位
- Pod & Container
- 资源管理
- 资源种类
- 扩展能力
- 调度模式:
- Task -> Node
- Node -> Task
- 系统设计
- 中心存储&节点缓存
引用参考
内容主要参考了任玉泉老师在「深入理解 K8S 资源管理和调度」课程里所教授的内容,同时也参考了学员手册里第三节的内容,图片来自于老师的PPT,链接如下: