Issue
-
I have deployed CloudBees CI in EKS with
.OperationsCenter.platform="eks"
and using the AWS Load Balancer Ingress Controller -
The AWS Application Load Balancer shows the targets of Operations Center and Controllers are all Unhealthy although access works as expected
Related Issues
-
BEE-2600: Missing health checks declarations when using ALB ingress controller on EKS
Explanation
CloudBees CI Ingresses are missing the alb.ingress.kubernetes.io/healthcheck-path annotation. This causes all the Application Load Balancer targets to be unhealthy.
In most cases, this is not a critical problem because of the behavior of the AWS Application Load Balancer that forwards the traffic across all unhealthy targets, if they are all unhealthy.
Resolution
Upgrade CloudBees CI to version 2.277.4.2
Workaround
The workaround would be to add the alb.ingress.kubernetes.io/healthcheck-path
annotation in both Operations Center and Managed Controllers:
In the Helm values file, add the annotation alb.ingress.kubernetes.io/healthcheck-path: /cjoc/login
:
OperationsCenter: Ingress: Annotations: alb.ingress.kubernetes.io/healthcheck-path: /cjoc/login
For Managed Controller, in the configuration of the existing Managed Controllers, add the following YAML snippet:
kind: Ingress metadata: annotations: alb.ingress.kubernetes.io/healthcheck-path: /${name}/login
Then restart the Controllers from Operations Center for the change to take effect.