Nach Ihrer Beschreibung scheint es, Sie haben nicht konfiguriert den Service Principal korrekt.
Möglicherweise müssen Sie überprüfen, ob die Anmeldeinformationen korrekt angegeben wurden und dass der konfigurierte Dienstprinzipal über Lese- und Schreibberechtigungen für das Ziel-Abonnement verfügt.
Wenn Ihr Service Principal falsch konfiguriert ist, wird keine der kubernetes-Komponenten auf eine gesunde Weise angezeigt. Wir können überprüfen, ob das Problem zu sehen:
[email protected]:~# journalctl -u kubelet | grep --text autorest
Wenn Sie Ausgabe sehen, die wie folgt aussieht, es bedeutet, dass Sie nicht den Dienstprinzipal richtig konfiguriert haben.
May 18 07:09:36 k8s-master-D9DE702A-0 docker[5534]: E0518 07:09:36.901937 5920 kubelet.go:1186] Cannot get Node info: failed to get external ID from cloud provider: autorest#WithErrorUnlessStatusCode: POST https://login.microsoftonline.com/1fcf418e-66ed-4c99-9449-d8e18bf8737a/oauth2/token?api-version=1.0 failed with 400 Bad Request: StatusCode=400
May 18 07:09:37 k8s-master-D9DE702A-0 docker[5534]: E0518 07:09:37.119646 5920 kubelet_node_status.go:70] Unable to construct api.Node object for kubelet: failed to get external ID from cloud provider: autorest#WithErrorUnlessStatusCode: POST https://login.microsoftonline.com/1fcf418e-66ed-4c99-9449-d8e18bf8737a/oauth2/token?api-version=1.0 failed with 400 Bad Request: StatusCode=400
Weitere Informationen darüber, wie ein Dienstprinzipal für ACS-Engin Kubernetes Cluster erstellen/konfigurieren, finden Sie in diesem Azure CLI 2.0 oder PowerShell.
Wir können CLI 2.0 verwenden, um Informationen über ACS zu erhalten, die clientId ist der Dienstprinzipal.
C:\Users>az acs show -g k8s -n containerservice-k8s
{
"agentPoolProfiles": [
{
.
.
.
.
},
"provisioningState": "Succeeded",
"resourceGroup": "k8s",
"servicePrincipalProfile": {
"clientId": "1498b171-xxxx-xxxx-xxxx-8ef56a178b89",
"secret": null
},
"tags": null,
"type": "Microsoft.ContainerService/ContainerServices",
"windowsProfile": null
}
Wir können Powershell verwenden, um die Service-Haupt zu bekommen:
PS C:\Users> Get-AzureRmADServicePrincipal | ?{ $_.ApplicationId -eq "1498b171-xxxx-xxxx-xxxx-8ef56a178b89" } | fl *
ServicePrincipalNames : {http://azure-cli-2017-04-13-08-16-07, 1498b171-xxxx-xxxx-xxxx-8ef56a178b89}
ApplicationId : 1498b171-xxxx-xxxx-xxxx-8ef56a178b89
DisplayName : azure-cli-2017-04-13-08-16-07
Id : d86886b9-xxxx-xxxx-xxxx-25ab57803a33
Type : ServicePrincipal
manchmal Dinge wie diese passieren, würde ich vorschlagen, Cluster von Grund auf neu zu installieren. – 4c74356b41
Ich habe das schon 3 mal probiert und jedes Mal klappt es nicht. – Tourna
Wie implementieren Sie das? – 4c74356b41