【问题标题】:Where to find Kubernetes API credentials with AKS?在哪里可以找到带有 AKS 的 Kubernetes API 凭据?
【发布时间】:2017-11-17 12:08:54
【问题描述】:

我正在尝试关注 this guide 来使用 external-dns 的 Azure DNS 提供程序设置 K8s 集群。 该指南指出:

当您的 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

【问题讨论】:

    标签: azure kubernetes azure-container-service


    【解决方案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 文件并从中创建机密。

    【讨论】:

      【解决方案2】:

      使用此命令获取凭据:

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

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

      【讨论】:

      • 运行这个命令看起来像是下载了一些东西到 /home/{name}/.kube/config 查看它的内容,它看起来不像演练中指定的 json。仍然可以从这个文件创建秘密并让它工作。即“kubectl create secret generic azure-config-file --from-file=/home/{name}/.kube/config”会起作用吗?
      • 已经完成了。我可以毫无困难地遵循该指南。我正在尝试与我在原始问题中链接到的 external-dns 服务集成。我需要尝试按照您的 external-dns 指南中的步骤创建信息
      • 我想我已经通过创建服务主体来获取详细信息解决了这个问题
      【解决方案3】:

      你试过这个命令吗?

      cat ~/.kube/config
      

      它提供了我的 CI 连接到 Kubernetes 集群和使用 API 所需的一切

      【讨论】:

        猜你喜欢
        • 2016-01-04
        • 2020-03-27
        • 1970-01-01
        • 2021-07-04
        • 1970-01-01
        • 2011-08-15
        • 2017-11-08
        • 2020-05-23
        • 2021-05-28
        相关资源
        最近更新 更多