Kubernetes helm cockroachdb GKE-容量已满且不可调整大小

Kubernetes helm cockroachdb GKE-容量已满且不可调整大小,kubernetes,gcloud,google-kubernetes-engine,cockroachdb,Kubernetes,Gcloud,Google Kubernetes Engine,Cockroachdb,我已经部署了一个蟑螂B。 不幸的是,我没有意识到默认的conf给了我一个非常小的1Gi、不可压缩的持久卷。 我也没有意识到蟑螂B使用了相当多的空间来监控自己的时间序列 现在,我的持久卷已满,我的蟑螂荚正在崩溃: log: exiting because of error: log: cannot create log: open /cockroach/cockroach-data/logs/cockroach.ckdb-cockroachdb-0.root.2018-09-09T14_53_47

我已经部署了一个蟑螂B。 不幸的是,我没有意识到默认的conf给了我一个非常小的1Gi、不可压缩的持久卷。 我也没有意识到蟑螂B使用了相当多的空间来监控自己的时间序列

现在,我的持久卷已满,我的蟑螂荚正在崩溃:

log: exiting because of error: log: cannot create log: open /cockroach/cockroach-data/logs/cockroach.ckdb-cockroachdb-0.root.2018-09-09T14_53_47Z.000001.log: no space left on device
我无法调整卷的大小:

kubectl patch pvc datadir-ckdb-cockroachdb-0 -p '{"spec":{"resources":{"requests":{"storage":"10Gi"}}}}'
The PersistentVolumeClaim "datadir-ckdb-cockroachdb-0" is invalid: spec: Forbidden: field is immutable after creation
现在我被卡住了,因为我无法运行节点来取回我的数据。 这里面还有其他的东西吗?我至少想检索我的数据。我的服务已经崩溃了

第二个问题:如果我想在将来避免这种情况,那么在GKE上应该使用哪些值来动态调整卷的大小


第三个问题:头盔图表中的默认值真的应该保持这样吗?

磁盘大小调整它在1.10版的gce pd中还不可用

您需要将StorageClass中的“allowVolumeExpansion”值设置为“true” 不幸的是,GKE 1.10不识别该字段,将其保留为。

同时,为了不丢失数据,您可以确保“回收策略”设置为“保留”,解除PV使用的PVC的绑定,并创建一个新的更大的磁盘。或者,您可以在另一个VM实例上装载GCE-PD以恢复数据。

如前所述,在Kubernetes/GKE 1.11版之前,无法自动调整卷大小

同时,可以通过在中编辑磁盘来手动调整大小。转到此处,单击要调整大小的磁盘,单击页面顶部附近的编辑按钮,键入所需的新磁盘大小(GB),然后单击“保存”。然后,您必须通过SSH连接到相关的pod(例如,
kubectl exec-it ckdb-cockroachdb-0 bash
)中,并使用类似于
resize2fs
的命令调整文件系统的大小,以使用新的磁盘容量


至于您关于更改头盔图表中默认磁盘大小的问题,这是一个公平的问题。但好的默认大小是多少?太低了,这很容易发生。太高,并且在没有足够大的磁盘来成功部署的环境中无法工作。特别是,
minikube
使用tmpfs支持的卷,因此它们的大小受到计算机内存的限制。至少,实例化图表后输出中的警告似乎是有道理的。

我已保存了磁盘内容,并用更大的磁盘大小重新启动了我的蟑螂群集。我看到resize只在1.11版上可用,我希望它能很快在GKE上可用。谢谢Alex。我是蟑螂的坚定支持者,我努力提倡蟑螂,并尽可能多地使用它,这样我就可以知道别人可能陷入的潜在陷阱。这是我应该考虑的一件事,我同意,没有好的默认设置,但是自述文件中应该有一个简单的警告:)