本文概述了如何使用 Azure CLI 创建、配置和部署Microsoft连接缓存企业缓存节点。
必备条件
- 安装 Azure CLI: 如何安装 Azure CLI
- 安装连接的缓存扩展:通过以下命令安装连接的缓存扩展
az extension add --name mcc
若要了解有关安装扩展的详细信息,请参阅 安装连接的缓存扩展。
1. 创建资源组
第一步是创建资源组(如果还没有资源组)。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
若要创建资源组,请使用 az group create。 可 在此处找到有关此 CLI 命令的更多详细信息。
az group create --name myrg --location westus
创建资源组后,需要创建Microsoft连接缓存 for Enterprise Azure 资源。
2.创建连接的缓存 Azure 资源
连接的缓存 Azure 资源是可在其中创建缓存节点的顶级 Azure 资源。
若要创建连接的缓存 Azure 资源,请使用 az mcc ent resource create
az mcc ent resource create --mcc-resource-name mymccresource --resource-group myrg
重要提示
在输出中,查找 operationStatus。 operationStatus = Succeeded 表示我们的服务已成功开始创建连接的缓存资源。
下一步是在此资源下创建缓存节点。
3.创建缓存节点
若要创建缓存节点,请使用 az mcc ent node create
az mcc ent node create --cache-node-name mycachenode --mcc-resource-name mymccresource --resource-group myrg --host-os <linux or windows>
重要提示
在输出中,查找 operationStatus。 operationStatus = Succeeded 表示我们的服务已成功开始创建缓存节点。
4.确认创建缓存节点
在开始配置缓存节点之前,需要确认已成功创建缓存节点。
若要确认缓存节点创建,请使用 az mcc ent node show
az mcc ent node show --cache-node-name mycachenode --mcc-resource-name mymccresource --resource-group myrg
重要提示
在输出中查找 cacheNodeState。 如果 cacheNodeState = 未配置,则可以继续执行缓存节点配置。 如果 cacheNodeState = 注册正在进行中,则缓存节点仍在创建过程中。 再等待一两分钟,然后再次运行命令。
确认成功创建缓存节点后,可以继续配置缓存节点。
5.配置缓存节点
若要配置缓存节点,请使用 az mcc ent node update
以下示例配置启用了代理的 Linux 缓存节点:
az mcc ent node update --cache-node-name <mycachenode> --mcc-resource-name <mymccresource> --resource-group <myrg>
--cache-drive "[{physical-path:</physical/path>,size-in-gb:<size of cache drive>},{</physical/path>,size-in-gb:<size of cache drive>}...]"> --proxy <enabled> --proxy-host <"proxy host name"> --proxy-port <proxy port> --auto-update-day <day of week> --auto-update-time <time of day> --auto-update-week <week of month> --auto-update-ring <update ring>
请记住,缓存驱动器的最小大小为 50 GB。 可以通过向 参数添加其他条目 --cache-drive ,为 Linux 托管的缓存节点指定多个缓存驱动器。
注意
- 对于 Windows 托管的缓存节点,缓存驱动器的物理路径必须为 /var/mcc。
- 在输出中,查找 operationStatus。 operationStatus = Succeeded 表示我们的服务已成功更新缓存节点。 你还将看到 cacheNodeState 将显示 “未预配”。
- 保存 physicalPath、sizeInGb、proxyPort 和 proxyHostName 的值,因为构造部署命令需要这些值。
6.获取缓存节点的部署详细信息
成功配置缓存节点后,下一步是将缓存节点部署到主机计算机。 若要部署缓存节点,需要使用缓存节点唯一标识符创建部署命令。
若要获取部署命令的相关信息,请使用 az mcc ent node get-deployment-details。
az mcc ent node get-deployment-details --cache-node-name mycachenode --mcc-resource-name mymccresource --resource-group myrg
重要提示
- 保存 cacheNodeId、customerKey、mccResourceId 和 registrationKey 的结果值。 部署命令需要这些 GUID。
- 在输出中查找 cacheNodeState。 如果 cacheNodeState = 未预配,则可以继续缓存节点部署。
- 如果 cacheNodeState = 未配置,则表示尚未配置缓存节点。 在部署之前配置缓存节点。
下一步
若要将缓存节点部署到 Windows 主机计算机,请参阅
若要将缓存节点部署到 Linux 主机计算机,请参阅
批量创建和配置多个缓存节点的示例脚本
下面是有关如何编写已连接缓存 Azure 资源以及多个连接缓存缓存节点的批量创建和配置的脚本的伪代码示例:
#Define variables
$mccResourceName = "myMCCResource"
$cacheNodeName = "demo-node"
$cacheNodeOperatingSystem = "Windows"
$resourceGroup = "myRG"
$resourceLocation = "westus"
$cacheNodesToCreate = 2
$proxyHost = "myProxy.com"
$proxyPort = "8080"
$waitTime = 3
# Create Microsoft Connected Cache Azure resource
az mcc ent resource create --mcc-resource-name $mccResourceName --location $resourceLocation --resource-group $resourceGroup
#Loop through $cacheNodesToCreate iterations
for ($cacheNodeNumber = 1; $cacheNodeNumber -le $cacheNodesToCreate; $cacheNodeNumber++) {
$iteratedCacheNodeName = $cacheNodeName + "-" + $cacheNodeNumber
#Create cache node
az mcc ent node create --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --host-os $cacheNodeOperatingSystem --resource-group $resourceGroup
#Get cache node state
$cacheNodeState = $(az mcc ent node show --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --resource-group $resourceGroup --query "cacheNodeState") | ConvertFrom-Json
$howLong = 0
#Wait until cache node state returns "Not Configured"
while ($cacheNodeState -ne "Not Configured") {
Write-Output "Waiting for cache node creation to complete...$howLong seconds"
Start-Sleep -Seconds $waitTime
$howLong += $waitTime
$cacheNodeState = $(az mcc ent node show --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --resource-group $resourceGroup --query "cacheNodeState") | ConvertFrom-Json
}
#Configure cache node
az mcc ent node update --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --resource-group $resourceGroup --cache-drive "[{physical-path:/var/mcc,size-in-gb:50}]" --proxy enabled --proxy-host $proxyHost --proxy-port $proxyPort
}