舵蟑螂DB GKE - 卷满且无法调整大小



>我已经部署了带有稳定舵图的cockroachdb。 不幸的是,我没有意识到默认的 conf 给了我一个非常小的 1Gi、无法调整大小的持久卷。 我也没有意识到蟑螂数据库正在使用相当多的空间来监控时间序列。

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

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 上动态调整大小的卷?

第三个问题:掌舵图中的默认值真的应该保持这种状态吗?

正如 https://stackoverflow.com/users/9231144/patrick-w 提到的,在 Kubernetes/GKE 版本 1.11 之前,不可能自动调整卷的大小。

同时,可以通过在GCE管理控制台中编辑磁盘来手动调整它们的大小。转到那里,单击要调整大小的磁盘,单击页面顶部附近的"编辑"按钮,输入所需的新磁盘大小(以 GB 为单位(,然后单击"保存"。然后,您必须通过 SSH 连接到相关的 pod(例如kubectl exec -it ckdb-cockroachdb-0 bash(,然后使用类似resize2fs的命令调整文件系统的大小以使用新的磁盘容量。

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

磁盘大小调整 1.10 上的 gce-pd 尚不可用。

您需要将 StorageClass 中的"allowVolumeExpand"值设置为"true" 不幸的是,GKE 1.10 无法识别此字段并将其保留为 . 随着 1.11 的发布,您应该能够动态调整 PVC 的大小。

同时,为了不丢失数据,您可以确保将"回收策略"设置为"保留",取消绑定PVC,创建PV正在使用的GCE-PD的快照,并创建一个新的,更大的磁盘。或者,您可以将GCE-PD挂载到另一个虚拟机实例上以恢复数据。

最新更新