AKS 创建的服务主体密码过期
AKS Created Service Principal Password Expiry
我使用 'Create Kubernetes cluster' 功能在 Azure 门户中创建了我的 AKS 集群,并允许它创建一个新的服务主体。
我开始怀疑这位校长使用的凭据是否已过期。为了避免 K8s 在凭据过期时与 Azure 通信时出现问题,我开始查看已创建的帐户。
如果我 运行:
我会看到什么
az ad app show --id <app Id>
... 是除密码到期之外的帐户清单。我不需要看到密码本身,只需要在它过期时看到它。
passwordCredentials,然而,是一个空数组。
我期望找到的是 startDate 和 endDate 属性,就像我为自己创建的帐户所做的那样。
此处描述的 PasswordCredential class:
AKS 群集创建过程在创建其服务主体凭据时是否做了一些不同的事情,这意味着它们不会过期?我只是不允许看到细节吗?我误解了一些基本的东西吗?
首先,我需要对您引用的passwordCredentials做一个解释。它是关于应用程序注册密钥的 属性。当您创建 AKS 群集时,没有创建密钥,因此 passwordCredentials 显示为空。如果您在应用注册中创建密钥,它将显示如下:
此外,当您部署 AKS 群集时,密码将永不过期。不过不用担心,您可以在设置中创建应用程序注册密钥并为其指定过期时间。也可以重置时间和密钥密码。
但是使用 CLI 命令重置密码时要小心 az ad sp credential reset
。此命令将覆盖所有密钥,而不仅仅是重置到期时间和密码。这意味着为您创建一个新密钥并删除之前创建的所有密钥,或者只使用参数 --append
.
创建一个新密钥
你可以看看文档Azure Kubernetes Service (AKS) with Azure AD。希望对您有所帮助。
遇到了 AKS 的相同服务原则到期问题。
作为一种快速解决方法,使用 Azure 门户创建了新密钥并使用新的客户端密钥手动更新了所有 AKS 节点(/etc/kubernetes/azure.json)并一个接一个地重新启动,而且主节点不是更新了新的 client_secret(很明显)。因此,新扩展的节点会出现过期的客户端密钥!!(问题)
30.01.2019 收到 Azure 支持的回复,他们正在 azure cli 中添加新选项以更新服务主体。
31.01.2019 刚刚升级了我的 Azure CLI 以检查新功能,幸运的是它在那里并更新了我的测试集群及其工作!
az aks update-credentials --reset-service-principal --service-principal <client-id> --client-secret <secret>
注意: client-id 和 client-secret 应该由您创建
它基本上更新了所有节点上的/etc/kubernetes/azure.json文件,然后一个一个地重启它!
也试过按比例放大,效果很好!
我使用 'Create Kubernetes cluster' 功能在 Azure 门户中创建了我的 AKS 集群,并允许它创建一个新的服务主体。
我开始怀疑这位校长使用的凭据是否已过期。为了避免 K8s 在凭据过期时与 Azure 通信时出现问题,我开始查看已创建的帐户。
如果我 运行:
我会看到什么az ad app show --id <app Id>
... 是除密码到期之外的帐户清单。我不需要看到密码本身,只需要在它过期时看到它。
passwordCredentials,然而,是一个空数组。
我期望找到的是 startDate 和 endDate 属性,就像我为自己创建的帐户所做的那样。
此处描述的 PasswordCredential class:
AKS 群集创建过程在创建其服务主体凭据时是否做了一些不同的事情,这意味着它们不会过期?我只是不允许看到细节吗?我误解了一些基本的东西吗?
首先,我需要对您引用的passwordCredentials做一个解释。它是关于应用程序注册密钥的 属性。当您创建 AKS 群集时,没有创建密钥,因此 passwordCredentials 显示为空。如果您在应用注册中创建密钥,它将显示如下:
此外,当您部署 AKS 群集时,密码将永不过期。不过不用担心,您可以在设置中创建应用程序注册密钥并为其指定过期时间。也可以重置时间和密钥密码。
但是使用 CLI 命令重置密码时要小心 az ad sp credential reset
。此命令将覆盖所有密钥,而不仅仅是重置到期时间和密码。这意味着为您创建一个新密钥并删除之前创建的所有密钥,或者只使用参数 --append
.
你可以看看文档Azure Kubernetes Service (AKS) with Azure AD。希望对您有所帮助。
遇到了 AKS 的相同服务原则到期问题。
作为一种快速解决方法,使用 Azure 门户创建了新密钥并使用新的客户端密钥手动更新了所有 AKS 节点(/etc/kubernetes/azure.json)并一个接一个地重新启动,而且主节点不是更新了新的 client_secret(很明显)。因此,新扩展的节点会出现过期的客户端密钥!!(问题)
30.01.2019 收到 Azure 支持的回复,他们正在 azure cli 中添加新选项以更新服务主体。
31.01.2019 刚刚升级了我的 Azure CLI 以检查新功能,幸运的是它在那里并更新了我的测试集群及其工作!
az aks update-credentials --reset-service-principal --service-principal <client-id> --client-secret <secret>
注意: client-id 和 client-secret 应该由您创建
它基本上更新了所有节点上的/etc/kubernetes/azure.json文件,然后一个一个地重启它!
也试过按比例放大,效果很好!