我用python创建了一个k8s部署脚本,并使用python命令从kubectl
获取配置:
from kubernetes import client, config
config.load_kube_config()
要获取Azure aks配置,我使用以下az
命令:
az login
az aks get-credentials --resource-group [resource group name] --name [aks name]
有没有办法只从python获取azure aks凭证,而不需要az
命令?
谢谢!
3条答案
按热度按时间yhqotfr81#
可以,这可以通过Azure Python SDK完成。
9w11ddsr2#
在这种情况下,解决方案是使用Azure Python SDK绕过Az Cli直接从Azure API检索群集凭据。
https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2019_11_01/operations/_managed_clusters_operations.py#L320
neekobn83#
只是扩展@user1110502的优秀答案,你得到的kubeconfig是一个
CredentialResult
对象。你可以把它转换成一个yaml字符串,然后可以保存为一个文件,如下所示:然后在
kubernetes
python库中使用此配置,您可以将其保存为文件并以kubernetes.config.load_kube_config
的常规方式加载它,但是可以在没有不必要的磁盘IO的情况下实现相同的功能,如下所示:然后可以将
kubernetes
库连接到您的AKS集群: