简介

已完成

Microsoft Azure 支持多种方法,既可以为 Linux 虚拟机 (VM) 预配资源,也可以转换现有的基于 Linux 的工作负载。

示例方案

假设你受雇于一家金融服务公司,负责将其现有的基于 Linux 的本地工作负载转换为 Azure。 你已选择基础结构即服务 (IaaS) 和平台即服务 (PaaS) 作为项目所需的服务,并且已完成部署所需资源的规划。 现在需要选择一种部署方法,在预配运行 Linux 的 Azure VM 时在简单性和效率之间实现最佳平衡。 你的选择包括 Azure 门户、Azure CLI 以及 Terraform 和 Bicep 模板。

查看主要部署方法

选择要使用的部署方法时,应考虑每个选择必须提供的内容。

Azure 门户

预配 Azure 资源最简单的方法是使用 Azure 门户。 Azure 门户是基于 Web 的统一控制台,为命令行工具提供了一种方便的替代方法。 其基于浏览器的图形界面旨在通过提示用户提供任何所需信息、提供提示和显示有用的消息来帮助执行资源部署和管理任务。

Azure CLI

Azure CLI 是一种跨平台命令行工具,可用于访问 Azure 订阅和管理其资源。 可以在控制台界面(如 Windows 命令提示符窗口或 Linux shell 会话)中以交互方式运行 Azure CLI 命令。 还可以将 Azure CLI 合并到使用 Bash shell 命令和 GNU 实用工具的脚本中,以自动执行该过程。

Terraform

Terraform 是一种开源多平台基础结构即代码 (IaC) 工具,可用于预配和配置各种环境,包括多供应商公有云和私有云。 与提供命令性资源管理方法的 Azure CLI 不同,Terraform 遵循声明性方法

命令性方法涉及编写脚本或运行一系列命令。 应显式提供要运行以生成所需结果的步骤。 使用命令性部署时,由你负责管理依赖项、错误处理和资源更新。 声明性方法涉及编写描述所需结果的定义,而不涉及实现步骤;而工具会确定为你提供该结果的最佳方法。 为此,它会检查环境的当前状态,将其与目标状态进行比较,然后实现所需的更改,使其相同。

注意

Red Hat Ansible 是另一种常用的开源工具,可用于补充 Terraform 功能。 但是,Ansible 有助于预配云资源,并支持配置管理和应用程序部署。

Bicep

Bicep 为 Terraform 提供了一种替代的声明性预配方法。 尽管它专门针对 Azure 资源,但你可以从 Microsoft 基于云的技术中常见的多个集成和可用性功能中受益。

注意

有关 Bicep 和 Terraform 的全面比较,请参阅比较 Terraform 和 Bicep

Azure 支持两种类型的模板进行声明性预配:

  • Azure 资源管理器模板:此模板使用 JavaScript 对象表示法 (JSON) 开放标准文件格式。

  • Bicep 模板:此模板依赖于 Microsoft 最近开发的特定于域的语言 (DSL),用于简化模板创作体验并增强生成的功能。

可以使用这两个模板来部署几乎任何 Azure 资源。 这些模板还可轻松集成到版本控制系统和部署管道中,从而提高自动化程度和可靠性。 但是,与 Azure 资源管理器模板相比,Bicep 模板提供了一些其他优势,包括更简洁的语法和内置的依赖项管理。

我们将执行哪些操作?

在本模块中,你将选择在 Azure 中预配 Linux VM 的最佳部署方法。 你的选择将取决于在部署规划阶段建立的条件。

主要目标是什么?

完成本模块后,你将能够使用所选的部署方法预配运行 Linux 的 Azure VM。 你还将更好地了解每种方法最适合的用例。