1

このガイドを使用して、OpenStack で先週ほど Kubernetes クラスターをセットアップしようとしました。プロセスでいくつかの問題に直面しましたが、そのうちの 1 つはこの質問で説明されています -> OpenStack で kube-up.sh が失敗します

スクリプトを発行すると、 openstack stack create step ( Log./cluster/kube-up.sh )を使用してクラスターを立ち上げようとします。ここで、何らかの理由で kubernetes マスターが適切に起動せず、ここでインストールが失敗します。マスター ノードに SSH で接続できたところ、/var/log/cloud-init-output.log

[..]
Complete!
*  INFO: Running install_centos_stable_post()
*  INFO: Running install_centos_check_services()
*  INFO: Running install_centos_restart_daemons()
*  INFO: Running daemons_running()
*  INFO: Salt installed!
2017-01-02 12:57:31,574 - cc_scripts_user.py[WARNING]: Failed to run module scripts-user (scripts in /var/lib/cloud/instance/scripts)
2017-01-02 12:57:31,576 - util.py[WARNING]: Running scripts-user (<module 'cloudinit.config.cc_scripts_user' from '/usr/lib/python2.7/site-packages/cloudinit/config/cc_scripts_user.pyc'>) failed
Cloud-init v. 0.7.5 finished at Mon, 02 Jan 2017 12:57:31 +0000. Datasource DataSourceOpenStack [net,ver=2].  Up 211.20 seconds

さらに掘り下げると、 /var/log/messages ファイルにこのスニペットが見つかりました-> https://paste.ubuntu.com/23733430/

したがって、Docker デーモンが起動していないと仮定します。また、flanneld サービスも起動していないため、etcd 構成に問題があります。ここに出力がありますservice flanneld status

● flanneld.service - Flanneld overlay address etcd agent
Loaded: loaded (/usr/lib/systemd/system/flanneld.service; enabled; vendor preset: disabled)
Active: activating (start) since Tue 2017-01-03 13:32:37 UTC; 48s ago
Main PID: 15666 (flanneld)
CGroup: /system.slice/flanneld.service
       └─15666 /usr/bin/flanneld -etcd-endpoints= -etcd-prefix= -iface=eth0 --ip-masq

Jan 03 13:33:16 kubernetesstack-master flanneld[15666]: E0103 13:33:16.229827 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:17 kubernetesstack-master flanneld[15666]: E0103 13:33:17.230082 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:18 kubernetesstack-master flanneld[15666]: E0103 13:33:18.230326 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:19 kubernetesstack-master flanneld[15666]: E0103 13:33:19.230560 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:20 kubernetesstack-master flanneld[15666]: E0103 13:33:20.230822 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:21 kubernetesstack-master flanneld[15666]: E0103 13:33:21.231325 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:22 kubernetesstack-master flanneld[15666]: E0103 13:33:22.231581 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:23 kubernetesstack-master flanneld[15666]: E0103 13:33:23.232140 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:24 kubernetesstack-master flanneld[15666]: E0103 13:33:24.234041 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured
Jan 03 13:33:25 kubernetesstack-master flanneld[15666]: E0103 13:33:25.234277 15666 network.go:53] Failed to retrieve network config: client: etcd cluster is unavailable or misconfigured

私の etcd デーモンは実行中です:

[root@kubernetesstack-master salt]# netstat -tanlp | grep etcd
tcp        0      0 192.168.173.3:4379      0.0.0.0:*               LISTEN      20338/etcd
tcp        0      0 192.168.173.3:4380      0.0.0.0:*               LISTEN      20338/etcd

非標準ポートで実行されていますが。

私はプロキシの下の企業ネットワークにもいます。これをさらにデバッグする方法についての指針をいただければ幸いです。今のところ、これをどのように進めるかについて行き止まりに達しています。kubernetes slack チャネルで質問しても、結果はゼロです。

4

1 に答える 1

0

/usr/bin/flanneld -etcd-endpoints=

投稿する前に出力を省略しなかったと仮定すると、その行が問題の原因です。非標準ポートで実行されている etcd によって状況が悪化していますが、ありがたいことに、これらの両方に対する解決策は実際には同じ修正であると思います。

「ドロップイン」、オーバーライドなどを含む、の統合systemd記述子を出力するために(systemdセットアップの厳密さに応じて、systemctl cat flanneld.serviceが必要になる場合があります)実行すると予想されます。私の理論が正しければ、そのうちの1つがor のどちらかであり、それがor (ここで見られるように) で利用できると予想される場所です。sudoflanneldEnvironment=EnvironmentFile=flanneld.serviceETCD_ENDPOINTS=FLANNELD_ETCD_ENDPOINTS=Exec

うまくいけば、そのファイルが見つからないか、実際には空白であり、いずれの場合でもvi、etcd エンドポイントについて flanneld に教えることからすぐに離れて、すべてが再びうまくいっています。

于 2017-03-26T05:15:46.633 に答える