「容器云架构」K8s 多区域部署介绍

news2025/4/7 5:20:54

ef6d1b33673f35c62f3f64068ad4fd7c.jpeg

背景

Kubernetes的设计使得单个Kubernetes集群可以跨多个故障区域multiple failure zones运行,通常这些区域(zones )位于称为区域(region)的逻辑分组中。主要的云提供商将一个区域定义为一组故障区域 failure zones(也称为可用性区域availability zones),这些区域提供一组一致的功能:在一个区域内,每个区域提供相同的api和服务。

典型的云架构旨在将一个区域中的故障同时损害另一个区域中的服务的可能性降至最低。

控制平面行为

所有控制平面组件都支持作为一个可交换资源池运行,每个组件复制一个。

部署群集控制平面时,请跨多个故障区域放置控制平面组件的副本。如果可用性是一个重要问题,请选择至少三个故障区域,并跨至少三个故障区域复制每个单独的控制平面组件(API服务器、调度器、etcd、群集控制器管理器)。如果您正在运行一个云控制器管理器,那么您还应该在您选择的所有故障区域中复制它。

注意:Kubernetes不为API服务器端点提供跨区域弹性。您可以使用各种技术来提高集群API服务器的可用性,包括DNS循环、SRV记录或具有运行状况检查的第三方负载平衡解决方案。

节点行为

Kubernetes自动将工作负载资源(如部署或状态集)的pod分布在集群中的不同节点上。这种传播有助于减少失败的影响。

当节点启动时,每个节点上的kubelet会自动向节点对象添加标签,该对象在kubernetesapi中表示特定的kubelet。这些标签可以包含区域信息。

如果集群跨越多个区域或区域,则可以将节点标签与Pod拓扑扩展约束结合使用,以控制Pod如何在容错域(区域、区域甚至特定节点)之间跨集群扩展。这些提示使调度器能够放置pod以获得更好的预期可用性,从而降低相关故障影响整个工作负载的风险。

例如,您可以设置一个约束,以确保StatefulSet的3个副本都彼此在不同的区域中运行,只要这是可行的。您可以声明性地定义它,而无需显式地定义每个工作负载使用的可用性区域。

跨区域(Zone)分布节点

Kubernetes的核心并不为您创建节点;您需要自己创建节点,或者使用集群API之类的工具代表您管理节点。

使用诸如clusterapi之类的工具,您可以定义作为集群的工作节点跨多个故障域运行的计算机集,以及在整个区域服务中断时自动修复集群的规则。

Pods的手动区域分配

可以将节点选择器约束应用于创建的Pod,以及工作负载资源(如部署、状态集或作业)中的Pod模板。

区域(zone)的存储访问

创建持久卷时,PersistentVolumeLabel许可控制器会自动向链接到特定区域的任何持久卷添加区域标签。然后,调度器通过其NoVolumeZoneConflict谓词确保声明给定PersistentVolume的pod只放置在与该卷相同的区域中。

您可以为PersistentVolumeClaimes指定一个StorageClass,它指定该类中的存储可能使用的故障域(区域)。要了解如何配置可识别故障域或区域的StorageClass,请参阅允许的拓扑。

网络

Kubernetes本身并不包括区域感知网络。您可以使用网络插件来配置集群网络,并且该网络解决方案可能具有特定于区域的元素。例如,如果您的云提供商支持type=LoadBalancer的服务,那么负载平衡器可能只向运行在与处理给定连接的负载平衡器元素所在的同一区域中的pod发送流量。有关详细信息,请查看云提供商的文档。

对于自定义或内部部署,也需要考虑类似的问题。服务和入口行为(包括对不同故障区域的处理)确实有所不同,具体取决于集群的设置方式。

故障恢复

在设置集群时,您可能还需要考虑,如果某个区域中的所有故障区域同时脱机,安装程序是否以及如何恢复服务。例如,您是否依赖于一个区域中至少有一个节点能够运行Pods?

确保任何群集关键修复工作都不依赖于群集中至少有一个正常节点。例如:如果所有节点都不正常,则可能需要运行具有特殊容差的修复作业,以便修复可以完成到足以使至少一个节点投入服务的程度。

Kubernetes并没有回答这个挑战,但是,这是值得考虑的问题。

