我想将大三角帆部署到我们公司的kubernetes集群中。 我已经克隆了大三角帆的主分支并相应地修改了大三角帆本地文件。我们使用内部docker注册表,因此我将dockerhub中所需的图像复制到我们自己的图像中。
当我启动" startup-all.sh"脚本似乎redis图像启动了。 然后它尝试启动cassandra数据库。创建工作" data-cassandra-keys"没完成。它一次又一次地创建新的pod。
我尝试使用以下方式获取一些日志:
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
有几十个数据 - 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
任何关于正在发生什么或在哪里看的提示都表示赞赏:)
谢谢!
答案 0 :(得分:1)
" data-cassandra-keys" pod由Kubernetes Job控制器重新创建,但应该更改其重启策略以避免创建太多死pod。它重试了一段时间,因为Cassandra可能需要一段时间才能启动,因此在第一次尝试创建密钥空间后不应该失败。
一个已知问题是,由于权限问题,Cassandra在配置为使用永久磁盘时无法正常启动。你检查过Cassandra pod的日志了吗?数据卡桑德拉-V000-XXXX