将当前 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)
我是 运行 一个需要当前 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)