使用kubectl脚本运行,如何确保az kubectl凭据不会过期?

down 发表于: 2019-08-01   最后更新时间: 2021-10-09 13:29:31   1,510 游览

我使用kubectl来控制Azure上的Kubernetes服务(用于扩展和获取pod的状态)。 现在需要在生产中的脚本中自动调用kubectl是否安全,而不用担心凭据是否会过期?

这是我在生产服务器上做过的一次(需要通过网页手动登录)(os是Windows Server 2016):

az login
az account set --subscription="S"
az aks get-credentials --resource-group R --name C

这是在script/application中运行的脚本内容:

kubectl get pods

我可以确定现在可以调通,但是,之后会不会凭证过期,还需要重新手动登录?

发表于 2019-08-01

要控制Azure Kubernetes服务,需要获得执行操作的权限。所以安全的核心是许可。你可以使用具有所需权限的服务主体,而无需进行登录交互的方式。所以az登录可以改为:

az login --service-principal -u service_principal_app_id -p service_principal_secret

要获取访问群集的凭据,有两个权限: Azure Kubernetes服务群集Admin角色或User角色
通过凭证,就可以了,使用这种方式。

你的答案

查看kubernetes相关的其他问题或提一个您自己的问题