从我的自定义事件板制作cassandra,cassandra-setup,application和zookeeper之后的docker镜像。 我试图将它部署到Kubernetes Engine,没有错误,但运行不顺利。
这是我从github获取yaml的命令:
curl -L https://raw.githubusercontent.com/Firdauzfan/ThingsboardGSPE/master/docker/k8s/common.yaml > common.yaml
curl -L https://raw.githubusercontent.com/Firdauzfan/ThingsboardGSPE/master/docker/k8s/cassandra.yaml > cassandra.yaml
curl -L https://raw.githubusercontent.com/Firdauzfan/ThingsboardGSPE/master/docker/k8s/zookeeper.yaml > zookeeper.yaml
curl -L https://raw.githubusercontent.com/Firdauzfan/ThingsboardGSPE/master/docker/k8s/tb.yaml > tb.yaml
curl -L https://raw.githubusercontent.com/Firdauzfan/ThingsboardGSPE/master/docker/k8s/cassandra-setup.yaml > cassandra-setup.yaml
这是我的码头图片: https://hub.docker.com/u/firdauzfanani/
示例:当我运行命令kubectl create -f cassandra.yaml时,cassandra引擎只显示运行但尚未准备好。
答案 0 :(得分:0)
如果它显示为not ready
即使它正在运行而没有任何问题(例如:你可以ssh
进入它并且所有服务都在运行),可能是我在yamL文件中定义的redinessprobe配置错误,如下所示,但我对其行为一无所知。考虑accordingly文档应返回0。
readinessProbe:
exec:
command:
- /bin/bash
- -c
- /ready-probe.sh
另一方面,如果当您尝试访问该窗格时遇到某种错误,我会建议您,如果您还没有这样做,请检索更多信息以便继续故障排除运行以下命令:
$ kubectl describe deployments
$ kubectl describe pods
$ kubectl describe services
这一系列命令可以帮助您更好地了解正在发生的事情。
请运行它们并使用输出编辑您的初始帖子,我可以看看它们。
要ssh
进入pod运行:
$ kubectl get pods (to retrieve pod name)
$ kubectl exec -ti PODNAME /bn/bash
<强>更新强> 我部署了你的YAML文件,pod正在运行(我相信)失败的是探测器的内容如下:
cat /ready-probe.sh
if [[ $(nodetool status | grep $POD_IP) == *"UN"* ]]; then
if [[ $DEBUG ]]; then
echo "UN";
fi
exit 0;
else
if [[ $DEBUG ]]; then
echo "Not Up";
fi
exit 1;