Azureで管理されたKubernetesクラスターを作成しましたが、これは学習目的のためだけであるため、実際に使用している間のみコンピューティングの料金を支払う必要があります。
VM、利用可能なセット、ロードバランサーを正常にシャットダウンして起動する簡単な方法はありますか?
VMのみがすべてのAKSリソースから費用がかかります(VHDも同様ですが、実際にそれらを停止することはできません)。だから、それらの世話をする必要があるだけです。編集:パブリックIpsにも費用がかかりますが、それらを止めることはできません。
AKSクラスターでは、ポータルを使用して、stop\deallocateコマンドを発行するだけです。そして、それらが必要なときにそれらを開始します(すべてが正常に機能しているようです)。
REST API\powershell\cli\various SKDsを使用して、自動化された方法で同じ結果を得ることができます。
Azure CLI を使用して、Powershell経由で仮想マシンを停止できます。
az vm deallocate --ids $(az vm list -g MC_my_resourcegroup_westeurope --query "[].id" -o tsv)
置換MC_my_resourcegroup_westeurope
VMを含むリソースグループの名前。
VMを再び起動する場合は、次を実行します。
az vm start --ids $(az vm list -g MC_my_resourcegroup_westeurope --query "[].id" -o tsv)
上記のメソッド(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}
AKSクラスターで、プロパティに移動し、リソースグループ名を見つけます。リソースグループを検索し、それを選択すると、仮想マシンがリストされます。仮想マシンごとに、[操作]> [自動シャットダウン]オプションを選択してオンにします。これによりVMがオフになり、開発していないときにお金を節約できます!それらを再びオンにするには、以前の回答または回答 ここでアドバイスに従う必要があります