那些影响传统PaaS平台结构的容器编排工具

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 对企业而言,编排工具是容器应用成功的关键,最主流的PaaS解决方案已经拥抱容器,并有新的PaaS 建立在容器编排之上实现管理平台。企业可以选择面向IT运维,部署核心容器编排工具,或面向开发,使用PaaS平台。

作者:精灵云

随着PaaS平台结构的演变,可以看到容器编排给企业在平台结构的选择上带来的冲击,可究竟该如何选择,我们需要透过现象看本质。

PaaS平台的演变

传统PaaS平台在云计算技术的发展中经历了几次演变,我们先来回顾下经典的云平台层次体系的结构。

v2-eb69810578c48bd86820dedbddc29aac_b.pn

传统云计算平台的分层结构

如图所示,在经典的PaaS平台结构中,应用运行在PaaS平台所提供的容器环境中,容器在虚拟机基础上完成了第二层次基础设施资源的划分,容器封装了应用正常运行所需的运行环境和系统。然而这类PaaS平台就如同一个“黑盒”,应用完全脱离了租户的控制,进入了完全被托管的状态,这使得开发人员和运维人员对应用和应用运行时的环境掌控力变弱,再加上传统PaaS通常在应用架构选择、支持的环境服务等方面有较强限制,导致此类云平台层次结构运力不足,尤其是在应用出现宕机后尤为凸显。因而在生产环境下又进化出了以IaaS+云平台的分层结构。

v2-ac1221a7d11f08a3f5979fd219171efe_b.pn

典型的IaaS+云平台

IaaS+云平台的层次结构保证了运维人员对底层环境的掌控,但IaaS层不具备贴近应用的资源调度策略,为了弥补了IaaS平台脱离应用的缺陷,出现了很多高效便捷的虚拟机DevOps工具,以虚拟机镜像为基础可以保证生产环境、测试环境、开发环境上的严格一致。目前基于IaaS的云生态环境已经具有相当高的成熟度。

当然,以上这两种经典的云平台分层结构依然还是目前传统云平台搭建意识里的主流,直到Docker的出现。

v2-5a4267b4ae29de47f197910a1c11af90_b.pn

基于容器的云平台

Docker的出现为云平台带来了一个新的分层结构:基于容器的云平台。相比经典PaaS平台,基于容器的云平台结构更加开放,可直接基于虚拟机或物理机搭建。基于容器镜像的应用发布流程不仅能覆盖整个应用生命周期,还减少了经典PaaS平台对应用架构、支持的软件环境服务等方面的诸多限制,将更多控制力交还给开发和运维人员。

而影响传统平台PaaS结构的核心便是容器编排。

容器编排的演变

容器编排支持打包、部署、隔离、服务发现、扩容和滚动更新,已经在影响驱动成熟企业和初创公司采用容器上起到非常重要作用。

在基于容器的云平台中,运用Docker容器至应用的完整生命周期中时,最困难的便是运行微服务应用程序,即如何创建、管理和自动化临时容器集群。

解决这一挑战的第一个主要工具是Mesos及它的编排工具Marathon,成熟度最高时间最久。下一个得到认同的编排工具是Kubernetes(以下简称K8s),应用最广泛,社区支持度最高。之后Docker Swarm也加入了进来,使用覆盖率也很惊喜。当然,目前国内还出现了自研的容器编排Newben,开发者为Ghostcloud精灵云。

v2-f28e73d1b007ea14b499d7c9da57a8dc_b.pn

几种容器编排的对比

事实上,如今K8s因为它的可扩展性已经成为了企业主流。它支持广泛的编程语言、基础设施选项,并获得容器生态系统的巨大支持。它将应用层与基础设施层隔离开来,从而能够跨多个云供应商和基础设施设置,实现真正的可移植性。

容器编排K8s和Newben

本文重点介绍在网络、应用迁移、应用快照、模板、负载均衡、弹性伸缩、高可用、CI/CD集成、灰度发布和回滚、镜像集成、日志监控等方面同样优秀的两类容器编排工具Newben和K8s。Newben是Ghostcloud精灵云全自主研发的容器调度引擎,是目前国内唯一自研引擎。(关于Newben的介绍可阅读文章《全自主研发容器调度引擎——Newben》)K8s是目前最主流的容器编排。在此,我们简略地列出了Newben和K8s的部分功能特性,来展示这两种容器调度引擎在网络、应用迁移、负载均衡、弹性伸缩、调度规则等方面的优势。

