基于容器PaaS云技术平台方案

2023-11-19

2ffcd0b54645b61ac9fd8b055950e71c.gif

本文以容器技术建设 PaaS(平台即服务)云平台的解决方案为例,分析其如何实现系统资源的集中管理、动态分配、监控、共享和调度,如何实现应用的统一部署和业务连续性保障,实现多数据中心的高可用,推动系统架构及流程的调整,应对云计算时代所带来的变革。

通过引进Docker、Kubernetes等技术和搭建微服务架构模式来减少对现有应用的影响,即将应用程序分割成更小的相互关联的服务,并采用容器化技术进行微服务的封装、部署、管控。这些服务围绕业务能力构建并且可独立部署,方便地为不同类型的微服务提供差异化的管理策略。

以容器技术为核心的支撑技术框架既满足当前业务支撑系统发展的实际需求,又具有支撑未来业务高速发展的技术先进性。该技术架构主要分为以下几层。

d25037e534adfb5a7e0b591dea0d0f10.png

1)资源管理层

OpenStack 或裸机资源池,即 IaaS 基础设施层,提供上层获取资源的接口。 

2)公共服务层

通过基于 Docker 和 Kubernetes 的容器化服务提供平台层服务,在其上部署基础服务和用户自定义的服务,并通过微服务的组合和编排组成对外能力开放平台,提供业务级的服务组合,供应用层通过 REST 接口调用。

3)应用层

提供用户访问、运维管理的入口门户,通常 以 Web 服务或 REST API 方式提供给客户端(浏览器、智能终端或外部系统)进行访问。

Docker 是容器技术的一种,它运行于 Linux宿主机上,每个运行的容器都使用操作系统的内核隔离功能,是轻量的虚拟技术,更加高效,启动速度更快,且可以屏蔽开发、测试及生产环境的区别,实现更轻松的迁移和扩展,提高开发、测试、部署、升级及维护的效率。

Kubernetes是基于容器技术、采用分布式架构的一种集群管理解决方案,它具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、 内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。

应用拆分和服务部署方式

PaaS 云平台引入微服务架构,并采用容器化技术进行微服务设计、编排、授权和配置,解除应用间的紧耦合和依赖。针对 IT 支撑系统多种多 样的应用及业务,本文根据使用频次、服务调用开销不同,采用不同策略进行划分和分布式部署。几种应用拆分方式介绍如下。 

(1)针对 HTTP/soap 应用,采用开源缓存集群部署,将应用和 MySQL 数据库放在一个镜像(image)中,将会话(session)数据放在第三方 缓存,实现快速的水平扩张,可满足类似电渠查询类业务的高峰值交易量需求。

(2)针对纯计算类应用,如不涉及数据库的DCC 应用模块,通过容器化提供大量计算能力,并通过对主控端(master)的多节点部署保障其高可用性。

(3)针对 MySQL 类集群进行容器化改造,通过主从复制及共享存储备份解决数据服务的高可靠和安全性,并且可达到裸机的性能和更好的高可用性。

拆分后的微服务粒度小,轻便灵活,可实现复杂多种应用场景的敏捷交付。通过容器技术进行服务设计、编排、授权、配置,可解除应 用间的紧耦合和依赖,为业务系统升级和扩展提供了良好的技术基础,极大地提高运维效率和系统性能。

多集群资源的统一纳管

PaaS 云平台通过下述方式实现资源统一管理功能。

(1)经过证书认证之后,通过 Kubernetes API服务器对集群进行纳管,导入集群的节点数量、配置等信息,并补充机房、机架等信息。 

(2)将所纳入集群和租户进行绑定,把集群分配给不同的指定租户。可为每个业务建立独立的租户,安全隔离不同租户的资源和访问权限。根据业务大小,通过分区或分集群的方式实现安全隔离,既保证各业务的独立性又保障资源的共享。

(3)租户可以继续对集群资源进行分区,部署不同的应用,实现不同配置的主机共存。租户也可以对集群资源根据应用和业务进行划域隔离,保障安全。如将 Web 类应用和 proxy 应用部署在 DMZ 和互联网域,采用 Kubernetets+Docker容器技术,具备轻量但弹性扩展需求强的特点;可将包含大量的计算类、服务类、分析类应用部署在核心区,引入 Mesos 技术搭建分布式系统内 核,构建巨大的计算集群。

