現在、社内の kubernetes クラスターで Spinnaker を開始しようとしています。現在の状態は次のとおりです。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
data-cassandra-v000-1azd8 1/1 Running 0 3h
data-redis-master-v000-68jzu 1/1 Running 0 4h
spkr-clouddriver-v000-0xpdl 1/1 Running 0 3h
spkr-deck-v000-xsl4o 1/1 Running 0 3h
spkr-echo-v000-metx4 0/1 CrashLoopBackOff 44 3h
spkr-front50-v000-nqfrx 0/1 Running 29 3h
spkr-gate-v000-ep56r 1/1 Running 0 3h
spkr-igor-v000-svkwb 0/1 CrashLoopBackOff 44 3h
spkr-orca-v000-bdeig 0/1 CrashLoopBackOff 44 3h
現在、2.5 の問題があります。回避方法がわかりません。
- orca サービスは redis に接続できません。接続が拒否されます。localhost (または 0.0.0.0) に接続しようとしていると思います。ログには、java.net.ConnectException を含む stackstrace のみが表示されます。正しいIPを指すにはどうすればよいですか? 最初に redis サービスを開始し、それがどこにあるかを把握するだけですか?
- cassandra に接続するエコー サービスに関する同様の問題。次のようになります: PoolTimeoutException: [host=localhost(127.0.0.1):9160. それがポートになるので、cassandraに接続しようとしていると思います。この接続はどのように機能するはずですか? cassandraを実行して、最終的に得たものからIPを更新しますか? すべてが動的であるため、サービス名の関係を見つけたいと思っていましたが、構成のために -local.yml ファイルに何を入れればよいかわかりません。
- 3番目の問題はigorにあります。travis が無効になっているにもかかわらず、空の githubToken について文句を言います。すべてをやり直す勇気があれば、いくつかの値だけを試してみます。
どんなヒントでも大歓迎です:)
どうもありがとう!
更新: @lwander が spinnaker-local.yml ファイルを確認するように指示した後、ファイルがおそらく default-spinnaker-local.yml から作成されたもののコピーであることに気付きました。私はそれを元に戻し、再試行しました:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
data-cassandra-v000-gxgtv 1/1 Running 0 19m
data-redis-master-v000-y4iug 1/1 Running 0 20m
spkr-clouddriver-v000-xe3pe 1/1 Running 0 13m
spkr-deck-v000-mvs88 1/1 Running 0 13m
spkr-echo-v000-tjnk9 0/1 CrashLoopBackOff 6 13m
spkr-front50-v000-s4r61 0/1 Running 3 13m
spkr-gate-v000-5wz0f 0/1 Running 0 13m
spkr-igor-v000-xqv9g 1/1 Running 0 13m
spkr-orca-v000-ahz47 0/1 CrashLoopBackOff 6 13m
しかし、それでも接続エラーが発生します。ホスト名が localhost ではなく、.spinnaker.svc.cluster.local で終わるだけです。それも変更する必要がある値なのか、それとも機能する必要があるのか わかりません。
$ kubectl logs spkr-echo-v000-tjnk9
Caused by: com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException: PoolTimeoutException: [host=data-cassandra.spinnaker.svc.cluster.local(data-cassandra.spinnaker.svc.cluster.local):9160, latency=2000(2000), attempts=1]Timed out waiting for connection
at com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.waitForConnection(SimpleHostConnectionPool.java:231)
at com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.borrowConnection(SimpleHostConnectionPool.java:198)
at com.netflix.astyanax.connectionpool.impl.RoundRobinExecuteWithFailover.borrowConnection(RoundRobinExecuteWithFailover.java:84)
at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:117)
at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:352)
at com.netflix.astyanax.thrift.ThriftKeyspaceImpl.executeOperation(ThriftKeyspaceImpl.java:517)
at com.netflix.astyanax.thrift.ThriftKeyspaceImpl.internalDescribeKeyspace(ThriftKeyspaceImpl.java:268)
at com.netflix.astyanax.thrift.ThriftKeyspaceImpl.describeKeyspace(ThriftKeyspaceImpl.java:264)
at com.netflix.scheduledactions.persistence.cassandra.ThriftCassandraDao.createColumnFamily(ThriftCassandraDao.java:81)
... 70 more
$ kubectl logs spkr-orca-v000-ahz47
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 21 more
Caused by: java.net.UnknownHostException: data-redis-server.spinnaker.svc.cluster.local
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at redis.clients.jedis.Connection.connect(Connection.java:158)
... 44 more
$ kubectl logs spkr-igor-v000-xqv9g
Caused by: java.net.UnknownHostException: spkr-clouddriver.spinnaker.svc.cluster.local: unknown error
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at com.squareup.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
更新 2: 部品を接続するのにそれほど遠くないようです。kubernetes クラスターの fabric8 ui は、そのほとんどを認識しているようです。