Dan*_*ary 18 azure kubernetes azure-kubernetes azure-aks
我在Azure中创建了一个托管的Kubernetes集群,但它仅用于学习目的,因此我只想在我实际使用它时为计算付费.
有没有一种简单的方法可以优雅地关闭和启动VM,可用性集和负载平衡器?
off*_*cer 15
您可以使用Azure CLI通过Powershell停止虚拟机:
az vm deallocate --ids $(az vm list -g MC_my_resourcegroup_westeurope --query "[].id" -o tsv)
Run Code Online (Sandbox Code Playgroud)
替换MC_my_resourcegroup_westeurope为包含VM的资源组的名称.
如果要再次启动VM,请运行:
az vm start --ids $(az vm list -g MC_my_resourcegroup_westeurope --query "[].id" -o tsv)
Run Code Online (Sandbox Code Playgroud)
4c7*_*b41 11
只有虚拟机从所有AKS资源中获利(嗯,VHD也是如此,但你无法真正阻止它们).所以你只需要照顾那些.编辑:公共Ips也花钱,但你也不能阻止它们.
对于我的AKS集群,我只使用portal并发出stop\deallocate命令.当我需要它们时开始那些(一切似乎工作正常).
您可以使用REST API\powershell\cli \各种SKD以自动方式实现相同的结果.
上述方法 ( az vm <deallocate|start> --ids $(...)) 似乎不再有效。
通过首先列出 VM 规模集并使用它们来解除分配/启动来解决:
$ResourceGroup = "MyResourceGroup"
$ClusterName = "MyAKSCluster"
$Location = "westeurope"
$vmssResourceGroup="MC_${ResourceGroup}_${ClusterName}_${Location}"
# List all VM scale sets
$vmssNames=(az vmss list --resource-group $vmssResourceGroup --query "[].id" -o tsv | Split-Path -Leaf)
# Deallocate first instance for each VM scale set
$vmssNames | ForEach-Object { az vmss deallocate --resource-group $vmssResourceGroup --name $_ --instance-ids 0}
# Start first instance for each VM scale set
$vmssNames | ForEach-Object { az vmss start --resource-group $vmssResourceGroup --name $_ --instance-ids 0}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6224 次 |
| 最近记录: |