Azure CLI 介绍与使用:云资源管理的强大命令行工具
在云计算日益普及的今天,高效、自动化的云资源管理成为了开发人员和运维工程师的必备技能。Microsoft Azure 提供了多种管理工具,其中 Azure Command-Line Interface (CLI) 以其跨平台、脚本化和强大的功能,成为管理 Azure 资源的首选工具之一。
什么是 Azure CLI?
Azure CLI 是一个跨平台的命令行工具,允许用户通过命令行界面连接到 Azure 并执行管理命令。它提供与 Azure 门户相同的功能,但以文本命令的形式呈现,这使得自动化任务、脚本编写和与 CI/CD 流程集成变得极其高效。无论您使用的是 Windows、macOS 还是 Linux,都可以安装并使用 Azure CLI 来管理您的 Azure 资源。
为什么选择 Azure CLI?
- 跨平台兼容性:在 Windows、macOS 和 Linux 上原生运行,提供一致的使用体验。
- 自动化能力:通过编写 Shell 脚本(如 Bash、PowerShell)可以轻松实现资源的批量创建、配置和管理,大大提高工作效率。
- 快速部署与管理:对于熟悉命令行的用户,Azure CLI 通常比图形界面的 Azure 门户更快地完成任务。
- 集成与扩展:可以轻松集成到现有的自动化工具、DevOps 管道和自定义应用程序中。
- 开源与社区支持:Azure CLI 是开源项目,拥有活跃的社区支持,不断有新功能和改进。
- Azure Cloud Shell 内置:无需本地安装,直接在浏览器中使用 Azure Cloud Shell 即可访问预装的 Azure CLI。
Azure CLI 的安装
Azure CLI 的安装过程因操作系统而异,但都相对简单。
1. 通过 Azure Cloud Shell 使用 (推荐初学者)
最简单的使用方式是直接通过浏览器访问 Azure Cloud Shell。它预装了 Azure CLI 和其他常用工具,无需任何本地安装。
- 访问 portal.azure.com,点击顶部工具栏中的 Cloud Shell 图标(
>_)。
2. 本地安装
Windows:
从 Microsoft 官方文档 下载 MSI 安装程序,然后按照向导进行安装。安装完成后,重新打开命令行窗口即可使用 az 命令。
macOS:
使用 Homebrew 进行安装是推荐的方式。
bash
brew update
brew install azure-cli
Linux (Debian/Ubuntu 示例):
bash
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
对于其他 Linux 发行版,请查阅 Microsoft 官方文档 获取详细安装指南。
Azure CLI 基本使用
安装完成后,您就可以开始使用 Azure CLI 管理资源了。
1. 登录 Azure
在使用 Azure CLI 之前,您需要登录到您的 Azure 账户。
bash
az login
执行此命令后,Azure CLI 会在您的默认浏览器中打开一个登录页面。完成认证后,命令行会显示您的订阅信息。如果无法自动打开浏览器,CLI 会提供一个设备代码,您可以在任何浏览器中访问 microsoft.com/devicelogin 并输入该代码进行登录。
2. 选择订阅 (如果拥有多个订阅)
如果您有多个 Azure 订阅,可以使用以下命令列出它们并选择一个作为当前操作的订阅:
bash
az account list --output table # 列出所有订阅
az account set --subscription "Your Subscription Name or ID" # 设置当前订阅
3. 命令结构
Azure CLI 命令遵循统一的结构:az <命令组> <命令> --<参数名称> <参数值>
例如:
* az group create:用于创建资源组的命令。
* az vm create:用于创建虚拟机的命令。
4. 获取帮助
Azure CLI 提供了强大的内置帮助功能:
bash
az --help # 获取所有命令组列表
az <命令组> --help # 获取特定命令组的帮助信息,例如:az vm --help
az <命令组> <命令> --help # 获取特定命令的帮助信息,例如:az vm create --help
您也可以使用 az find <关键词> 来搜索相关命令。例如,az find vm 会列出所有与虚拟机相关的命令。
常用操作示例
下面是一些使用 Azure CLI 管理常见 Azure 资源的基本操作:
1. 资源组管理
资源组是 Azure 资源的逻辑容器。
* 创建资源组:
bash
az group create --name MyResourceGroup --location eastus
-n 或 --name:指定资源组的名称。
-l 或 --location:指定资源组所在的 Azure 区域(例如 eastus, westus2, uksouth)。
-
列出所有资源组:
bash
az group list --output table
--output table以表格形式显示结果,提高可读性。您也可以选择json,tsv等其他输出格式。 -
删除资源组:
bash
az group delete --name MyResourceGroup --yes --no-wait
--yes:跳过确认提示。
--no-wait:不等待删除操作完成就返回,操作在后台继续。
2. 虚拟机 (VM) 管理
-
创建 Linux 虚拟机:
bash
az vm create \
--resource-group MyResourceGroup \
--name MyLinuxVM \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku Standard
--image:指定操作系统镜像(例如UbuntuLTS,Win2019Datacenter)。
--admin-username:管理员用户名。
--generate-ssh-keys:为 Linux VM 自动生成 SSH 密钥对并将其存储在~/.ssh目录。
--public-ip-sku Standard: 为公共 IP 地址指定标准 SKU。 -
列出资源组中的虚拟机:
bash
az vm list --resource-group MyResourceGroup --output table -
启动/停止/重启虚拟机:
bash
az vm start --resource-group MyResourceGroup --name MyLinuxVM
az vm stop --resource-group MyResourceGroup --name MyLinuxVM
az vm restart --resource-group MyResourceGroup --name MyLinuxVM -
删除虚拟机:
bash
az vm delete --resource-group MyResourceGroup --name MyLinuxVM --yes --no-wait
3. 存储账户管理
-
创建存储账户:
bash
az storage account create \
--name mystorageaccount001 \
--resource-group MyResourceGroup \
--location eastus \
--sku Standard_LRS \
--kind StorageV2
--name:存储账户名称,必须全局唯一。
--sku:性能和冗余级别(例如Standard_LRS– 本地冗余存储,Standard_GRS– 异地冗余存储)。
--kind:账户类型(例如StorageV2– 通用 v2)。 -
列出存储账户:
bash
az storage account list --output table
进阶使用技巧
- 环境变量: 您可以将经常使用的参数(如资源组名称、位置)保存为环境变量,以简化命令输入。
- 查询结果: 使用
--query参数可以利用 JMESPath 表达式对命令输出的 JSON 结果进行筛选和格式化。这对于从复杂输出中提取特定信息非常有用。
bash
az vm list --query "[?resourceGroup=='MyResourceGroup'].name" -o tsv - 自定义脚本: 将一系列 Azure CLI 命令组合成 Shell 脚本文件(.sh 或 .ps1),实现复杂的自动化流程,例如环境搭建、定期备份等。
- 集成 CI/CD: 在 Azure DevOps、GitHub Actions 或 Jenkins 等 CI/CD 管道中使用 Azure CLI 任务来自动化部署和管理 Azure 资源。
总结
Azure CLI 是管理 Azure 资源的强大且灵活的工具。无论是日常管理、自动化部署还是复杂的脚本编写,它都能提供高效的解决方案。通过掌握 Azure CLI,您可以更好地控制您的云环境,提升工作效率,并更深入地理解 Azure 服务。立即尝试安装并开始您的 Azure CLI 之旅吧!