深入理解 K8S 资源管理和调度 | 青训营笔记

309 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第17天

今天是大数据专场基础班的第十七次课,主要内容是深入理解 K8S 资源管理和调度,主要分为下面四个板块。

一、 Kubernetes简介

1. Kubernetes核心概念

  • Pod
  • Deployment/StatefulSet
  • Volume/PVC/PV/StorageClass
  • Node

1.1 Kubernetes核心概念- Pod

image.png

1.2 Kubernetes核心概念- Volume/PV/PVCIStorageClass

image.png

1.3 Kubernetes核心概念-Deployment

image.png

1.4 Kubernetes核心概念- StatefulSet

image.png

1.5 Kubernetes核心概念-Node

image.png

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架构

image.png

4. Kubernetes核心通信机制- List-Watch

image.png

5. Kubernetes核心功能

  • 服务发现和负载均衡
  • 存储编排
  • 自动发布,回滚
  • 自愈
  • 秘钥,配置管理
  • 资源管理,应用编排调度

二、 资源管理

1. 资源种类

image.png

2. 资源上报

image.png

3. 资源分配

image.png

4. 资源维护

image.png

5. 资源回收

image.png

三、 调度

1. 资源申请

image.png

2. 调度流程

image.png

四、 优化实践

1. Kubernetes 还可以更好

  • 非原生资源的精细化管理能力
  • 动态资源接入,管理能力
  • 调度功能和性能
  • 调度质量

2. Kubernetes和Yarn的一些不同

  • 基本单位
    • Pod & Container
  • 资源管理
    • 资源种类
    • 扩展能力
  • 调度模式:
    • Task -> Node
    • Node -> Task
  • 系统设计
    • 中心存储&节点缓存

引用参考

内容主要参考了任玉泉老师在「深入理解 K8S 资源管理和调度」课程里所教授的内容,同时也参考了学员手册里第三节的内容,图片来自于老师的PPT,链接如下:

  1. 【大数据专场 学习资料六】第四届字节跳动青训营 - 掘金 (juejin.cn)
  2. 深入理解 K8S 资源管理和调度 - 任玉泉 - ppt.pptx - common.docs_with_brand (feishu.cn)