我正在使用 kubectl
来控制 Azure 上的 Kubernetes 服务(扩展、获取 pod 状态)。在生产脚本中自动调用 kubectl 是否安全,而不用担心凭证会过期?
这是我在生产服务器上做过的一次(需要通过网页手动登录)(操作系统是Windows Server 2016):
az login
az account set --subscription="S"
az aks get-credentials --resource-group R --name C
这是在脚本/应用程序中运行的内容:
kubectl get pods
我能否确定最后一个通话从现在开始就可以正常工作(并且不需要在周日晚上手动登录)?
最佳答案
要控制 Azure Kubernetes 服务,您需要执行操作的权限。所以安全的核心是许可。您可以使用具有所需正确权限的服务主体,而无需交互。因此,az login
可以更改为:
az login --service-principal -u service_principal_app_id -p service_principal_secret
要获取访问集群的凭据,有两个权限:
Azure Kubernetes 服务集群管理员角色或Azure Kubernetes 服务集群用户角色
关于windows - 如何确保 az kubectl 凭据不会过期并且 kubectl 可以通过生产中的脚本运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57307357/