Остановите все вычисления в 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 перейдите в свойства и найдите имя группы ресурсов. найдите группу ресурсов и, когда вы ее выберете, она перечислит ваши виртуальные машины. Для каждой виртуальной машины выберите опцию "Операции"> "Автоматическое отключение" и включите ее. Это отключит виртуальную машину, сэкономив ваши деньги, когда вы не разрабатываете! Чтобы снова включить их, вам нужно будет следовать советам предыдущих ответов или ответу здесь