Перезапуск виртуальных машин в масштабируемом наборе в пуле узлов AKS
У меня есть кластер Kubernetes с пулами узлов, и в рамках Chaos Engineering Initiative мне нужно перезапустить виртуальную машину. Есть ли какой-либо код для того же с использованием графа ресурсов Azure?
3 ответа
Когда узлы AKS представляют собой масштабный набор. Затем вам нужно найти группу ресурсов узла, имя масштабируемого набора и идентификатор экземпляра, который вы хотите перезапустить. А затем перезапустите экземпляр. Вот команды CLI:
# get the AKS node resource group name
az aks show -g groupName -n aksName --query nodeResourceGroup
# get the scale set info and all the instance id
az vmss list -g nodeGroupName --query [].name
az vmss list-instances -g nodeGroupName -n vmssName -o table
# restart the instance with the instance Id
az vmss restart -g nodeGroupName -n vmssName --instance-ids n
Если вы сделаете это на портале Azure, выполните те же действия, но сделать это проще.
Вы можете установить Gremlin в своем кластере AKS. Вот подробное руководство, которое я написал: https://www.gremlin.com/community/tutorials/how-to-install-and-use-gremlin-with-kubernetes/
Практикуя Chaos Engineering в кластере kubernetes, важно контролировать радиус поражения ваших атак — например, сколько виртуальных машин вы перезапустите? Вы хотите перезапустить всю виртуальную машину или только один или несколько модулей на виртуальной машине.
В наборе инструментов Chaos уже есть код для получения виртуальных машин из scaleset. Код можно проверить на https://github.com/chaostoolkit-incubator/chaostoolkit-azure/blob/master/chaosazure/vmss/fetcher.py.