【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

非云环境中 Kubernetes 的配置和运行:架构概述

  • 2020-08-19
  • 本文字数:2188 字

    阅读完需:约 7 分钟

非云环境中Kubernetes的配置和运行:架构概述

这是非云环境 Kubernetes 的配置和运行系列的第一篇文章,本文将阐述集群架构,给出业界应用集群的各种类型,介绍应用开发的演变过程,帮助读者了解如何脱离云服务来安装和配置 Kubernetes 集群。


想要先睹为快的读者,可直接克隆该项目的 GitHub 代码库。代码库中的文档正在持续改进中,并完全可用。代码库地址为: mvallim/kubernetes-under-the-hood

集群架构图

HAProxy 集群



HAProxy 提供高可用负载均衡器,技术栈中包括浮动 IP 和 Corosync/ Pacemaker集群。


浮动 IP 也称“共享”或“虚拟”IP 地址。浮动 IP 是分配给节点的正常 IP 地址,这些节点最终可能会产生失败。在故障切换(failover)模式下,同处被动(Passive)状态下的节点以 Active/Passive 模式与活动节点(Active)一并运行。一旦节点产生失败,浮动 IP 将透明地自动指派给被动状态节点,确保活动节点避免产生宕机。


每个 HAProxy 负载均衡器配置为用于分担后端应用服务器的流量。一旦主负载均衡器宕机,那么浮动 IP 将自动迁移到第二负载均衡器,保证服务无宕机时间。

Kubernetes 集群

Kubernetes可协调高可用计算机集群。集群中,各台计算机作为单一的单元连接到工作环境。Kubernetes 提供抽象,支持用户将容器化应用部署到集群,无需刻意指定给单台机器。为使用新的部署模型,应用需要以单台主机可解耦的方式打包,即应用需要做容器化。相比以往的部署模型,容器化应用更为灵活,可用性更好。在原有的部署模型中,应用以软件包的方式直接安装到特定机器上,与主机是深度集成的。Kubernetes 在集群间以更高效的方式自动分发和调度应用容器。


Kubernetes 是适用于生产环境的开源平台。

Gluster


GlusterFS是一种适用于云存储和媒体流等数据密集型任务的可扩展网络文件系统。GlusterFS 是免费开源软件,支持当前可用的通用硬件。其中,Gluster 的主要作用是为 Kubernetes Pods 提供文件卷服务。在 Kubernetes 中,GlusterFS 和 其它应用一样受管理和编排。这是一种发挥 GlusterFS 卷预先配置(provisioned)、持久化功能的很好方式。

集群的定义

从英文词意上看,集群(Cluster)的同义词是“聚集”(agglomerate)或“集结成团”(agglomeration)。该术语可应用于多种场景。对于计算场景,该术语定义了一种组合多台计算机共同工作的系统架构。


每台工作站称为集群的一个“节点”,节点组成了集群。在一些情况下,相同应用场景中可能还会使用“超算”(supercomputers)或“集群计算”(cluster computing)等术语,表示用于组合使用所有设备而开发的硬件或者软件,


参考: https://en.wikipedia.org/wiki/Computer_cluster

集群是如何形成的?

看上去,将多台计算机聚集在一起完成同一工作非常简单,但事实上并非如此。针对如何高效构建集群,最早的工作由 IBM 在上世纪 60 年代开展,并一直持续发展。此类工作的目标总是增加集群的效率,即优化所有资源的完全使用,并支持集群的动态扩展。

集群是否千篇一律?

不是的。根据所关注的集群特性不同,存在多种类型的集群,适用于不同的任务和特定的市场。下面列出四种类型的集群:

故障切换(Failover),或称为高可用(HA,High Availability)

正如其名,该类集群主要设计用于保持应用持续可用、可响应。无论集群中每个节点的状态如何,最重要的是保持系统能提供服务。由此,多个节点以冗余方式工作,对用户而言是不可见的。为介绍该理念,可以想象为篮球运动中的替补队员。他们与首发队员具有相同的角色,事实上是首发队员的备份,总是保持热身状态在场外等待。如果首发队员出于某种原因需要离场,那么替补队员可以立刻上场。在没有明确告知的情况下,观众和其他队友可能不会关注到这一点。此类集群通常用于电子邮件等宕机不可接受的服务。


负载均衡(Load Balancing)

在此类架构中,所有节点都加载了需执行的任务。任务总是分发给组成系统的各节点,节点对所接收的流量请求或提供资源做出响应。从字面上看,该类架构可描述为一种“齐心协力”工作的方式。对执行复杂任务,可使用所有可用资源组合而成的计算能力。此类架构模型主要关注的是性能。如果任何一个节点宕机,就会从系统中移除,任务将在剩余集群中重新分配。


