2016-07-27 3 views
0

私はkubernetesにPachyderm(ドッキング・ビッグデータ・プラットフォーム)をデプロイしようとしています。 Pachydermによって限定された、私はkubernetes v1.2.2、古いバージョンをインストールする必要があります。ここではガイドhttp://kubernetes.io/docs/getting-started-guides/docker/に従って、ドッカーを介してローカルサーバーにKubernetesを展開します。このガイドはkubernetes> = 1.3.0で動作することができますが、kubernetes 1.2.2のデプロイに使用するといくつか問題がありました。Kubernetes v1.2.2 api-server dosen't start

docker ps -a 
CONTAINER ID  IMAGE            COMMAND     CREATED    STATUS      PORTS    NAMES 
ec38ae951f09  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube apiserver" 8 seconds ago  Exited (255) 7 seconds ago      k8s_apiserver.78ec1de_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_d26fc24e 
55c1b13bb610  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/setup-files.sh IP:1" 8 seconds ago  Up 8 seconds          k8s_setup.e5aa3216_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_1cb4c220 
b9f0e5b3a7a9  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube scheduler" 9 seconds ago  Up 8 seconds          k8s_scheduler.fc12fcbe_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_e5065506 
9cd613d272bc  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube apiserver" 9 seconds ago  Exited (255) 8 seconds ago      k8s_apiserver.78ec1de_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_c04426af 
49fe2c409386  gcr.io/google_containers/etcd:2.2.1    "/usr/local/bin/etcd " 10 seconds ago  Up 9 seconds          k8s_etcd.7e452b0b_k8s-etcd-127.0.0.1_default_1df6a8b4d6e129d5ed8840e370203c11_a6f11fdb 
5b208be18c71  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube controlle" 10 seconds ago  Up 9 seconds          k8s_controller-manager.70414b65_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_c377c5e9 
df194f3cf663  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube proxy --m" 10 seconds ago  Up 9 seconds          k8s_kube-proxy.9a9f4853_k8s-proxy-127.0.0.1_default_5e5303a9d49035e9fad52bfc4c88edc8_63ec0b04 
58b53ec28fbe  gcr.io/google_containers/pause:2.0    "/pause"     10 seconds ago  Up 9 seconds          k8s_POD.6059dfa2_k8s-etcd-127.0.0.1_default_1df6a8b4d6e129d5ed8840e370203c11_21034b2e 
df48fe4cdf0a  gcr.io/google_containers/pause:2.0    "/pause"     10 seconds ago  Up 9 seconds          k8s_POD.6059dfa2_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_4867dbbc 
fe6b74c2a881  gcr.io/google_containers/pause:2.0    "/pause"     10 seconds ago  Up 9 seconds          k8s_POD.6059dfa2_k8s-proxy-127.0.0.1_default_5e5303a9d49035e9fad52bfc4c88edc8_fad2c558 
4c00ad498916  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/hyperkube kubelet -" 25 seconds ago  Up 24 seconds         kubelet 

ドッキングウィンドウコンテナテーブルから、kubernetes1.2.2を展開するときに、私のapiserverがダウンしていることを観察することができます。 kubernetes apiserverの再起動間隔は、expontional backoffアルゴリズムに従います。しかし、決して働かないでください。その後

sv: batch/v1 
    mv: extensions/__internal 
I0727 06:06:27.593708  1 genericapiserver.go:82] Adding storage destination for group batch 
W0727 06:06:27.593745  1 server.go:383] No RSA key provided, service account token authentication disabled 
F0727 06:06:27.593767  1 server.go:410] Invalid Authentication Config: open /srv/kubernetes/basic_auth.csv: no such file or directory 

apiserverここkubernetesのドッキングウィンドウのログを参照してください。いくつかの認証エラーが発生したことに注意してください.Kerbernetesにはキーを許可する必要はありません。コントローラマネージャのログも参照してください。コントローラマネージャは、しかしapiserverが今まで走っていない、apiserverを待ちます。コントローラー・マネージャーもダンプします。

