Остановите все вычисления в AKS (Azure Managed Kubernetes)
Я создал управляемый кластер Kubernetes в Azure, но он только для учебных целей, и поэтому я только хочу заплатить за вычисление, пока я его фактически использую.
Есть ли простой способ изящно закрыть и запустить виртуальные машины, комплекты доступности и балансировки нагрузки?
Ответы
Ответ 1
Только виртуальные машины стоят денег из всех ресурсов AKS (ну, VHD тоже, но вы не можете остановить их). Поэтому вам нужно только позаботиться об этом. Изменение: публичные Ips также стоят денег, но вы также не можете их остановить.
Для моего кластера AKS я просто использую портал и выдаю команду stop\deallocate. И запустите их обратно, когда они мне понадобятся (все работает нормально).
Вы можете использовать REST API\powershell\cli\различные SKD для достижения такого же результата в автоматическом режиме.
Ответ 2
Вы можете использовать Azure CLI для остановки виртуальных машин через Powershell:
az vm deallocate --ids $(az vm list -g MC_my_resourcegroup_westeurope --query "[].id" -o tsv)
Замените MC_my_resourcegroup_westeurope
именем вашей группы ресурсов, которая содержит виртуальные машины.
Если вы хотите снова запустить ВМ, запустите:
az vm start --ids $(az vm list -g MC_my_resourcegroup_westeurope --query "[].id" -o tsv)
Ответ 3
Выше метод (az vm <deallocate|start> --ids $(...)
) больше не работает.
Решено первым перечислением наборов шкал виртуальных машин и использовать их для освобождения/запуска:
$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}
Ответ 4
В вашем кластере AKS перейдите в свойства и найдите имя группы ресурсов. найдите группу ресурсов и, когда вы ее выберете, она перечислит ваши виртуальные машины. Для каждой виртуальной машины выберите опцию "Операции"> "Автоматическое отключение" и включите ее. Это отключит виртуальную машину, сэкономив ваши деньги, когда вы не разрабатываете! Чтобы снова включить их, вам нужно будет следовать советам предыдущих ответов или ответу здесь