Changing run parameter for cockroachDB in kubernetes GKE

7/12/2018

I have a running GKE cluster with cockroachDB active. It's been running for quite a while and I don't want to reinitialize it from scratch - it uses the (almost) standard cockroachDB supplied yaml file to start. I need to change a switch in the exec line to modify the logging level -- currently it's set to the below (but that is logging all information messages as well as errors)

exec /cockroach/cockroach start --logtostderr --insecure --advertise-host $(hostname -f) --http-host 0.0.0.0 --join cockroachdb-0.cockroachdb,cockroachdb-1.cockroachdb,cockroa
chdb-2.cockroachdb --cache 25% --max-sql-memory 25%"

How do I do this without completely stopping the DB?

-- bruce
cockroachdb
google-cloud-platform
google-kubernetes-engine
kubernetes

1 Answer

7/12/2018

Kubernetes allows you to update StatefulSets in a rolling manner, such that only one pod is brought down at a time.

The simplest way to make changes is to run kubectl edit statefulset cockroachdb. This will open up a text editor in which you can make the desired change to the command, then save and exit. After that, Kubernetes should handle replacing the pods one-by-one with new pods that use the new command.

For more information:

-- Alex Robinson
Source: StackOverflow