E0727 06:07:10.604801  1 controllermanager.go:259] Failed to get api versions from server: Get http://127.0.0.1:8080/api: dial tcp 127.0.0.1:8080: connection refused 
E0727 06:07:11.604832  1 controllermanager.go:259] Failed to get api versions from server: Get http://127.0.0.1:8080/api: dial tcp 127.0.0.1:8080: connection refused 
E0727 06:07:12.604752  1 controllermanager.go:259] Failed to get api versions from server: Get http://127.0.0.1:8080/api: dial tcp 127.0.0.1:8080: connection refused 
E0727 06:07:13.604803  1 controllermanager.go:259] Failed to get api versions from server: Get http://127.0.0.1:8080/api: dial tcp 127.0.0.1:8080: connection refused 
E0727 06:07:14.604332  1 nodecontroller.go:229] Error monitoring node status: Get http://127.0.0.1:8080/api/v1/nodes: dial tcp 127.0.0.1:8080: connection refused 
E0727 06:07:14.604619  1 controllermanager.go:259] Failed to get api versions from server: Get http://127.0.0.1:8080/api: dial tcp 127.0.0.1:8080: connection refused 
E0727 06:07:14.604861  1 controllermanager.go:259] Failed to get api versions from server: Get http://127.0.0.1:8080/api: dial tcp 127.0.0.1:8080: connection refused 
F0727 06:07:14.604957  1 controllermanager.go:263] Failed to get api versions from server: timed out waiting for the condition 

この問題を解決するにはどうすればよいですか?この問題は長い間私に悩まされています。

============================================== ====================== 更新:

ゴブリンとルーキーの助けを借りて、私は重要な問題はSetup Podsが誘発されていないことに気付きました。 Kubernetesのマニフェストを参照してください、

{ 
     "name": "controller-manager", 

       "/hyperkube", 
       "controller-manager", 
       "--master=127.0.0.1:8080", 
       "--service-account-private-key-file=/srv/kubernetes/server.key", 
       "--root-ca-file=/srv/kubernetes/ca.crt", 
       "--min-resync-period=3m", 
       "--v=2" 
     ], 
     "volumeMounts": [ 
     { 
      "name": "data", 
      "mountPath": "/srv/kubernetes" 
     } 
     ] 
    } 

オプション--service-account-private-key-file=/srv/kubernetes/server.keyは、マニフェストファイルに追加されているが、それは動作しません。換言すれば、コントローラマネージャは、ファイルシステムにこのファイルを見つけることができません。この前提は次のコマンドでサポートされています。

docker exec a82d7f6e4d7d ls -l /srv/kubernetes 
ls: cannot access /srv/kubernetes: No such file or directory 

次に、我々はSetup Podがドッキングウィンドウのvolumnにファイルを置くかどうかを確認してください。残念ながら、我々はSetup Podがトリガされ、したがって、何の証明書ファイルは、ファイルシステムに書き込まれていない、働いていないことがわかります。

docker ps -a | grep setup 
54afdd81349e  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/setup-files.sh IP:1" About a minute ago Up About a minute         k8s_setup.e5aa3216_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_a2edddca 
6f714e034098  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/setup-files.sh IP:1" 4 minutes ago  Exited (7) 2 minutes ago       k8s_setup.e5aa3216_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_0d7dab5b 
8358f6644d94  gcr.io/google_containers/hyperkube-amd64:v1.2.2 "/setup-files.sh IP:1" 6 minutes ago  Exited (7) 4 minutes ago       k8s_setup.e5aa3216_k8s-master-127.0.0.1_default_4c6ab43ac4ee970e1f563d76ab3d3ec9_41e4c686 

さらにデバッグする方法はありますか?それとも、Kubernetesバージョン1.2のバグですか?

答えて

0
F0727 06:06:27.593767  1 server.go:410] Invalid Authentication Config: open /srv/kubernetes/basic_auth.csv: no such file or directory 

基本認証ファイル/srv/kubernetes/basic_auth.csvは、基本認証ファイルを作成するか、設定フラグを削除しています。

Kubernetes authentication

0

実際には、私の意見では、より重要であるW0727 06:06:27.593745 1 server.go:383] No RSA key provided, service account token authentication disabledです。サービストークンが適切に生成することができないので--service-account-private-key-fileはコントローラマネージャに欠けているように

は思えます。

関連する問題