通过使用 Kubernetes 多集群统一管理,后台运维人员可以很方便地了解资源情况,如系统集群数量、每个集群分配的机器数量及配置、机房条件、资源利用率等。该功能大幅度提升后台运维人员对系统的管理和监控力度,为多集群、多数据中心间的资源调配奠定基础。

多集群、多数据中心之间的高可用

PaaS云平台的多数据中心、多集群的高可用主要应用场景如下。 

1、多集群的统一服务部署由 Kubernetes 管理平台自动化部署模块统一对各数据中心进行服务自动化安装部署。可以定 义同一个服务在不同数据中心的 Kubernetes 集群统一部署,并且可以定义在每个集群部署服务的容器实例的比例,如可按 6:4 的比例在集群 A 和 集群 B 上部署服务。

2、灰度升级 由 Kubernetes 管理平台自动化部署模块统一对各数据中心自动化进行服务升级。可以实现先在一部分集群部署新版本,稳定之后再平滑升级全部的节点。 

3、动态集群间业务调整业务高峰期当一个数据中心容量不足时,由Kubernetes 管理平台自动进行服务动态扩展,启动容灾数据中心的部分服务来支撑业务。

4、业务高可用当主数据中心发生故障时,由 Kubernetes 管理平台自动进行容灾切换,由容灾数据中心自动 接管所有业务服务。

基于容器技术的 PaaS平台,可实现 IT 支撑系统跨多个网络域、跨多个数据中心的复杂多集群环境的集中管理,且通过多集群统一部署可大幅度提升软件新版本的上线效率。通过容器技术和立体化监控,可全方位监控各集群的资源整体利用率,并通过多集群间动态部署容器数量,实现灵活的水平扩展能力。但考虑容器技术作为一个较新的技术,在推动容器技术的标准化和规范化、实现更多应用的重构及统管、构建统一化的服务组件等方面,仍需要持续关注和研究。

作者:齐磊,张海峰,张天骁,祝好,陈旭

Linux学习指南
有收获,点个在看
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于容器PaaS云技术平台方案 的相关文章

