如何使用Kubernetes部署我的Cassandra集群

时间:2019-04-15 20:04:56

标签: cassandra kubernetes cluster-computing coreos

我试图在我的Kubernetes集群上安装Cassandra。执行命令

之后
kubectl apply -f Cassandra-service.yaml

kubectl apply -f cassandra-statefulset.yaml

我没有任何错误,但是没有设置三个Cassandras吊舱。

执行时

kubectl get pods -o wide

结果是名为Cassandra-0的容器尚未准备好。我希望Cassandra吊舱已经安装好。

这是我的cassandra-statefulset.yaml文件:https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/cassandra/cassandra-statefulset.yaml

我希望有3个Cassandra吊舱,但只有一个处于待处理状态:

这是上一条命令的结果:

2 个答案:

答案 0 :(得分:1)

您使用哪种Kubernetes环境?您使用Minikube吗?

似乎集群无法创建PersistentVolumeClaim。也许StorageClass配置不适合您的集群。

Cassandra部署示例还包含:

        resources:
          limits:
            cpu: "500m"
            memory: 1Gi
          requests:
            cpu: "500m"
            memory: 1Gi

因此,您的群集应具有免费的1.5cpu和〜3Gb。

我认为,为基础架构部署配置Helm图表会更好,更容易,例如-https://github.com/bitnami/charts/tree/master/bitnami/cassandra

答案 1 :(得分:0)

minikube配置上的资源可能不足,因此请尝试删除,重新配置并启动minikube,然后再次部署cassandra。

注意 minikube delete 删除所有已配置的k8s集群,成为咖啡馆。

minikube delete
minikube config set cpus 4
minikube config set memory 5120
minikube start
kubectl apply -f https://k8s.io/examples/application/cassandra/cassandra-service.yaml
kubectl apply -f https://k8s.io/examples/application/cassandra/cassandra-statefulset.yaml

参考:https://kubernetes.io/docs/tutorials/stateful-application/cassandra/