并行处理(Parallel Processing)

在此类集群架构中,大型任务被分割为多个低复杂度的活动,并在系统中分发,由组成集群的多个节点并行执行。因此,此类型集群特别适合于非常复杂的计算任务。大体而言,这类似于将具有 5000 块的拼图分发给 10 位朋友,每个人负责拼出 500 块的拼图。一旦每个朋友完成了自己的部分,各部分拼图组合在一起,就能完成整个拼图(大家都知道 MapReduce 吧)。


组合模型(Combined Models)

在一些情况下,系统可能会优先考虑稳定性而非性能,或是反之。例如,邮件传输代理(MTA)服务器或电子邮件服务器同时需要稳定性和性能。这样,企业可考虑组合负载均衡和高可用的集群。系统组合各类型集群的处理能力,同时具有包括冗余节点的内部网络,以避免服务宕机。

Kubernetes 属于那种类型?

Kubernetes 使用的是组合方式。对于容错和高可用方面,Kubernetes 可以调度或重新调度 Pods 运行在不同节点上。即便一个或多个节点宕机,也能保持应用可用。对于负载均衡方面,它可以将请求分发给运行在不同节点上的 Pod,以免特定节点成为处理中的热点,最终影响应用的整体性能。


原文链接:


Kubernetes Journey — Up and running out of the cloud — Architecture Overview


2020-08-19 10:221272

评论

发布
暂无评论
发现更多内容

数据中心建设很复杂,但选择却能很简单:华为数据中心的多维创新

Canal Admin 高可用集群使用教程

Se7en

netty系列之:在netty中处理CORS

程序那些事

Java Netty 程序那些事 响应式系统

Opus从入门到精通(二):编解码器使用

轻口味

android 音视频 编解码 9月日更

穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)

阿里云视频云

人工智能 云计算 阿里云 行业资讯 视频云

商务礼仪培训PPT模板-优页文档

momo

免费PPT模板 优页文档

建立测试自动化策略【译】

FunTester

自动化测试 测试框架 测试管理 测试策略 FunTester

《鸿蒙理论知识05》HarmonyOS概述之下载与安装软件

孙叫兽

鸿蒙 鸿蒙系统 引航计划

如何将外连接向内连接转换?

华为云开发者联盟

sql 数仓 GaussDB(DWS) 外连接 内连接

部门经理竞聘报告PPT模板-优页文档

momo

模板 优页文档 优页文档PPT模板

Python——静态方法与类方法、类的导入

在即

9月日更

简单聊聊汽车OTA给OEM和Tire1带来的变化

SOA开发者

程序员 职业成长 汽车

计划会议要开始了,产品负责人却没来…

华为云开发者联盟

Scrum PO 开发团队 计划会议 Sprint

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者平台

软件 车联网 物联网 汽车

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者

软件 SOA

Apollo 配置中心详细教程

牧小农

Apollo 阿波罗

《鸿蒙理论知识03》HarmonyOS概述之系统安全

孙叫兽

鸿蒙 鸿蒙开发 鸿蒙系统 引航计划

《鸿蒙理论知识06》HarmonyOS概述之应用开发基础知识

孙叫兽

鸿蒙 HarmonyOS 鸿蒙系统 引航计划 领航计划

乘着汽车智能化的浪潮,“汽车人”职业方向的选择(一)

SOA开发者

软件 职业成长 汽车

Vue进阶(幺幺玖):element-ui table组件适应性问题(横向滚动条)

No Silver Bullet

Vue 9月日更

3年才能驾驭新技术,不如试试这个低代码魔方

华为云开发者联盟

低代码 开发 华为云应用魔方 应用程序 魔方

《鸿蒙理论知识04》HarmonyOS概述之系统定义

孙叫兽

鸿蒙 鸿蒙系统 引航计划

MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

华为云开发者联盟

hadoop mapreduce 排序 侧连接 联接

云原生时代,你真的懂Docker和LXC的区别吗?

行云创新

Docker 容器 微服务 云原生 LXC

分布式系统中协调和复制技术的原理

博文视点Broadview

百度智慧输入,会是企业降本增效的“新生产力”吗?

ToB行业头条

百度 企业服务 百度输入法

北京大学医疗科技风论文答辩PPT模板-优页文档

momo

PT模板 优页文档

28分钟完成一款Python游戏,《客服戏翻总裁牌》

梦想橡皮擦

9月日更

模块3-作业

笑看风雨情

架构实战课程 模块三作业

Frank

终于完成了私有NPM和PYPI repo的搭建

DisonTangor

npm nexus pypi

非云环境中Kubernetes的配置和运行:架构概述_服务革新_Marcos Vallim_InfoQ精选文章