将当前 AKS 资源和名称分配给 linux 个变量

Assign current AKS resource and name to linux variables

我是 运行 一个需要当前 AKS 客户端配置的资源组和名称的脚本。以前配置了 az aks get-credentials ...

当前脚本: (我在 运行 之前输入 AKS=something 和 RG=SOMETHING)

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

征求剧本: (我之前什么都没打运行)

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

如何通过 shell 脚本自动加载 RG 和 AKSNAME 值?

编辑:我目前手动为这些变量赋值。我希望脚本自动找到与当前上下文中的集群相对应的值,例如正在使用哪个 kubectl。

如果你只是通过不带参数--admin的命令az aks get-credentials ....获取凭证,那么你可以这样获取集群名称:

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)