#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)