Kubernetes上的Spinnaker,如何配置redis和cassandra连接?
我目前正试图在我们内部的库伯内特斯星系团上启动spinnaker。目前的状态是: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
$ 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是空的。一旦我足够勇敢地重新开始,我将尝试一些值
$ 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的文档是。