微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决将当前 AKS 资源和名称分配给 linux 变量

我正在运行一个需要资源组和当前 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 使用的是哪个。

解决方法

如果你只是通过命令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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。