OpenStack Magnum如何部署Docker Swarm等容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介:

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搭建和管理企业级网站应用
目录
相关文章
|
5天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
2天前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
|
8天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
2天前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
虚拟机centos7.9一键部署docker
|
11天前
|
Kubernetes Linux 开发者
深入探索Docker容器化技术的奥秘
深入探索Docker容器化技术的奥秘
17 1
|
2天前
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
|
9天前
|
网络协议 安全 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基础知识,包括网络驱动、端口映射和命名等核心概念,并深入探讨了 Bridge、Host、Overlay 和 Macvlan 四种网络类型的特点及应用场景。此外,还提供了创建、连接、查看和删除自定义网络的命令示例,以及高级网络配置方法,如网络命名空间、DNS 解析和安全通信配置,帮助开发者构建更健壮的容器化应用。
|
10天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
14 0
|
11天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
28 0
|
1月前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
65 14