OpenStack Magnum如何部署Docker Swarm等容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

OpenStack Magnum通常用于部署和监控容器——如Docker Swarm、Google Kubernetes 和 Apache Mesos等,但是除此之外这个项目还有一些其他有用工具。

易于部署,并且体积要比hypervisor小很多,这些都是容器技术日益流行的原因,此外,单个容器只需要完成特定任务。现在最为常见的三种容器是Docker Swarm、Google Kubernetes和Apache Mesos。

使用容器技术,管理员能够部署完整应用或者是应用的重要组成部分,并且其体积只有几十MB。容器启动过程只需要几秒钟,而hypervisor需要数分钟才能够完成启动过程。

容器运行在主机操作之上,因此其中包含了一个迷你操作系统。这种架构是必要的,因为不论安装何种应用程序,都需要运行在底层操作系统之上。但是不同于hypervisor,容器不会额外的系统开销(比如模拟硬件)。

之前容器只能工作在Linux平台上,而现在其也能够支持Windows Server 2016了。

OpenStack和容器

最为常见的容器使用方式就是下载完整系统,之后立刻开始进行工作。比如,管理员需要创建并运行Ubuntu虚拟机或者Apache Spark环境,那么只需要安装Docker,之后从Docker公共镜像库中下载已经封装好的镜像就可以了。

如果企业需要使用50种应用,并且全部运行在容器当中,那么用不了多久管理员就会忘记应用程序和容器的对应关系,因为缺少集中管理机制。这种情况将会导致孤立容器占用资源——并且增加大量的云成本。而OpenStack Magnum可以帮助解决这种问题。

OpenStack Magnu能够部署容器并且对其进行监控记录。此外还允许管理员对应用程序进行抽象,快速复制大量容器以满足负载需求,并且在不需要的时候随时关闭。

OpenStack Magnum

OpenStack Magnum使用非常简单。如,部署一个容器只需三个步:

1.使用OpenStack Magnum创建Google Kubernetes、Docker Swarm或者Apache Mesos Bay。

2.创建Docker Swarm Bay,Docker Swarm将会在多台机器之间启用集群。

3.现在管理员就可以运行Docker命令来从OpenStack Glance当中获取镜像,并且启动Docker容器了。

管理员可以使用OpenStack Glance程序来存储Docker镜像,就像hypervisor镜像一样。比如,只需要两个步骤就可以下载MySQL,并将其存储到Glance当中:

docker pull mysqldocker save mysql | glance image-create --is-public=True --container-format=docker --disk-format=raw --name mysql

OpenStack Magnum中对容器的逻辑分组称为Bay。Bay中包含了由OpenStack编排工具Heat创建的一组OpenStack镜像。Heat能够在模板中定义云应用需要使用的所有资源,这个集合被称为栈,这种方式遵循了AWS CloudFormation所定义的规则。

Docker Swarm将主机资源抽象为Docker容器共享的资源池

Docker Swarm将主机资源抽象为Docker容器共享的资源池

其他OpenStack Magnum工具

在OpenStack Magnum项目中,还有另外两款十分有用的工具:Kolla和Murano。

Kolla支持在容器当中部署OpenStack。很多情况都需要这样做,比如为了降低安装OpenStack的复杂度等。更为常见的情况是为开发人员提供一个能够完成工作的OpenStack环境。Kolla使用Ansible完成实现这种功能。

Murano帮助管理员对容器镜像进行分类,之后添加到Horizon dashboard中。除了管理员自己定义的类别之外,还可以使用一些公共类别,比如OpenStack Community App Catalog、 Google Container Repository和Docker Hub/Registry等。这样做的好处在于能够极大简化使用和部署Docker Swarm、Google Kubernetes以及Apache Mesos容器的流程,并且将它们加入到Horizon网页图形界面当。

本文转自d1net(转载)

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
10天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
38 6
|
10天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
20 5
|
10天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
31 3
|
10天前
|
存储 安全 数据安全/隐私保护
Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。
在数字化时代,Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。本文探讨了 Docker 应用的备份与恢复策略,涵盖备份的重要性、内容、方法及常见工具,制定备份策略,恢复流程及注意事项,并通过案例分析和未来趋势展望,强调备份与恢复在保障应用安全中的重要性。
20 2
|
15天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
46 5
|
17天前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
16天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
29 1
|
22天前
|
持续交付 开发者 Docker
Docker容器化技术实战指南
Docker容器化技术实战指南
37 1
|
13天前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
31 0
|
21天前
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
43 0