我曾尝试在我的Kubernetes集群上安装Cassandra。执行命令后
kubectl apply -f Cassandra-service.yaml
和
kubectl apply -f cassandra-statefulset.yaml
我没有错误,但三个Cassandras吊舱没有设置。
当我执行
kubectl get pods -o wide
结果是一个名为Cassandra-0
的吊舱尚未就绪。我预计Cassandra pods已经安装好了。
这是我的cassandra-statefulset.yaml
文件:https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/cassandra/cassandra-statefulset.yaml
我希望有三个Cassandra pods,但只有一个处于待定状态:
这是上一个命令的结果:
您使用什么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
也许minikube配置上没有足够的资源,所以尝试删除,重新配置和启动minikube,然后再次部署cassandra。
注意:minikube delete将删除所有配置的k8s群集,即caferul。
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/