随机推荐

  • 达芬奇传

    列奥纳多 迪 皮耶罗 达 芬奇 出生于1452年 1519年逝世 享年67岁 画家 发明家 科学家 生物学家 工程师 达 芬奇的意思是 来自芬奇镇 他的名字叫做列奥纳多 达 芬奇的父亲叫瑟 皮耶罗 达 芬奇 是佛罗伦萨的法律公证员 因此十分
  • git:批处理启动Git-Bash窗口并显示特定目录

    参考 使用批处理脚本 在特定目录中启动Git Bash窗口
  • 【数据结构】复杂度

    博客主页 小王又困了 系列专栏 数据结构 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 一 什么是数据结构 二 什么是算法 三 算法的效率 四 时间复杂度 4 1大O渐进表示法 4 2常见时间复杂度计算举例 4 3例题 消失的数字
  • StarkNet 批量交互 mint 铸造 js 脚本

    代码使用 starknet 模块与 StarkNet 网络进行交互 通过读取私钥文件和执行铸造操作来创建 NFT 非同质化代币 它通过批量运行的方式处理多个私钥和地址对 并将结果输出到控制台和日志文件中 代码的详细步骤 导入模块和变量 co
  • QT5串口编程----线程循环发送不成功问题

    今天想写一个QT5的串口编程 能够循环发送数据 想具体到us级别 不需要设置ms发送 所以想用一个线程一直发送 关键问题是碰到在线程循环发送竟然发不出去 见鬼了 最后找到问题是要在每次发送后要判断waitForBytesWritten是否发
  • jmeter接口测试,CSV数据文件引用,参数化

    1 新增一个Excel文件 填写会用到的变量数据 2 将文件保存为CSV格式文件 3 在jmeter里添加 CSV数据文件配置 导入登录的用户和密码数据等信息 在jmeter里引用Excel转化的CSV格式数据文件 说明 带入的数据依次是
  • RTKLIB源码解析(一)、单点定位(pntpos.c)

    目录 pntpos satposs estpos raim fde estvel ephclk satpos satsys seleph eph2clk ephpos eph2pos rescode lsq valsol matmul do
  • 计算机视觉入门之构建一个扫描仪

    源代码 import the necessary packages from transform import four point transform from skimage filters import threshold local
  • tengine [emerg] invalid IPv6 address in resolver “[fe80::1%enp2s0]“ in .../nginx.conf:137

    错误 nginx emerg invalid IPv6 address in resolver fe80 1 enp2s0 in usr local nginx conf nginx conf 137 解决 1 vim etc resolv
  • kafka(三)重平衡

    历史文章 kafka 一 kafka的基础与常用配置 文章目录 一 kafka消费者组 二 重平衡 Rebalance 2 1 重平衡触发条件 2 2 重平衡策略 2 2 1 Range 平均分配 2 2 2 RoundRobin 轮询分配
  • 独家

    作者 Damir Yalalov 翻译 陈超 校对 赵茹萱 本文约1100字 建议阅读5分钟 本文介绍了ChatGPT如何解决简单的机器学习任务并给出了鸢尾花分类和城市预测两个案例 一句话概括 ChatGPT可以帮助你完成简单的机器学习任务
  • ldconfig: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

    libcuda so
  • 【宠粉福利】这次我们准备了 iPhone 12、AirPods Pro、罗技鼠标等大礼等你来领!...

    喜迎开学季 C 站开豪礼 最高可开 iphone 12 盲盒开出的不只是一份礼物 更是对于一切美好的期待 拆开一个盲盒 就像开始一场未知的爱丽丝梦游仙境 为 两点一线 朝九晚九 的生活 埋下一刻期待的种子 去收获一份未知的惊喜 这次 价格再
  • CentOS 7 关闭网络限制

    1 安装CentOS 7 3操作系统mini版本即可 2 设置关闭Selinux 编辑 etc selinux config vi etc selinux config SELINUX disabled 重启机器 查看selinux状态 s
  • C++中的namespace

    namespace中文意思是命名空间或者叫名字空间 传统的C 只有一个全局的namespace 但是由于现在的程序的规模越来越大 程序的分工越来越细 全局作用域变得越来越拥挤 每个人都可能使用相同的名字来实现不同的库 于是程序员在合并程序的
  • 手撕计算机网络——应用层(四):P2P

    前言 进入应用层学习也有了一段时间了 接下来的这篇文章中小荔枝会将应用层P2P结构体系于我们客户 端系统体系在分发文件中的机理进行整理 希望今天能结束应用层学习哈哈哈 运输层我来啦 目录 前言 一 P2P的自拓展性 二 BitTorrent
  • 【高德地图API】从零开始学高德JS API(八)——地址解析与逆地址解析

    摘要 无论是百度LBS开放平台 还是高德LBS开放平台 其调用量最高的接口 必然是定位 其次就是地址解析了 又称为地理编码 地址解析 就是将地址转换为经纬度 而逆地址解析 就是将经纬度转换为地址 经纬度一般是由专业测绘机构用GPS采集 然后
  • Shell——脚本执行命令和控制语句

    前言 在正常情况下 shell按顺序执行每一条语句 直至碰到文件尾 if选择结构示例 if后面紧跟判断条件 then后面是执行语句 fi是结束标志 多重if结构示例 case多选结构 通常用于在一系列模式中匹配某个变量的值 命令 只在cas
  • CH7-查找

    文章目录 1 查找的基本概念 2 线性表的查找 2 1 顺序查找 线性查找 算法2 1 0 类型定义 算法2 1 1 顺序查找 算法2 1 2 改进后的顺序查找 性能分析 2 2 折半查找 二分或对分查找 算法2 2 1 非递归算法 算法2
  • 基于容器PaaS云技术平台方案

    本文以容器技术建设 PaaS 平台即服务 云平台的解决方案为例 分析其如何实现系统资源的集中管理 动态分配 监控 共享和调度 如何实现应用的统一部署和业务连续性保障 实现多数据中心的高可用 推动系统架构及流程的调整 应对云计算时代所带来的变