Kubernetes分布式架构分析

news/2024/7/5 2:07:03

 

一个Kubernetes平台可以管理几百台容器主机,以及运行在这些主机上的容器应用。如果容器主机采用裸金属服务器,则一台容器主机上运行的容器应用可以超过200个。也就是说,一个 Kubernetes 平台编配的容器应用数量是数千到数万个,要想确保这么多容器应用正常运行,且各自运行在对应的容器主机上,并对这些容器应用的生命周期进行合理管理,就需要Kubernetes自身的架构具有一定的可靠性及比较好的容错能力。Kubernetes 架构自身是一个经典的分布式架构。

图1所示为 Kubernetes 分布式架构设计示意图。分布式架构软件的运行需要多个服务器或虚拟机,一个有效的Kubernetes部署称为一个集群,集群中有多个节点,每个节点可以是物理服务器,也可以是虚拟机,每个节点上运行的操作系统是Linux,且每个节点上都运行着数十到数百个容器。这些节点可以分为两类:控制节点和计算节点,而 Kubernetes 架构的分布式体现在它的控制节点。

 

1 Kubernetes 分布式架构设计

 

控制节点是Kubernetes集群的神经中枢。控制平面包括用于控制集群的Kubernetes 组件以及一些有关集群状态和配置的数据。这些核心Kubernetes 组件负责处理重要的工作,以确保容器以足够的数量和资源运行。控制平面会一直与计算节点的容器主机保持联系。生产环境中控制平面的高可用部署包括三个节点,每个节点上运行的组件相同。

etcd是Kubernetes控制平面最重要的组件,etcd存储着集群的配置数据和集群状态的数据。图1 中 etcd为三节点集群部署,每条键值对的数据会存储到三个节点上,这种容错的设计可以保证每条数据有三个副本,任何一个节点的故障宕机都不会影响控制平面编排调度的正常进行。etcd 提供持久化集群状态数据,使得Kubernetes 集群在面对升级、大范围重启及其他复杂场景时都能运行自如。


http://lihuaxi.xjx100.cn/news/439666.html

相关文章

js处理树形数组扁平化

// 树形数组扁平化const extractTree = (data: TagsParams[]) => {if (!data.length) return [];const list: TagsParams[] = [];const getObj = (arr: TagsParams[]) => {arr.forEach((row: TagsParams) => {let obj = {};obj = JSON.parse(JSON.stringify(row));lis…

虚拟化技术的实现方式

laaS对众多的物理资源进行划分和重组,提供给用户。laaS具体管理的物理资源可以分为三大类:计算资源(CPU、内存)、存储资源和网络资源。从计算资源角度来讲,laaS软件管理的最小的物理单元为一个物理服务器。根据需求,可以在服务器上创建多个虚拟机,如图1所示。配置相同的…

自动驾驶CarSim和Simulink联合仿真的完美攻略!

作者 | 车路慢慢 仿真秀科普作者 导读:大家好,我叫李慢慢,仿真秀专栏作者,某汽车主机厂汽车仿真工程师,正在筹备转岗。自2020年起,我就在仿真秀App分享ANSA教程和攻略,并学习自动驾驶仿真。 中汽院智能网…

基于Java毕业设计传统文化知识竞赛系统源码+系统+mysql+lw文档+部署软件

基于Java毕业设计传统文化知识竞赛系统源码系统mysqllw文档部署软件 基于Java毕业设计传统文化知识竞赛系统源码系统mysqllw文档部署软件本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术&a…

基于Java毕业设计校园募捐系统源码+系统+mysql+lw文档+部署软件

基于Java毕业设计校园募捐系统源码系统mysqllw文档部署软件 基于Java毕业设计校园募捐系统源码系统mysqllw文档部署软件本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、…

uniapp中video层级太高(或者在页面中不跟随页面滚动)解决方案

我觉得这个问题有必要记录一下。最近项目中遇到的问题:项目是uniapp开发,有一个商品详情的页面和一个视频竖向轮播的页面。 问题描述 1、商品详情页上面是图片轮播(包含视频),下面是商品详情,当页面上下滑动时,如果当…

Linux下/dev和/sys/class初探

文章目录引言1. devfs2. sysfssysfs 和 /dev的关系3. procATTR 与 file_operations参考链接:扩展知识引言 在用户空间操控设备可以通过/dev下的设备文件,也可以通过/sys/class下的设备文件。两者到底有什么区别?学习过程中,对于内…

高阶数据结构--图

本篇主要是介绍:图的一些常用的算法。 文章目录 一、图的基本概念二、图的存储结构 1、邻接矩阵2、邻接表三、图的遍历 1、广度优先遍历2、深度优先遍历四、最小生成树 1、Kruskal算法2、Prim算法五、最短路径 1、单源最短路径--Dijkstra算法2、单源最短路径--Bellm…