windows - 如何确保 az kubectl 凭据不会过期并且 kubectl 可以通过生产中的脚本运行?

标签 windows azure kubernetes azure-cli

我正在使用 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 服务集群用户角色

您可以获取更多详情here并决定使用哪个。您可以设置服务主体的到期日期,看看另一个 issue .

关于windows - 如何确保 az kubectl 凭据不会过期并且 kubectl 可以通过生产中的脚本运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57307357/

相关文章:

azure - 如何添加/使用构建标签?

kubernetes - kubectl应用-奇怪的空运行

kubernetes - 移动或更改卷命名空间

Kubernetes 上的 Elasticsearch - 'Elastic Cloud (ECK)' 与 'Helm charts'

windows - 在外部exe程序上跳过 'press any key to continue'

c++ - PrintWindow函数在notepad.exe中出错

azure - 如何在 TrainCustomModelAsync 表单识别器上定位本地路径

azure - 如何在 Azure 上重置 Kudu 缓存部署

windows - 如何在 Windows 上执行校验和?

mysql - QMYSQL 驱动程序未加载(其他解决方案?)