当前位置: 首页 > news >正文

K8S最全详解 - 智慧园区

K8S

K8S,全程是“Kubernetes”,是一个开源的容器编排平台,用于自动化应用的 部署、扩展和管理。

K8S,最早由 Google 开发,后捐赠给 CNCF,如今已经成为 云原生领域的事实标准。

 

K8S 解决了在生产环境中管理大量容器的复杂性。

K8S 不仅是容器管理工具,更是一套用于构建云原生平台的基础设施。

K8S,把运维复杂度转化为可声明、可自动化管理的体系。

 

K8S架构

K8S 采用 主从架构(Master-Node 架构),如下图所示:

 

Master 节点(控制平面 Control Plane):负责集群的管理与调度,相当于“大脑”。

Node 节点(工作节点 Worker Node):运行实际的容器化应用,相当于“手脚”。

 

K8S原理

所有组件通过一个统一的 API Server 进行通信,集群的当前状态和期望状态则存储在一个叫做 Etcd 的分布式数据库中。

1.API Server

API Server:这是 K8S 的核心前端。

所有内部和外部组件(如 kubectl 命令、Kubelet)都必须通过它来与集群交互。

如下图所示:

 

特点:无状态、可水平扩展(通过负载均衡器对外暴露多个实例)。

集群的唯一入口,提供 RESTful API。

负责认证、鉴权、准入控制、资源...等等变更通知。

 

2. Scheduler

负责 Pod 调度,决定 Pod 运行在哪个 Node 节点。

调度过程包括过滤(筛选可用节点)、打分(选择最优节点)、绑定(分配 Pod)。

 

3. Controller Manager

负责多种控制循环(Control Loop),如节点控制器、复制控制器、端点控制器等。

 

例如,Deployment Controller :负责确保 Pod 的副本数量,始终符合你设置的数量。

 

4. etcd

分布式一致性键值存储,保存集群的持久化状态(所有 API 对象)。

提供强一致性(Raft 协议),对高可用控制面至关重要。

 

5.kubelet

Kubelet:这是每个节点上的核心代理。

它与主节点上的 API Server 通信,接收 Pod 的配置清单,并确保这些 Pod 中描述的容器在节点上运行和健康。

 

它还负责向 API Server 报告节点和 Pod 的状态。

 

6.kube-proxy

Kube-proxy:这是一个网络代理,负责管理节点上的网络规则。

它确保 Service 的请求能够正确地路由到后端的 Pod 上,实现 Pod 之间的网络通信和负载均衡。

 

7.容器运行时(Container Runtime)

 

Container Runtime(容器运行时):这是真正运行容器的引擎。Kubelet 依赖它来创建、启动和停止容器。

最常见的容器运行时是 Docker,但现在也支持 containerd 和 CRI-O 等。

 

K8S工作流程

整体工作流程,如下:

 

用户通过 kubectl 或 API Server 提交应用配置。

Master 组件(Scheduler、Controller Manager)做决策并存储状态(etcd)。

Node 节点上的 Kubelet 执行任务,启动 Pod 并汇报状态。

Kube-Proxy 负责服务发现与负载均衡,保证 Pod 可访问。

http://www.jsqmd.com/news/30445/

相关文章:

  • 11/3
  • ICPC2025 武汉站 游记
  • 25.11.03
  • win10安装neo4j-community-3.5.7-windows
  • 工作感受月记(202511月)
  • 基于Blocking queue的生产消费模型
  • React中useContext的基本使用和原理解析
  • JDK的安装过程
  • 阅读笔记0
  • File文件操作
  • 越南航空数据泄露事件深度解析
  • P11261 [COTS 2018] 直方图 Histogram
  • 2025csp-j游记(废物版)
  • leetcode55. 跳跃游戏 45. 跳跃游戏 II
  • 个体户办理食品经营须知
  • redux-thunk和createAsyncThunk
  • 2025.11.3——1绿1蓝
  • Next.js路由段配置选项笔记
  • 2025.11.3 - A
  • 【每日一面】实现一个深拷贝函数
  • 【AI说Rust 01】Rust 的学习路线
  • 若依后端验证码实现
  • 解码LVGL事件
  • 11.3号学习内容
  • P11771 题解
  • CSP-S 2025 饭堂寄
  • 如何在github上使用github免费域名下预览自己的项目
  • 在ROS中安装PX4依赖实现Gazebo仿真
  • 20232314 2024-2025-1 《网络与系统攻防技术》实验四实验报告
  • 二、驱动基础(基于北京迅为电子)