GKE v1.1.1 KubernetesSeedProvider NullPointerException

时间:2015-11-21 01:26:10

标签: kubernetes google-kubernetes-engine

我有一个Cassandra映像,它与GKE集群v1.0.7一起工作,但是在v1.1.1的新GKE集群上开始出现偶然问题(没有对映像进行更改或者如何使用kubectl创建它只是指向一个新集群)。

我正在使用github上的kubernetes Cassandra示例中的kubernetes-cassandra.jar。

我在kubectl日志中看到以下内容。

INFO  21:57:01 Getting endpoints from https://kubernetes.default.cluster.local/api/v1/namespaces/default/endpoints/cassandra
ERROR 21:57:01 Fatal error during configuration loading
java.lang.NullPointerException: null
        at io.k8s.cassandra.KubernetesSeedProvider.getSeeds(KubernetesSeedProvider.java:129) ~[kubernetes-cassandra.jar:na]
        at org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:659) ~[apache-cassandra-2.1.11.jar:2.1.11]
        at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:136) ~[apache-cassandra-2.1.11.jar:2.1.11]
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:168) [apache-cassandra-2.1.11.jar:2.1.11]
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) [apache-cassandra-2.1.11.jar:2.1.11]
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:651) [apache-cassandra-2.1.11.jar:2.1.11]
null
Fatal error during configuration loading; unable to start. See log for stacktrace.


$ kubectl get pods
NAME                         READY     STATUS             RESTARTS   AGE
cassandra                    0/1       CrashLoopBackOff   8          13m

是否有人看到此错误或有关如何排除故障的想法?

1 个答案:

答案 0 :(得分:1)

当服务端点未准备好时,会发生这种情况。要验证这一点,请检查kubectl get endpoints对Cassandra服务的输出。如果它为空,则表示KubernetesSeedProvider无法反序列化从Kubernetes API服务器收到的输出,因为端点的地址处于notReadyAddresses状态。

解决此问题的一个可能方法是在创建Cassandra服务之前创建一个Cassandra pod。