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

本文涉及的产品
容器镜像服务 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”?

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
Kubernetes Shell Linux
K8S 实用工具之一 - 如何合并多个 kubeconfig?
K8S 实用工具之一 - 如何合并多个 kubeconfig?
|
4月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
14天前
|
存储 Kubernetes C++
【专栏】Kubernetes VS Docker Swarm了解两者特点,助力选取合适容器编排工具
【4月更文挑战第27天】对比Kubernetes和Docker Swarm:K8s在可扩展性和自动化方面出色,有强大社区支持;Swarm以简易用著称,适合初学者。选择取决于项目需求、团队技能和预期收益。高度复杂项目推荐Kubernetes,快速上手小项目则选Docker Swarm。了解两者特点,助力选取合适容器编排工具。
|
3月前
|
Kubernetes 开发者 Docker
K8S 实用工具之五 -kompose
K8S 实用工具之五 -kompose
|
5天前
|
前端开发 API 数据库
【Docker专栏】Docker Compose实战:编排多容器应用
【5月更文挑战第7天】Docker Compose是Docker的多容器管理工具,通过YAML文件简化多容器应用部署。它能一键启动、停止服务,保证开发、测试和生产环境的一致性。安装后,创建`docker-compose.yml`文件定义服务,如示例中的web和db服务。使用`docker-compose up -d`启动服务,通过`docker-compose ps`、`stop`、`down`和`logs`命令管理服务。
【Docker专栏】Docker Compose实战:编排多容器应用
|
13天前
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。
|
1月前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
36 0
|
2月前
|
资源调度 JavaScript Shell
6.6k star!推荐一款轻松创建隔离环境的命令行及容器工具!
6.6k star!推荐一款轻松创建隔离环境的命令行及容器工具!
|
2月前
|
运维 应用服务中间件 调度
|
2月前
|
监控 数据可视化 Linux
如何使用可视化管理工具DockerUI远程管理docker容器
如何使用可视化管理工具DockerUI远程管理docker容器
111 0

相关产品

  • 容器服务Kubernetes版