如何使用kubectl获取Azure凭据?



我有以下kubectl命令来获取Azure集群的凭据:

kubectl config set-credentials token --token="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" --auth-provider=azure
但是,这会抛出以下错误:
creating a new azure token source for device code authentication: client-id is empty

在做了一些调查之后,我发现我们需要为client id,tenant idapiserver id提供额外的信息:

kubectl config 
set-credentials "<username>" 
--auth-provider=azure 
--auth-provider-arg=environment=AzurePublicCloud 
--auth-provider-arg=client-id=<kubectl-app-id> 
--auth-provider-arg=tenant-id=<tenant-id> 
--auth-provider-arg=apiserver-id=<apiserver-app-id>

如何获取client idtenant idapiserver id的详细信息?

kubectl config set-credentials命令顾名思义用于设置凭据。如果您想从集群中获取一些信息,有几种方法可以做到。例如,您可以使用Azure Portal。本文描述了所有内容。例如,要获取租户ID,您需要:

  1. 登录您的azure帐户。
  2. 在左侧栏中选择azure active directory
  3. 单击"属性"。
  4. 复制目录ID。

获取Client ID:

  1. 登录您的azure帐户。
  2. 在左侧栏中选择azure active directory
  3. 单击企业应用程序。
  4. 单击"All applications"。
  5. 选择您创建的应用程序
  6. 单击"属性"。
  7. 复制应用程序ID

获取Client Secret:

  1. 登录您的azure帐户。
  2. 在左侧栏中选择azure active directory
  3. 点击App注册。
  4. 选择您创建的应用程序
  5. 点击所有设置。
  6. 点击键
  7. Type密钥描述,并选择持续时间
  8. 单击save。
  9. 复制并存储键值。离开此页后,您将无法检索它。

您也可以根据官方文档使用cli找到这些信息。

您还可以找到租户ID的其他示例(使用Azure门户和cli选项的示例):

az login
az account list
az account tenant list

相关内容

  • 没有找到相关文章

最新更新