2017-05-17 19 views
0

私はKubernetesをACS経由で展開しようとしています。デプロイメントは完全に機能しますが、kubectlプロキシを使用してクラスタに接続しようとするとすぐに失敗します。 すべてのkubectlコマンドが失敗します。KubernetesのインストールがACSで失敗する

私はサーバーにSSH接続されており、開始されたコンテナは1つだけです。 -aであっても目に見える単一のものではありません。

なぜこれが起こるのか誰かが気付いたのですか?

+0

は時々このようなことが起こる、私は最初から、クラスタを再インストールすることをお勧め。 – 4c74356b41

+0

私はすでにこれを3回試してみると、うまくいきません。 – Tourna

+0

どのように展開していますか? – 4c74356b41

答えて

0

説明によると、ではなく、にサービスプリンシパルが正しく設定されているようです。
資格情報が正確に提供されていること、および構成されたサービスプリンシパルがターゲットサブスクリプションへの読み取りおよび書き込み権限を持っていることを確認する必要があります。
サービスプリンシパルが誤って設定されている場合、健全な方法でkubernetesコンポーネントが起動しません。私たちは、この問題かどうかを確認することができます:あなたは、次のような出力が表示された場合、それはあなたが正しくサービスプリンシパルを設定していない意味

[email protected]:~# journalctl -u kubelet | grep --text autorest 

。 ACS-ENGIN Kubernetesクラスタのサービスプリンシパルを作成/設定する方法について

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 

詳しい情報は、Azure CLI 2.0またはPowerShellこれを参照してください。

CLI 2.0を使用してACSに関する情報を取得できます.clientIdはサービスプリンシパルです。

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 
} 

我々はサービスプリンシパルを取得するためにPowerShellを使用することができます。

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 
+0

Azure CLIでクラスタを作成して修正できました。そしてそれがそれ自身の上にSPを生成させるようにします。あなたの偉大な応答をありがとう! – Tourna

関連する問題