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

深入解析:k8s学习(二)——kubernetes整体架构及组件解析

k8s集群一般由一至多个master节点和若干个node节点组成,而每个Master节点Node节点都有着不同的组成,本文章在此讲述k8s集群的整体架构和组件的解析。

一,k8s中master节点的组成

master节点上运行的后台服务有:

kube-apiserver:

APl Server是k8s的前端接口,各种客户端工具以及k8s其他组件可以通过它管理集群的各种资源。

kube-scheduler:

scheduer负责决定将pod放在哪个node上运行。另外scheduler在调度时会充分考虑集群的架构,当前各个节点的负载,以及应用对高可用、性能、数据亲和性的需求。

kube-controller-manager:

负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。ControlerManager由多种 controler组成,包括replicationcontrollerendpointscontroller、namespace controller、serviceaccounts controller等。不同的 controller管理不同的资源。例如 replication controller管理 Deployment、StatefulSet、DaemonSet的生命周期,namespace controller管理 Namespace 资源。

Etcd:

存储在ETCD中,当数据发生变化时,etcd会快速的通知k8s相关组件。就是负责保存k8s集群的配备信息和各种资源的状态信息,K8S中所有的服务节点的信息数据、配置信息都

pod网络(flannel):

Flannel 是 Kubernetes 中一种基础的 CNI 插件,借助为每个节点分配独立子网、借助 etcd 同步配置并以 VXLAN 等隧道方式封装跨节点数据包,实现不同节点上 Pod 之间的直接 IP 通信,满足 k8s 对 Pod 网络互通的核心需求。

pod要能够相互通信,k8s集群必须掌握pod网络,flannel是其中一个可选的方案。

二,k8s中node节点的组成

node节点上运行的后台服务有:

kubelet:

node的agent,当scheduler去确定在某个node上运行pod后,会将pod的具体配置信息发送给该节点的kubelet,kubelet会根据这些信息创建和运行容器,并向master报告运行状态。就是kubelet

kube-proxy:

service 在逻辑上代表了后端的多个 Pod,外界通过 service 访问 Pod。service 接收到的请求是如何转发到 Pod 的呢?

这就是 kube-proxy要完成的工作。proxy是配合service实现从pod到service,以及从外部的node port到service的访问。每个 Node都会运行 kube-proxy服务,它负责将访问 service 的 TCP/UPD数据流转发到后端的容器。如果有多个副本,kube-proxy会实现负载均衡。

pod网络(fiannel):

Flannel 是 Kubernetes 中一种基础的 CNI 插件,经过为每个节点分配独立子网、借助 etcd 同步安装并以 VXLAN 等隧道方式封装跨节点数据包,实现不同节点上 Pod 之间的直接 IP 通信,满足 k8s 对 Pod 网络互通的核心需求。

pod要能够相互通信,k8s集群必须掌握pod网络,flannel是其中一个可选的方案。

三,k8s整体效果架构图和通信图

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

相关文章:

  • 2025.11.9博客
  • 硬件基础知识和典型应用-4G模组供电设计推荐
  • 计算机课程在线视频 —— 王道计算机考研 计算机网络
  • 案例研究
  • 深入解析:归档及压缩、重定向与管道操作和综合使用,find精确查找、find处理查找结果、vim高级使用、vimdiff多文件使用
  • 高雅 - Gon
  • AI 测试 智能体30节课
  • BUUCTF-wustctf2020_getshell_2
  • P14359 [CSP-J 2025] 异或和 / xor(官方数据)
  • 从CPython底层解析:为何a=10 b=10复用对象,a=[] b=[]新建对象?
  • 对长度为 n 的数组 arr,调用 `merge_sort(a, 0, n-1)`,在排序过程中,`merge` 函数的递归调用次数大约是多少?
  • 解析SP3D VUE和PDMS RVM文件-PlantAssistant
  • 20251109-3
  • VS Code 1.105正式发布: AI 新特性详解:7 大亮点全面提升智能开发体验 - 详解
  • kettle从入门到精通 第110课 ETL之kettle webspoon的两种部署方式docker+tomcat使用教程
  • 【达梦数据库】性能优化-转正官网
  • Python中`a = 10`的6种读法对比:哪种最贴合名字-对象模型?
  • netgear r6220 路由器,刷openwrt后,体系备份还原
  • 文字识别准确度
  • 原生多模态AI架构:统一训练与跨模态推理的环境实现与性能优化
  • VBA之Word应用第四章第三节:段落集合Paragraphs对象的手段(一)
  • 日记?
  • 2025校运会小记
  • 安卓项目调用摄像头或相机。调用不了相机解决方案
  • 用《西游记》讲透Python name模型:撕最后一张符咒,山为何会消失?
  • 鸿蒙应用开发实战:实现分享卡片保存为图片功能
  • nvidia边缘计算平台 —— Jetson AGX Thor —— 英伟达NVIDIA Jetson AGX Thor 128G开发者套件 AI智能 T5000模组
  • 知识学报:树算法(1)
  • Python 循环引用怎么破?用 weakref 轻松解决 GC 回收难题
  • 实用指南:Starlake:一款免费开源的ETL数据管道工具