Kubernetes 工作原理
2023-09-18 23:29:10 49 举报
Kubernetes 容器编排、容器调度、容器运行时、可扩展接口(CNI + CSI + CRI)
作者其他创作
大纲/内容
OCI
kube-proxy代理组件
获取指标
闲置启停
CPU利用率
StorageClass存储类
CNI
开放接口Interface
1.Provision 阶段:创建磁盘
Driver Registrar
ReplicaSet (V1)
cni0
container-1
kubelet控制Pod运行
...
云厂商API
获取插件信息注册到 kubelet
kubectl客户端
OCI Runtime
挂载
版本记录
Job伸缩任务
Ingress七层负载
就绪探针
探测
工作节点(Node1)
External Provisioner
172.16.3.3
控制平面Master
CronJob定时任务
Flannel host-gw 模式
Pod
172.16.0.4
10.2.0.5/24
伸缩
自动颁发证书
172.16.0.2
3. Mount 阶段:挂载到宿主机目录
172.16.1.3
容器开放接口规范
ReplicaSet (V2)
kubelet 循环检查
ServiceAccount Controller(服务账号控制器)
CRI Runtime
1. 监听 PVC 对象创建
计算节点Node
适用于 Sidecar 或者数据采集组件
CRI
控制平面(Master1)
定时
172.16.3.2
Custom Metrics
etcd 集群
基于 Weight 切分
gVisor
对外服务
containerd
172.16.2.3
监控组件
替换 docker0
controller-manager容器编排
gRPC
Deployment无状态应用
172.16.2.1/24
IP路由172.16.1.0/24 -> cni0 -> 172.16.1.1172.16.0.0/24 -> eth0 -> 10.2.0.2(下一跳)10.2.0.0/24 -> eth0 -> 10.2.0.3
CSI Node 服务
暴露接口
Agent代理
Job Controller(span style=\
pause 容器
cron 表达式
CSI 外部组件
基于 Cookies 切分
EndpointSlice Controller(span style=\
Pod-1
kube-apiserver对外接口
微服务
Kubernetes 核心技术
ConfigMap配置
Cloud Provider API
绑定
控制平面(Master2)
弹性
可回滚
dockershim废弃
172.16.0.1/24
runc
PV持久卷
CNI 插件:Flannel host-gw 模式
StatefulSet有状态应用
scheduler容器调度
内存利用率
CSI
IP路由172.16.0.0/24 -> cni0 -> 172.16.0.1172.16.1.0/24 -> eth0 -> 10.2.0.3(下一跳)10.2.0.0/24 -> eth0 -> 10.2.0.2
172.16.3.4
10.2.0.2/24
适用于有存储需求的组件,例如 Redis、MongoDB
DaemonSet守护进程
日志组件
设定时段触发扩容/缩容适用于可预知的流量高峰
endpoints
CSI 插件创建的是 CSI Volume
10.2.0.4/24
存活探针
Pod-0
kata
IO利用率
持久化
172.16.0.3
Prometheus
HPC定时伸缩
CSI 插件
例外日期
TLS Bootstrap
如果探测失败就从 EP 移除
工作节点(Node...n)
replica=2
GPU利用率
2. Attach 阶段:挂载磁盘到虚拟机
达到阈值触发扩容/缩容适用于突发流量(需要结合风控)
工作节点(Node2)
172.16.1.4
172.16.2.2
元数据存储etcd
CRI-O
状态存储
工作节点(Node3)
CSI Identity 服务
eth0
Node Controller(节点控制器)
172.16.1.1/24
有序更新
轮询表
CSI Controller 服务
replica=1
~/.kube/config
10.2.0.3/24
External Attacher
网络带宽流量
固定IP
2. 监听 VolumeAttachment 对象
cloud-controller-manager(可选)
Node1 容器访问 Node2 容器
kube-apiserverAPI服务
Secret凭据
Metrics Server(资源采集 & HPA)
Service四层负载
CoreDNS(Servcice服务名解析)
后台
HPA自动伸缩
172.16.1.2
172.16.2.4
基于 Header 切分
PVC持久卷声明
开启 IPVS 模式提高性能
控制平面(Master3)
代理
Helm包管理器
0 条评论
下一页