我正在尝试按照this guide设置带有external-dns的Azure DNS提供程序的K8s群集 . 该指南指出:
当您的ACS创建Kubernetes集群时,会创建一个名为/etc/kubernetes/azure.json的文件来存储用于API访问的Azure凭据 . Kubernetes将此文件用于Azure Cloud 提供程序 .
当我使用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
2 回答
从我使用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文件,并可以从中创建秘密 .
使用此命令获取凭据:
资源:
https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough