Install Operator
Prerequisites
- Kubernetes cluster, version >= 1.20.2
- metrics-server (pre-installed with some K8s distributions)
kubectl
and cluster-wide admin access
Preparation
Stage the following images in a locally-accessible container registry:
- All images listed in: https://github.com/p-kimberley/stroom-k8s-operator/blob/master/deploy/images.txt
- MySQL (e.g.
mysql/mysql-server:8.0.25
) - Stroom (e.g.
gchq/stroom:v7-LATEST
) gchq/stroom-log-sender:v2.2.0
(only required if log forwarding is enabled)
Install the Stroom K8s Operator
-
Clone the repository
-
Edit
./deploy/all-in-one.yaml
, prefixing any referenced images with your private registry URL. For example, if your private registry ismy-registry.example.com
, the imagegcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
will become:my-registry.example.com:5000/gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
. -
Deploy the Operator
The Stroom K8s Operator is now deployed to namespace stroom-operator-system
.
You can monitor its progress by watching the Pod named stroom-operator-controller-manager
.
Once it reaches Ready
state, you can deploy a Stroom cluster.
Allocating more resources
If the Operator Pod is killed due to running out of memory, you may want to increase the amount allocated to it.
This can be done by:
- Editing the
resources.limits
settings of the controller Pod inall-in-one.yaml
kubectl apply -f all-in-one.yaml
Note
The Operator retains CPU and memory metrics for allStroomCluster
Pods for a 60-minute window.
In very large deployments, this may cause it to run out of memory.
Next steps
Configure a Stroom database server
Upgrade
Remove