Назначить текущий ресурс и имя AKS переменным Linux

#azure #azure-cli #azure-container-service

#azure #azure-cli #azure-container-service

Вопрос:

Я запускаю скрипт, для которого требуется группа ресурсов и имя текущей конфигурации клиента AKS. Ранее настроенный с помощью az aks get-credentials …

Текущий сценарий: (Я набираю AKS= что-то и RG = ЧТО-ТО перед запуском)

 az aks update -g $RG -n $AKSNAME ...
 

Требуется сценарий:
(Я ничего не печатаю перед запуском)

 AKSNAME=$(what goes here?)
RG=$(what goes here?)
az aks update -g $RG -n $AKSNAME ...
 

Как я могу автоматически загружать значения RG и AKSNAME с помощью сценария оболочки?

РЕДАКТИРОВАТЬ: в настоящее время я присваиваю значения этим переменным вручную. Я хочу, чтобы скрипт автоматически находил значения, соответствующие кластеру в текущем контексте, например, который использует kubectl.

Ответ №1:

Если вы просто получаете учетные данные с помощью команды az aks get-credentials .... без параметра --admin , то вы можете получить имя кластера следующим образом:

 AKSNAME=$(kubectl config current-context)
 

И если вы используете параметр --admin , то вам нужно изменить команду следующим образом:

 AKSNAME=$(kubectl config view --minify -o jsonpath='{.contexts[0].context.cluster}')
 

Затем вы можете получить имя группы следующим образом:

 RG=$(az aks list --query "[?name == '$AKSNAME'].resourceGroup" -o tsv)