1

会社の kubernetes クラスターに Spinnaker をデプロイしたいと考えています。スピンネーカーのマスター ブランチを複製し、それに応じてスピンネーカー ローカル ファイルを変更しました。内部の docker レジストリを使用しているため、必要なイメージを dockerhub から独自のイメージにコピーしました。

「startup-all.sh」スクリプトを開始すると、redis イメージが起動するようです。次に、cassandra データベースを開始しようとします。ジョブ「data-cassandra-keys」の作成が完了しません。新しいポッドを何度も作成します。

以下を使用していくつかのログを取得しようとしました:

c:\spinnaker\experimental\kubernetes>kubectl log data-cassandra-keys-w4yil
W0601 16:20:02.457396   10336 cmd.go:207] log is DEPRECATED and will be removed in a future version. Use logs instead.
Connecting to...
172.23.77.106
9042
Connection error: ('Unable to connect to any servers', {'172.23.77.106': error(None, "Tried connecting to [('172.23.77.106', 9042)]. Last error: timed out")})
Failed to add keyspace create_echo_keyspace.cql

何十もの data-cassandra-keys-xxxxx があります - すべて同じように表示され、kubernetes は新しいキーを作成し続けます。

起動スクリプトは次の場所でスタックしています:

SUCCESS=$(kubectl get job data-cassandra-keys --namespace=spinnaker -o=jsonpath="{.status.succeeded}")

while [ $SUCCESS -ne "1" ]; do
    SUCCESS=$(kubectl get job data-cassandra-keys --namespace=spinnaker -o=jsonpath="{.status.succeeded}")
done

これを機能させるためにどの設定を変更する必要があるのか​​ わかりません(cassandraが接続するホストをどのように認識しているか)。また、「data-cassandra-keys」ジョブが何度も再作成される理由もよくわかりません。

イベントは次のとおりです。

6m        6m        1         data-cassandra-keys-sxp3o   Pod                                         Normal    Scheduled          {default-scheduler }           Successfully assigned data-cassandra-keys-sxp3o to ld9c0193.corp.test
6m        6m        1         data-cassandra-keys-sxp3o   Pod       spec.containers{cassandra-keys}   Normal    Pulled             {kubelet ld9c0193.corp.test}   Container image "docker-registry.corp.ch/kubernetes-spinnaker/cassandra-keys:v2" already present on machine
6m        6m        1         data-cassandra-keys-sxp3o   Pod       spec.containers{cassandra-keys}   Normal    Created            {kubelet ld9c0193.corp.test}   Created container with docker id 46de7bd5f425
6m        6m        1         data-cassandra-keys-sxp3o   Pod       spec.containers{cassandra-keys}   Normal    Started            {kubelet ld9c0193.corp.test}   Started container with docker id 46de7bd5f425

何が起こっているのか、どこを見るべきかについてのヒントは大歓迎です:)

ありがとう!

4

1 に答える 1

1

「data-cassandra-keys」ポッドは Kubernetes ジョブ コントローラーによって再作成されますが、多くのデッド ポッドが作成されないように再起動ポリシーを変更する必要があります。Cassandra は起動に時間がかかることがあるため、しばらく再試行します。したがって、キースペースの作成を最初に試みた後に失敗することはありません。

既知の問題は、永続ディスクを使用するように構成されている場合、パーミッションの問題により、Cassandra が正しく起動しないことです。Cassandra ポッドのログを確認しましたか? データ-cassandra-v000-xxxx

于 2016-06-01T16:35:16.880 に答える