calico: setting felix / typha healthport does not work

I would like to change the felix healthport from the default 9099. By looking at felixconfigurations.crd.projectcalico.org, I can see the parameter there:

          healthPort:
            type: integer

However, after setting that parameter, I still see felix using 9099.

I guess the problem is that the operator has that value hardcoded as 9099:

https://github.com/tigera/operator/blob/master/pkg/render/node.go#L1586

Expected Behavior

I would like to have a way to set healthports, for example felix or typha, in case I have some other pods using that port too

Current Behavior

Not possible to change those ports when using the operator

Possible Solution

Expose the healthport numbers in the operator CRD

Steps to Reproduce (for bugs)

  1. Deploy calico via the operator
  2. Change the felix healthport in felixconfigurations.crd.projectcalico.org
  3. Reboot the calico-node daemonset with the new value

Context

Deploy with other apps using the default port

Your Environment

  • Calico version: v3.21.2
  • Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes
  • Operating System and version: Ubuntu 20
  • Link to your project (optional):

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (14 by maintainers)

Most upvoted comments

I think @howels you are aware that PR will adjust Typha also but if not or for any others that come across this issue. That PR also sets the Typha healthport, it sets it to FelixHealth-1. So if Felix HealthPort is set to 9399, typha will use 9398.

Could we please ensure that Felix healthport and typha healthport are both exposed via the operator, to avoid conflicts with existing services during installation.