How to configure proxy for everest-operator-controller-manager

Hi all,
I am trying to install Percona Everest in my private environment,
In this env, All nodes must go through a proxy server in order to access the internet.
I have a RKE2 cluster version 1.27 installed and running normally with proxy configured on Node and Containerd level.
I installed Percona Everest on my cluster wih everestctl.
I was able to access to Everest UI but not able to create cluster due to not able to choose DB type although I installed all 3 operators.
After I checked the logs of the operator manager, I saw this error:

ERROR Reconciler error {“controller”: “databaseengine”, “controllerGroup”: “everest.percona.com”, “controllerKind”: “DatabaseEngine”, “DatabaseEngine”: {“name”:“percona-postgresql-operator”,“namespace”:“test”}, “namespace”: “test”, “name”: “percona-postgresql-operator”, “reconcileID”: “c34238b3-8bf9-43fa-8e85-7c2482261d10”, “error”: “Get "https:// check.percona. com/versions/v1/pg-operator/2.3.1": dial tcp 3.140.105.0:443: i/o timeout”}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler

I doubt it because the everest operator controler manager pod does not have proxy configurations so it could not access the check. percona. com URL
So that leads to the issue I am facing.

I tried to edit the deployment, adding http_proxy, https_proxy to the containers ENV but it did not work, the containers won’t start

Does anyone have a suggestion how can I configure proxy for that pod?
Thanks alot

Hi @duytq02,

We have planned in our roadmap to add the ability to configure the proxy envs but we haven’t implemented this yet.

Nonetheless, we did have some success configuring this manually by patching the OLM catalog subscription for the Everest operator and adding these vars.
In order to change the environment variables of the everest operator pod you’ll need to change them in the catalog subscription.
To do so, you’ll need to edit the .spec.config.env array field in the sub/everest-operator resource (e.g. using kubectl edit sub/everest-operator -n everest-system )
You should then see the a new pod come up to replace the old one and this one should have the newly added vars. I don’t think it’s needed but you might need to manually trigger a rollout restart of the percona-everest deployment.

Please let me know if this works for you.

2 Likes

Hi @Diogo_Recharte
Thanks for your quick response and value suggestion.
I modified thi subscription and rollout restart the deployment on everest-system namespace, and it works like a charm.
Really appreciate your help.

Regards,
Duy

1 Like