利用 Azure CLI 提升效率:命令行管理 Azure 资源 – wiki词典

My apologies, I seem to be misremembering the available tools. I do not have a tool that allows me to write directly to a file on your system.

However, I can provide you with the content of the article directly. Here it is:

利用 Azure CLI 提升效率:命令行管理 Azure 资源

在当今的云原生时代,效率是管理基础设施的关键。Microsoft Azure 提供了一套强大的命令行工具,即 Azure CLI (Command Line Interface),它允许开发者和管理员通过脚本和自动化来高效管理 Azure 资源。本文将深入探讨如何利用 Azure CLI 提升工作效率,并提供一些实用的示例。

为什么选择 Azure CLI?

Azure CLI 提供了一系列优势,使其成为管理 Azure 资源的理想选择:

  1. 自动化能力:通过编写脚本,可以自动化重复性任务,例如资源部署、配置更新和日常维护,从而节省大量时间并减少人为错误。
  2. 跨平台支持:Azure CLI 可以在 Windows、macOS 和 Linux 上运行,无论您使用哪种操作系统,都能无缝管理 Azure 资源。
  3. 一致性体验:所有 Azure 服务都遵循相似的命令结构和参数命名约定,一旦熟悉了一个服务的 CLI 命令,就可以轻松地管理其他服务。
  4. 集成能力:可以轻松地将 Azure CLI 命令集成到 CI/CD 管道、自定义脚本和自动化工作流中。
  5. 提高生产力:通过命令行操作,可以快速执行任务,无需通过图形界面进行繁琐的点击,尤其是在需要同时管理多个资源或进行批量操作时。

Azure CLI 基础

在使用 Azure CLI 之前,您需要安装它并进行身份验证。

1. 安装 Azure CLI

根据您的操作系统,可以从 Microsoft 官方文档 获取安装指南。

2. 登录 Azure 账户

安装完成后,打开终端或命令提示符,运行以下命令登录您的 Azure 账户:

bash
az login

这会在浏览器中打开一个登录页面,完成身份验证后,您的终端将显示您的订阅信息。

3. 选择默认订阅 (可选)

如果您有多个 Azure 订阅,可以设置一个默认订阅,以避免在每个命令中指定 --subscription 参数:

“`bash

az account set –subscription “Your Subscription Name or ID”
“`

利用 Azure CLI 提升效率的策略

1. 资源组管理

资源组是 Azure 中管理相关资源的基本单位。Azure CLI 可以让您高效地创建、删除和管理资源组。

创建资源组:

bash
az group create --name MyResourceGroup --location eastus

列出所有资源组:

bash
az group list --output table

删除资源组 (及其包含的所有资源):

bash
az group delete --name MyResourceGroup --yes --no-wait

--yes 自动确认,--no-wait 使命令立即返回,而无需等待删除操作完成。

2. 虚拟机管理

管理虚拟机 (VM) 是 Azure 中的常见任务。Azure CLI 可以简化 VM 的创建、启动、停止和配置。

创建虚拟机:

bash
az vm create \
--resource-group MyResourceGroup \
--name MyVM \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys

启动/停止/重启虚拟机:

bash
az vm start --resource-group MyResourceGroup --name MyVM
az vm stop --resource-group MyResourceGroup --name MyVM
az vm restart --resource-group MyResourceGroup --name MyVM

获取虚拟机 IP 地址:

bash
az vm show -d --resource-group MyResourceGroup --name MyVM --query publicIps --output tsv

3. 存储账户管理

存储账户是 Azure 中存储数据的核心服务。

创建存储账户:

bash
az storage account create \
--name mystorageaccount007 \
--resource-group MyResourceGroup \
--location eastus \
--sku Standard_LRS \
--kind StorageV2

创建 Blob 容器:

bash
az storage container create \
--name mycontainer \
--account-name mystorageaccount007

上传文件到 Blob 存储:

bash
az storage blob upload \
--container-name mycontainer \
--account-name mystorageaccount007 \
--name myfile.txt \
--file /path/to/local/myfile.txt

4. 网络资源管理

网络是任何云解决方案的基础。Azure CLI 可以帮助您配置虚拟网络、子网、网络安全组等。

