Я пытаюсь создать кластер Kubernetes с помощью Azure Management API.
var credentials = SdkContext.AzureCredentialsFactory
.FromFile(Environment.GetEnvironmentVariable("AZURE_AUTH_LOCATION"));
var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();
var kubernetesCluster = azure.KubernetesClusters.Define("aks").WithRegion(Region.EuropeWest)
.WithNewResourceGroup("aksResourceGroup").WithLatestVersion().WithRootUsername("aksUsername")
.WithSshKey(sshPublicKey).WithServicePrincipalClientId("clientId")
.WithServicePrincipalSecret("secret").DefineAgentPool("ap").WithVirtualMachineCount(1)
.WithVirtualMachineSize(ContainerServiceVirtualMachineSizeTypes.StandardA0).Attach()
.WithDnsPrefix("dns-aks").Create();
В последней строке создается исключение CloudException с сообщением: Подписка [] не может быть найдена.
Несмотря на то, что генерируется исключение, группа ресурсов создается, но пуста.
Я вошел в систему с помощью Azure CLI с этим субъектом службы и выполнил
az account list
со следующим ответом:
[
{
"cloudName": "AzureCloud",
"id": "SUBSCRIPTION ID FROM EXCEPTION ABOVE",
"isDefault": true,
"name": "Pay-As-You-Go",
"state": "Enabled",
"tenantId": "xxx",
"user": {
"name": "xxxx",
"type": "servicePrincipal"
}
}
]
Регистрация приложения существует в Azure Active Directory> Регистрация приложений> Все приложения. Я даже дал разрешения на все возможные API.
Что-то я сделал не так, чтобы получить это сообщение об исключении?