03c86759579090b6e6fbfcb5844dfd06.jpeg

本文 :https://architect.pub/running-k8s-multiple-zones
讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】
公众号

【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
6ffc57dc4ee05214d86782e001dca1d3.jpeg
微信小号

【ca_cea】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

dccaed93fa699a816a1b9ac675b34a77.jpeg

QQ群

【285069459】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

35de8289c0ece97933727bdbce89da08.jpeg

视频号【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

0111e44ba1a411bf0e088ba3dc7ed4e4.jpeg

知识星球【首席架构师圈】向大咖提问,近距离接触,或者获得私密资料分享。

06f5534e7ee7301bd73033760b0faf98.jpeg

喜马拉雅【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。【智能时刻,架构君和你聊黑科技】
知识星球认识更多朋友,职场和技术闲聊。知识星球【职场和技术】
领英Harryhttps://www.linkedin.com/in/architect-harry/
领英群组领英架构群组
https://www.linkedin.com/groups/14209750/
微博‍‍【超级架构师】智能时刻‍
哔哩哔哩【超级架构师】

e6d4513fa074dc52ed3480f004e2ff11.jpeg

抖音【cea_cio】超级架构师

36604f48b58d49def1f692e7ed607ad6.jpeg

快手【cea_cio_cto】超级架构师

0d519d2f53159fa4f7ad331ac62acfd4.jpeg

小红书【cea_csa_cto】超级架构师

1f730b76ae0c25bb67254affff63462d.jpeg

网站CIO(首席信息官)https://cio.ceo
网站CIO,CTO和CDOhttps://cioctocdo.com
网站架构师实战分享https://architect.pub   
网站程序员云开发分享https://pgmr.cloud
网站首席架构师社区https://jiagoushi.pro
网站应用开发和开发平台https://apaas.dev
网站开发信息网https://xinxi.dev
网站超级架构师https://jiagou.dev
网站企业技术培训https://peixun.dev
网站程序员宝典https://pgmr.pub    
网站开发者闲谈https://blog.developer.chat
网站CPO宝典https://cpo.work
网站首席安全官https://cso.pub    ‍
网站CIO酷https://cio.cool
网站CDO信息https://cdo.fyi
网站CXO信息https://cxo.pub

谢谢大家关注,转发,点赞和点在看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux高性能服务器编程|阅读笔记:第7章 - Linux服务器程序规范

目录 简介系列笔记7.1 日志7.1.1 Linux系统日志7.1.2 syslog函数7.2 用户信息7.2.1 UID、EUID、GID和EGID7.2.2 切换用户7.3 进程间关系7.3.1 进程组7.3.2 会话7.3.3 用ps命令查看进程关系7.4 系统资源限制7.5 改变工作目录和根目录7.6 服务器程序后台化结语简介 Hello! 非常感…

基于html+css的图展示50

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【UE】高级载具插件-02-坦克开火

1. 添加开火的操作映射 2. 创建一个actor蓝图类,添加一个静态网格体组件 添加发射物移动组件 设置初始速度和最大速度 发射物重力范围设为0.05 添加音频组件 设置音效 3. 打开炮管的静态网格体 在插槽管理器中创建插槽 将创建的插槽放到炮口位置 4. 打开“BP_BaseT…

《物联网安全关键技术白皮书》解读

物联网技术作为物理世界与信息世界融合的具象体现,有效地连接分离的物理世界和信息空间,囊括了传感器网络、通信网络以及互联网,构建物与物互联、人与物互联、人与人互联的协同共生关系,推进了信息产业的新变革,同时也…

南大通用数据库-Gbase-8a-学习-35-rmt(远程导出数据文件)

目录 一、测试环境 二、引入 三、rmt导出流程 四、Linux环境模拟实验 1、不加rmt导出数据 2、加rmt导出数据 一、测试环境 名称值CPUIntel(R) Core(TM) i5-1035G1 CPU 1.00GHz操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2目的端Gbase8a版本8.6.2-R43源…

单词背诵 2023.5.8

preceding dawn sunset segregate restless oblige mature martial vital virtually

PHP+MYSQL——大学生心理健康测试网站源码

