如何使用Terraform配置Azure虚拟桌面

日期: 2023-09-24 作者:Chris Twiest翻译:邹铮 来源:TechTarget中国 英文

企业将桌面环境从本地迁移到云端可能是一项重大挑战,因为在云端手动重新创建所有工作负载可能非常耗时。

如果你考虑迁移到云端,现在是查看新工具的好时机,这些工具可帮助你作为 IT 管理员更轻松地部署工作负载。其中一个工具是HashiCorp Terraform,当与本机Azure虚拟桌面(AVD)工具结合使用,可以使过渡到AVD变得更加容易。

什么是Terraform,为什么要使用它?

Terraform是HashiCorp的产品,在基础设施即代码市场中已经很受欢迎。借助 Terraform,你可以定义、预览和部署云基础架构即代码。Terraform 可以简化工作负载的部署过程,让你无需手动点击Azure。它可以自动执行部署,从而节省大量时间。

你可能会问的一个问题是,为什么使用Terraform,而不是-例如仅使用PowerShell。仅使用脚本语言有很大的区别。诚然,你可以使用PowerShell脚本获得相同的结果,但Terraform使部署基础结构变得更加容易。它不需要大量的脚本知识。你可以定义所需的资源,然后 Terraform 将要求你提供创建这些资源的最小输入。然后将这些输入保存在变量文件中。这意味着,如果你需要重新创建环境(例如,构建测试环境),则只需复制变量文件并更改一些变量即可,例如名称。

Terraform 擅长完成的另一个任务是,在通过plan命令在部署之前检查一切是否正确。它将查看你的变量和配置,并查看你的整体计划以确定它是否会创建所需的环境。

使用Terraform的最后一个大优势是在多个云和基础设施环境中使用它。借助 Terraform,你可以在 Azure Microsoft上像在 Amazon AWS 上或在本地 vSphere 上一样轻松地部署工作负载。你不需要学习新的命令行,你只需要知道怎样调用Terraform 资源。这使得与仅仅创建PowerShell脚本相比,Terraform更强大、易于使用和可预测。

微软完全支持Terraform。你可以直接从云shell访问 Terraform 命令行。这意味着除Azure 订阅之外,你不需要任何东西即可开始使用 Terraform 和 Azure。

Terraform与AVD的力量

微软提供了一个指南,解释如何在几秒钟内从代码中创建完整的 AVD 环境。假设你还使用例如 Packer 自动创建 AVD 图像。在这种情况下,可以使用 Terraform 从头开始创建环境到完整的生产环境,而无需单击 Azure 中的任意位置,包括使用映像托管虚拟机。

这样做的一大好处是,如果发生最坏的情况(例如,有人删除你的环境),你可以立即恢复。你已经在 Terraform 中定义了 AVD 环境的最终状态,如果需要,你可以快速返回到该状态。这使得 Azure 迁移更加容易和快捷。当然,你仍然需要考虑用户在 AVD 环境中需要的数据。这可能仍需要单独的数据迁移。

通过针对AVD的变量文件,你还可以轻松创建完整的开发、测试、接受和生产 (OTAP) 环境,你只需要通过使用其他变量重新部署AVD环境,这是一个巨大的优势,可以节省成本。你可以在不需要的情况下删除云端的 OTAP 环境,并且无需支付将其保留在云端的成本。当你需要它时,只需运行你的 Terraform 脚本,你就可以拥有自己的环境。这样的话,你就可以结合云的强大功能与基础设施即代码,以轻松节省资金。

结合Terraform与其他工具

在与其他工具(例如GitHub、Azure DevOps和Ansible)一起使用时,Terraform会大放异彩。当然,你可以独立使用 Terraform,但结合使用这些工具将带来更稳定和可预测的环境。

GitHub

由于 Terraform 基于代码,因此将此代码保存到像 GitHub 这样的 Git 存储库中非常方便。借助 Git 的强大功能,你可以查看谁编辑了你的 Terraform HCL 文件,包括配置和变量。你可以创建不同版本的文件(或分支)并测试部署。并轻松还原文件中所做的更改。结合GitHub和Terraform是非常容易的事情。

你是否还知道,你可以使用 Terraform 部署新的 GitHub 存储库?这样,你也可以反过来使用它,使这个结合更加完美。当然,Terraform版本也在HashiCorp GitHub页面上。

Azure DevOps

Azure DevOps 是一个基于 DevOps 原则构建的包罗万象的自动化平台。Azure DevOps 允许你使用看板来跟踪环境的用户情景和更改。你可以将这些看板链接到存储库和管道中的项目。这些项目可以是保存在存储库中的 Terraform HCL 文件,这些文件会自动获得 Git 支持。

Azure DevOps 管道使用 Terraform 命令来部署基础结构。你可以将Azure DevOps视为,将Git、变更管理以及结合Terraform与其他工具(例如PowerShell)的能力添加到一个系统。这使得 Azure DevOps 成为适用于任何云部署的强大而完整的系统。

Ansible

Ansible 也是一个强大的自动化工具,你可以与 Terraform 结合使用。它允许你将Terraform与其他命令行工具(例如Packer等)结合使用。Ansible 的一大优点是它是开源的,你可以免费使用它,像 Terraform 一样。

当然,Ansible和Terraform对于使用他们的工具都有付费计划。Terraform 是在云端快速创建基础架构的绝佳工具。但是,例如,Ansible 允许你在该基础架构上部署应用程序并维护治理,以检查你的部署是否正常运行。当只有一个更改时,你并不总是希望完全重建整个平台,而使用 Ansible,你可以在整个平台上自动执行该更改。它还带有监控和记录工单或解决问题的能力。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

邹铮
邹铮

相关推荐