l网络

K8s不支持内置虚拟网络,网络插件选择众多,学习成本更高,但从社区获得的支持也最多。Newben内置支持虚拟网络,支持多子网,支持公有云、主机托管环境、二层和三层网络以及控制网络访问安全。

v2-8c54153bc1442c2e5583e2b781144a91_b.pn

l应用服务和应用栈

在创建应用服务方面,K8s需要多次执行命令工具的操作模式,Newben则采用向导式创建的方式,且支持应用服务分组创建应用栈。

v2-f135f5f13485e525aa5a69d59b328fd1_b.pn

l弹性伸缩

Newben和K8s均可以支持CPU的弹性伸缩。

v2-d26f547a0a0b5c0bc42e6e1d1f4d1282_b.pn

l负载均衡

Newben和K8s均可实现负载均衡和高可用集群。

v2-800dabc8acfcaddd4d9490cdee55adfd_b.pn

l调度规则

K8s的调度规则基于标签选择器,而Newben则同时基于标签选择和指定主机名。

v2-bf48df834a13649c8401da329f1dd479_b.pn

结语

对企业而言,编排工具是容器应用成功的关键,最主流的PaaS解决方案已经拥抱容器,并有新的PaaS 建立在容器编排之上实现管理平台。企业可以选择面向IT运维,部署核心容器编排工具,或面向开发,使用PaaS平台。

推荐阅读:

1、 企业为什么要使用基于Docker的PaaS/CaaS平台

2、Docker容器云在金融行业的应用

3、自研容器调度引擎Newben会成为“中国的K8s”?

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
弹性计算 运维 Kubernetes
实践篇:灵活调度,高效编排,容器化管理云上应用
【7月更文第8天】阿里云容器服务Kubernetes版(ACK)作为业界领先的容器管理和编排服务,凭借其强大的技术实力和丰富的云服务生态,为企业级用户提供了一系列卓越的优势,助力现代化应用的快速构建、部署与运维。
78 1
|
1月前
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
50 10
Docker容器管理工具
|
1月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
66 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
2月前
|
存储 Kubernetes Cloud Native
容器管理工具Containerd
容器管理工具Containerd
|
2月前
|
Prometheus Kubernetes 监控
揭秘Kubernetes的秘密武器库:十大工具让你的容器编排如虎添翼!探索这些神秘而强大的工具,它们将如何彻底改变你的Kubernetes体验?
【8月更文挑战第19天】在容器世界里,Kubernetes是部署与管理容器化应用的首选平台。为了增强其功能,本文精选了十大必备工具:Helm简化复杂应用部署;Prometheus监控系统与应用指标;Grafana提供数据可视化;Fluentd统一日志管理;Envoy实现服务间通信与控制;Calico确保网络连接安全;CoreDNS提升DNS服务性能;Velero保障数据安全与迁移;Argo Workflows执行复杂工作流;Istio强化服务网格功能。这些工具覆盖部署、监控、日志等多个方面,助力提升Kubernetes的效率与稳定性。
34 3
|
2月前
|
运维 Kubernetes 监控
|
2月前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
27 5
|
2月前
|
Kubernetes 监控 Shell
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
|
3月前
|
Ubuntu Devops 云计算
ubuntu docker-compose编排容器并且设置自启动
使用Docker Compose编排容器并设置为Ubuntu系统的自启动服务,不仅优化了应用的部署流程,也提升了运行时的可管理性和可靠性。通过上述步骤,您可以轻松实现这一目标。维护此类服务时,记得定期检查和更新您的 `docker-compose.yml`文件,确保所有的服务都符合当前的业务需求和技术标准。在云计算和微服务架构不断演进的今天,掌握Docker Compose等工具对于DevOps和软件工程师来说,变得尤为重要。
140 3
|
3月前
|
Docker Python 容器
容器化技术,特别是Docker,已经成为现代软件开发和部署的重要工具。
容器化技术,特别是Docker,已经成为现代软件开发和部署的重要工具。

相关产品

  • 容器服务Kubernetes版
  • 下一篇
    无影云桌面