创建虚拟网络和子网:

bash
az network vnet create \
--resource-group MyResourceGroup \
--name MyVnet \
--address-prefix 10.0.0.0/16 \
--subnet-name MySubnet \
--subnet-prefix 10.0.0.0/24

创建网络安全组 (NSG) 规则:

bash
az network nsg rule create \
--resource-group MyResourceGroup \
--nsg-name MyVMNSG \
--name AllowSSH \
--priority 100 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 22 \
--source-address-prefixes "*"

5. 高级查询和过滤

Azure CLI 支持使用 --query 参数进行 JMESPath 查询,这使得从复杂的 JSON 输出中提取特定信息变得非常高效。

查询所有虚拟机的名称和资源组:

bash
az vm list --query "[].{Name:name, ResourceGroup:resourceGroup}" --output table

筛选特定位置的虚拟机:

bash
az vm list --query "[?location=='eastus'].name" --output table

6. 脚本化和自动化

Azure CLI 的真正力量在于其脚本化能力。您可以将一系列 CLI 命令组合成 Bash 脚本、PowerShell 脚本或 Python 脚本,以实现复杂的自动化任务。

示例:部署一个 Web 应用

以下是一个简化的 Bash 脚本,用于创建一个资源组、App Service 计划和 Web 应用:

“`bash

!/bin/bash

RESOURCE_GROUP=”MyWebAppRG”
LOCATION=”eastus”
APP_PLAN_NAME=”MyWebAppPlan”
WEB_APP_NAME=”myuniqueazurewebapp007″

echo “Creating resource group: $RESOURCE_GROUP”
az group create –name $RESOURCE_GROUP –location $LOCATION

echo “Creating App Service plan: $APP_PLAN_NAME”
az appservice plan create –name $APP_PLAN_NAME –resource-group $RESOURCE_GROUP –sku F1 –is-linux

echo “Creating Web App: $WEB_APP_NAME”
az webapp create –name $WEB_APP_NAME –resource-group $RESOURCE_GROUP –plan $APP_PLAN_NAME

echo “Deployment complete. Web App URL: https://$WEB_APP_NAME.azurewebsites.net”
“`

将上述内容保存为 .sh 文件并运行,即可一键部署。

7. 使用变量和参数

在脚本中使用变量和参数可以使其更具灵活性和可重用性。

“`bash

!/bin/bash

定义脚本参数

read -p “Enter resource group name: ” RESOURCE_GROUP
read -p “Enter location (e.g., eastus): ” LOCATION

使用参数创建资源组

az group create –name “$RESOURCE_GROUP” –location “$LOCATION”

echo “Resource group ‘$RESOURCE_GROUP’ created in ‘$LOCATION’.”
“`

最佳实践

  • 使用 --output 参数:根据需要选择输出格式 (table, json, yaml, tsv)。table 适合人工阅读,json 适合脚本解析。
  • 使用 --query 进行过滤和转换:最大化 JMESPath 的威力,从大量数据中提取所需信息。
  • 利用 --help 命令:不确定某个命令的用法时,随时使用 az <command> <subcommand> --help 查看帮助文档。
  • 版本控制脚本:将您的 Azure CLI 脚本存储在版本控制系统 (如 Git) 中,以便跟踪更改、协作和回滚。
  • 安全管理凭据:在自动化脚本中,避免硬编码敏感信息。利用 Azure Key Vault 或托管标识 (Managed Identities) 来安全地管理凭据。
  • 错误处理:在脚本中加入错误处理机制,以应对命令执行失败的情况。
  • 幂等性:设计脚本时考虑幂等性,即多次运行脚本时,结果保持一致,不会产生意外的副作用。

结论

Azure CLI 是管理 Azure 资源不可或缺的工具。通过掌握其基本操作、高级查询和脚本化能力,您可以显著提升在 Azure 云环境中的工作效率,实现更快速、更可靠的资源管理和自动化部署。无论是日常操作还是复杂的部署场景,Azure CLI 都能为您提供强大的支持。开始您的 Azure CLI 之旅,让您的云管理工作变得更加轻松高效吧!

滚动至顶部