Kubernetes上的Spinnaker,如何配置redis和cassandra连接?

Kubernetes上的Spinnaker,如何配置redis和cassandra连接?,kubernetes,spinnaker,Kubernetes,Spinnaker,我目前正试图在我们内部的库伯内特斯星系团上启动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

我目前正试图在我们内部的库伯内特斯星系团上启动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的echo服务类似的问题。我得到一个:PoolTimeoutException:[host=localhost(127.0.0.1):9160.我假设它想尝试连接到cassandra,因为这将是一个端口。这个连接应该如何工作?运行cassandra并从我得到的结果更新ip?因为一切都是动态的,我希望找到一些服务名称关系,但我不确定在-local.yml文件中为配置放置什么
  • 第三个问题在于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集群的Fabric8UI似乎可以识别大部分部件


这些IP/端口组合是使用
实验性/kubernetes/config/
中的文件配置的,这些文件被打包成机密文件,并由每个组件加载。您能验证这些机密是否已创建吗?
kubectl get secrets--namespace spinnaker
(所有这三个问题听起来都像是源于缺少的配置文件)是的,创建了包含配置文件的机密。我已将配置添加到文件的-local.yml副本中-我希望该机制也适用于kubernetes?因为我不知道cassandra和redis的ip地址,所以我首先部署它们,注意ip,将它们添加到yml文件中并存储机密,然后启动其他服务?H您在中接触过配置吗?这是设置这些端点的地方。它们来自服务定义,由中的每个组件加载。感谢您的回复。我确实修改了该文件(但可能是错误的,我复制了default-spinnaker-local.yml文件,然后替换了kubernetes配置文件夹中的文件。我恢复了该文件。但是连接仍然不工作(见上文)。我需要在kubernetes中注册“spkr clouddriver.spinnaker.svc.cluster.local”还是需要设置该值?(对我来说,我对kubernetes和服务/主机发现非常陌生)你的kubernetes集群中是否运行SkyDNS?你可以检查在命名空间
kube系统
中是否有名为
kub-dns-v**
的RC运行(
kubectl get RC--namespace kube系统
)。kubernetes dns的文档是。