k8s-架构

一、Kubernetes是什么

编排和调度容器的软件,方便实现服务发现,伸缩自愈等功能。

二、Kubernetes集群架构

一文讲清K8S整体架构 - 知乎

2.1 Master节点(集群控制节点)

Master节点是集群的控制节点,由API Server、Manager Controller、ETCD、Scheduler四个组件构成。

API Server:唯一操作ETCD入口,提供REST API(包括数据授权,校验,集群状态变更)。模块交互中心,负责Master模块之前,Master与Worker模块之间交互。

Controller Manager:集群级功能,例如复制组件,跟踪Node节点,处理节点故障等等。

ETCD:集群、Pod 等持久话信息存储。

Scheduler:应用组件调度。

2.2 Node节点(容器运行节点)

Kubelet:kubelet主要负责同Container Runtime打交道,并与API Server交互,管理节点上的容器。(Master在Node上的代理,管理容器声明周期。每个节点上都运行一个 kubelet 服务进程,默认监听 10250 端口,接收并执行 master 发来的指令,管理 Pod 及 Pod 中的容器。每个 kubelet 进程会在 API Server 上注册节点自身信息,定期向 master 节点汇报节点的资源使用情况,并通过 cAdvisor 监控节点和容器的资源。)

Kube-Proxy:在Node上实现Pod的网络代理。解决节点上应用的访问问题。

Container Runtime: 运行容器。

三、Pod创建流程

1、用户通过kubectl发起Pod创建请求,API Server接收创建Pod请求,将yaml信息记录到ETCD上。

2、Scheduler通过API Server watch 接口,Scheduler寻找合适Node分配Pod资源,将Pod绑定信息,返回API Server并让其记录到ETCD。

3、API Server 发送Pod信息给kubelet,kubelet操作Container runtime完成Pod容器创建。并返回状态结果记录到ETCD。调用CNI接口给pod创建pod网络,调用CRI接口去启动容器,调用CSI进行存储卷的挂载(网络,容器,存储卷)。

详见如下流程图和时序图展示Pod创建流程

相关推荐
袁煦丞 cpolar内网穿透实验室1 小时前
Portainer可视化玩转 Docker 全流程。cpolar 内网穿透实验室第 737 个成功挑战
运维·docker·容器·远程工作·内网穿透·cpolar
智在碧得2 小时前
弹性智变!Knative+ACK 构建云原生伸缩架构,解锁降本稳流新范式
云原生·架构·knative
机 _ 长2 小时前
Docker 容器环境安装配置指南 (CentOS Stream 9)
docker·容器·centos
小二·2 小时前
Go 语言系统编程与云原生开发实战(第36篇)
开发语言·云原生·golang
July_102 小时前
凌晨 3 点的报警:K8s 集...
kubernetes
petrel20152 小时前
【Spark】性能与联通性的终极博弈:Spark on K8s 主机网络改造深度实战
大数据·网络·spark·kubernetes·claude code
切糕师学AI2 小时前
Kubernetes CRD(自定义资源,CustomResourceDefinition)详解
云原生·容器·kubernetes
秋氘渔2 小时前
Docker容器化部署实战指南:Django+Vue
运维·docker·容器
小狗很可爱3 小时前
利用Docker建立个人博客
运维·docker·容器
玉梅小洋3 小时前
修改 Docker 容器主机名
运维·docker·容器