scylladb / scylla-operator

The Kubernetes Operator for ScyllaDB
https://operator.docs.scylladb.com/
Apache License 2.0
326 stars 159 forks source link

UpScale a Node #402

Open ezbz opened 3 years ago

ezbz commented 3 years ago

Extending disk is partially supported, CPU and Mem are not.

Requested by Customers

osenbach commented 2 years ago

Is there a possible workaround until the operation is supported by the operator? Note that I edited the statefulset directly but the operator eventually reverted.

osenbach commented 2 years ago

Ignore the above. The Operator reverted my image tag updates to the statefulset, but my CPU & memory limits stuck. I have a simple workaround of modifying the statefulset directly for requests & limits, while using the operator to manage the image version.

tnozicka commented 2 years ago

yep, operator won't change the statefulset unless you edit/drop scylla-operator.scylladb.com/managed-hash annotation or it actually needs to make an update

support for changing cpu and memory went in https://github.com/scylladb/scylla-operator/pull/763, storage can be resized manually on the PVC but we can't change the initial claim because StatefulSet forbids mutating it.

ronanbarrett commented 2 years ago

I just hit this issue when trying to resize the volumes. The documentation in https://github.com/scylladb/scylla-operator/blame/master/docs/source/scylla_cluster_crd.md#L169 should be fixed:

"Capacity of the PersistentVolume to request." -> "Initial capacity of the PersistentVolume to request."

It isn't obvious that you have to modify the PVCs to get an increased capacity. The operator will not try and reconcile the difference.

tnozicka commented 2 years ago

I guess we could make the wording less ambiguous if it managed to confuse someone. The request part is what should've implied the meaning - you make a "request" to get a PVC with size that's at least this big; it's just a size of the "request", not the size of the PVC. This is in line with how Kubernetes StatefulSets handle it, unfortunately the StatefulSet controller doesn't reconcile nor own the PVCs and we use StefulSets to represent and manage our racks.

kmargod commented 1 year ago

yep, operator won't change the statefulset unless you edit/drop scylla-operator.scylladb.com/managed-hash annotation or it actually needs to make an update

support for changing cpu and memory went in #763, storage can be resized manually on the PVC but we can't change the initial claim because StatefulSet forbids mutating it.

@tnozicka do you know if there is any workaround for this issue?

Thanks,

Diego

tnozicka commented 1 year ago

There is a preview of the docs at https://github.com/scylladb/scylla-operator/pull/1053 (needs a review but could give you some pointers). As with any preview, test this on a toy cluster first.

scylla-operator-bot[bot] commented 1 day ago

The Scylla Operator project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

/lifecycle stale