这是我参与「第四届青训营」笔记创作活动的的第14天
01.Kubernetes简介
什么是容器

为什么要Kubernetes ?
- 应用数量巨大怎么办?
- 如何自动部署?
- 如何编排?
- 出了问题如何恢复?
Kubernetes是什么?
- 特点:便携,可扩展,开源
- 目的:管理容器应用和服务
- 作用:声明式配置和自动化
如何在Kubernetes里面部署WordPress应用?
Kubernetes核心概念
- Pod
- Deployment/StatefulSet
- Volume/PVC/PVIStorageClass
- Node

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

Kubernetes核心通信机制- List-Watch

Kubernetes核心功能
- 服务发现和负载均衡
- 存储编排
- 自动发布,回滚
- 自愈
- 秘钥,配置管理
- 资源管理,应用编排调度
02.资源管理
资源种类
- CPU,Memory ,HugePages,GPU...
- Socket,Numa,NIC
- Ephemeral Storage, NFS, GlusterFS...RBD, Cinder...
- ByteDance Storage (FS,Block)...
资源上报

资源分配
计算资源

存储卷

状态维护

资源回收
计算资源

存储卷

03.调度
调度流程


04.优化实践
Kubernetes还可以更好
- 非原生资源的精细化管理能力
- 动态资源接入,管理能力
- 调度功能和性能
- 调度质量
优化
- Socket numa
- Local Disk
- 网卡
- 内存带宽
- GPU
- 应用实时CPU负载
- 机器实时CPU负载