我试图按照this guide设置带有外部设备的K8s群集' Azure DNS提供程序。 该指南指出:
当您的Kubernetes群集由ACS创建时,会创建一个名为
/etc/kubernetes/azure.json
的文件来存储用于API访问的Azure凭据。 Kubernetes将此文件用于Azure云提供程序。
当我使用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
答案 0 :(得分:1)
从使用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文件,并可以从中创建秘密。
答案 1 :(得分:0)
使用此命令获取凭据:
az aks get-credentials --resource-group myResourceGroup --name myK8sCluster
来源:
https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough
答案 2 :(得分:0)
您尝试过此命令吗?
cat ~/.kube/config
它提供了我的CI连接到Kubernetes集群并使用API所需的全部