Kubernates 学习笔记
K8s 简介
K8s 架构

K8s是非常典型的主/从(服务端/客户端)架构
整个K8s架构主要分为两层:控制平面 (Control Plane) 和 工作节点 (Worker Node)
- 控制平面 (Control Plane)
控制整个集群,运行在Master节点上,包含API Server,etcd,Scheduler和Controller
-
API Server (核心入口)
- 所有请求的入口(kubectl/UI/CI)
- 提供REST API
- 做认证,授权,限流
-
etcd (数据存储)
- 存储所有集群状态(Pod, Node, 配置)
- 强一致性 (Raft)
-
Schedule (调度器)
- 决定Pod放到哪个Node
- 考虑:资源,亲和性/反亲和行,污点/容忍
-
Controller (控制器)
- 不断调和状态,让实际状态变为期望状态
- 有 Deployment Controller,Node Controller,ReplicaSet Controller
- 工作节点 (Worker Node)
-
Kubelet (节点代理)
- 管理Pod生命周期
- 和API Server通信
- 确保容器运行
-
kube-proxy
- 实现 Service (负载均衡)
- 操作iptables / IPVS
-
容器运行时(Container Runtime)
- 核心资源对象
-
Pod(最小调度单位)
-
Service
-
Deployment
- 核心工作流程
kubectl apply -f deployment.yaml
- 请求-> kube-apiserver
- 数据写入etcd
- controller-maneger发现需要创建Pod
- Scheduler选择Node
- kebelet在Node上启动容器
- kube-proxy配置网络
- Pod Running