一、功能 前台功能: 1、心理百科、心理书籍、心理健康测试 2、用户注册、用户登录、重置密码、退出登录、个人信息修改 3、心理健康测试成绩查看、心理健康状态解决办法 4、预约心理咨询师、预约审批查看 5、留言板 后台功能: 1、后台登录、修改管理员…

【C++】1.语言基础:八股文

心口如一,犹不失为光明磊落丈夫之行也。——梁启超 文章目录 :smirk:1. 语言基础内存分配指针参数传递和引用参数传递四种强制转换面向对象的三大特性并举例#define 和别名 typedef 的区别 :blush:2. 标准库STL介绍频繁调⽤ push_back() 的影响i 和 i 的区别⼤端⼩…

ePWM模块(1)

ePWM模块 ePWM模块内部包含有7个子模块,分别是时间基准子模块TB、比较功能子模块CC,动作限定子模块AQ、死区控制子模块DB、斩波控制子模块PC、事件触发子模块ET和故障捕获子模块TZ。 每个ePWM模块都具有以下功能: 可以输出两路PWM,EPWMxA和EPWMxB两路PWM可以独立输出,也可…

数字座舱带动液晶仪表升级,哪些企业「领跑」前装量产份额

作为人机交互的关键一环,传统汽车机械仪表也在经历数字化、智能化的升级。尤其是整车智能化的升级、电动化的转型,传统仪表存在反应慢、精度低和显示方式单一的缺点,已经不能满足市场要求。 比如,相比于传统机械式仪表&#xff0…

Qt5.9学习笔记-事件(五) 事件调试和排查

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三…

vue+node.js高校青年志愿者管理系统

1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。 2.系统用户管理:不管是…

软件设计师内容记载

栈和队列 栈是按照 先进后出或者 后进先出,队列是先进先出 栈只能在栈顶进行插入和删除,栈底不动。 队列是在一端插入,一端删除。 允许插入的是队尾,允许删除的是队头。 循环队列: 队头 队尾:队尾指针指向的…

PXI 国产化测试系统中数据采集与分析软件的设计

数据采集与分析系统需求分析和总体设计 数据采集与分析系统是 PXI 测试系统的上位机软件子系统,在系统中有着重 要的作用。本章将首先简要介绍 PXI 测试系统,分析其整体结构与功能,说明数 据分析系统与 PXI 测试系统的关系&#xff…

每天一道算法练习题--Day25 第一章 --算法专题 --- ----------单调栈

单调栈 栈是什么?栈的常用操作栈的常用操作时间复杂度应用及题目推荐 单调栈又是什么?适用场景伪代码代码题目推荐 总结 顾名思义, 单调栈是一种栈。因此要学单调栈,首先要彻底搞懂栈。 栈是什么? 栈是一种受限的数据…

国产安全芯片,请关注他们!

一、华大电子 http://www.hed.com.cn/ 1.1 公司简介 北京中电华大电子设计有限责任公司 (简称“华大电子”)成立于2002年6月,是国家认定的高新技术企业,是国内最早的集成电路设计企业之一,是中国安全芯片产业的核心…

【ROS】如何让ROS中节点实现数据交换Ⅱ --服务通信

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法…感兴趣就关注我吧!你定不会失望。 本章将介绍如何通过服务通信的方式实现节点数据交换以及ROS相关指令 本章将介绍如何通过服务通信的方式实现节点数据交换以及ROS相关指令…

【数据结构与算法】常用数据结构(二)

😀大家好,我是白晨,一个不是很能熬夜,但是也想日更的人✈。如果喜欢这篇文章,点个赞👍,关注一下👀白晨吧!你的支持就是我最大的动力!💪&#x1f4…

asp.net+sqlserver基于web的奖学金助学金评定系统

管理员部分功能 管理员管理,管理系统内的所有管理人员信息 1.学生信息管理,管理系统内需要进行奖助学金评定的学生信息 2.教师信息管理,管理学院内的所有教师信息 3.一级指标管理,管理奖助学金评定过程中的一级指标内容 4.二级指标…

IPC:匿名管道和命名管道

一 管道初级测试 写两个小程序&#xff0c;一个负责向管道发数据&#xff0c;一个从管道接收数据&#xff1b; pipe.cpp #include <iostream> using namespace std;int main() {cout << "hello world" << endl;return 0; } pipe2.cpp #inclu…