Cluster wide kubernetes Operator for Percona XtraDB Cluster

Hello community,
I am quiete new with using Percona . I was wonderning if there is a possibility to have a cluster wide operator.
Basically allowing the creation of differents clusters in differents namespaces.
Thank you in advance.

1 Like

Cluster wide scope is not supported since the operator uses role based privileges, which narrows the operation to operators’ namespace.
However if you’re interested in such functionality, you can escalate your request to the corresponding Percona department.

1 Like

Thank you for your quick response :). How can I do that?

1 Like

You will be contacted by our sales team.
Cluster wide operation is not on our agenda and we would need some priority adjustments if you confirm your interest in this feature.

1 Like

Yes our team is very intersted by this feature.

1 Like

Hello Guys,

I’m digging into this topic also - cluster-wide operator.

According to this page cluster-wide operator is possible.

According to this topic, which is from May 2020, it’ seems not to be possible?

The way it should work, as I understand, is that we create one percona operator in for eg. namespace pxc-operator like so (this is from the link above):

kubectl create namespace pxc-operator
kubectl apply -f deploy/cw-bundle.yaml -n pxc-operator

Then we can create db-cluster in any other namespaces.
kubectl apply -f deploy/cr.yaml -n <any_other_namespace>

Do I get those information right? Or I am wrong?

I have found a solution to install it.

The problem that I was facing is that I had old pxc objects hanging in etcd. While they were there, I couldn’t deploy the db-cluster with kubectl apply -f deploy/cr.yaml -n <namespace>. I had to clean pxc objects, old cgrd’s, delete the operator to do all this, and then redeploy.

It looks like the cluster-wide install works fine. I have the operator in pxc-operator namespace. And the databases in other namespaces.

If I may ask, by the way, what is the reason, that it is advised to use the deployment per namespace, not cluster-wide? Is it because of the security reasons? Or performance? Or maintenance (that the operator is in another, maybe unavailable for the user, namespace?)

1 Like

The primary reason to use operator per namespace if maintenance.
You have more granular control when to upgrade operator.
Cluster-wide is also valid choice though.