Azure CLI 介绍与使用 – wiki大全


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?

  1. 跨平台兼容性:在 Windows、macOS 和 Linux 上原生运行,提供一致的使用体验。
  2. 自动化能力:通过编写 Shell 脚本(如 Bash、PowerShell)可以轻松实现资源的批量创建、配置和管理,大大提高工作效率。
  3. 快速部署与管理:对于熟悉命令行的用户,Azure CLI 通常比图形界面的 Azure 门户更快地完成任务。
  4. 集成与扩展:可以轻松集成到现有的自动化工具、DevOps 管道和自定义应用程序中。
  5. 开源与社区支持:Azure CLI 是开源项目,拥有活跃的社区支持,不断有新功能和改进。
  6. 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 之旅吧!


滚动至顶部