在哪里可以找到带有 AKS 的 Kubernetes API 凭据?

Where to find Kubernetes API credentials with AKS?

我正在尝试按照 this guide 使用外部 dns 的 Azure DNS 提供商设置 K8s 集群。 该指南指出:

When your Kubernetes cluster is created by ACS, a file named /etc/kubernetes/azure.json is created to store the Azure credentials for API access. Kubernetes uses this file for the Azure cloud provider.

当我使用 aks 创建集群时(例如 az aks create --resource-group myResourceGroup --name myK8sCluster --node-count 1 --generate-ssh-keys),此文件不存在。

使用 AKS 时,API 凭据存储在哪里?

本质上,我正在尝试找出将此命令指向何处:

kubectl create secret generic azure-config-file --from- file=/etc/kubernetes/azure.json

使用此命令获取凭据:

az aks get-credentials --resource-group myResourceGroup --name myK8sCluster

来源:
https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

根据我在使用 AKS 时所见,/etc/kubernetes/azure.json 没有创建。作为替代方案,我按照非 Azure 托管站点的使用说明创建了一个服务主体 (https://github.com/kubernetes-incubator/external-dns/blob/master/docs/tutorials/azure.md#optional-create-service-principal)

创建服务主体会生成一些 json,其中包含大部分详细信息。这可用于手动创建 azure.json 文件,并可从中创建秘密。

你试过这个命令了吗?

cat ~/.kube/config

它提供了我 CI 连接到 Kubernetes 集群和使用 API

所需的一切