- 
                Notifications
    
You must be signed in to change notification settings  - Fork 460
 
Description
/kind bug
[Before submitting an issue, have you checked the Troubleshooting Guide self-managed & managed?]
Yes
What steps did you take and what happened:
I installed the Azure infrastructure provider as part of the cluster-api-operator Helm chart on my management cluster. During installation, the operator fetched manifests from cluster-api-provider-azure.
I am not using a separate namespace for each component and using the same namespace for all providers and the cluster-api-operator.
The below two services created as part of the Azure Service Operator:
azureserviceoperator-controller-manager-metrics-service
azureserviceoperator-webhook-service
...use the following selector:
selector:
  control-plane: controller-manager
This label is also present on other pods in the namespace, such as:
capi-controller-manager
capi-ipam-in-cluster-controller-manager
capi-kubeadm-bootstrap-controller-manager
capi-kubeadm-control-plane-controller-manager
capx-controller-manager
cluster-api-operator
As a result, these unrelated pods are incorrectly added as endpoints to the Azure Service Operator services.
What did you expect to happen:
The services should use a more specific label selector to target only the Azure Service Operator pods.
For example:
selector:
  app.kubernetes.io/name: azure-service-operator
This label is already present on the relevant pods and would correctly scope the services to the intended endpoints.
Anything else you would like to add:
As a workaround, I am patching these services with the below on my values file:
infrastructure:
  azure:
    manifestPatches:
      - |
        apiVersion: v1
        kind: Service
        metadata:
          name: azureserviceoperator-controller-manager-metrics-service
          namespace: capi-providers
        spec:
          selector:
            app.kubernetes.io/name: azure-service-operator
      - |
        apiVersion: v1
        kind: Service
        metadata:
          name: azureserviceoperator-webhook-service
          namespace: capi-providers
        spec:
          selector:
            app.kubernetes.io/name: azure-service-operator
This resolves the issue locally, but I believe the upstream manifests should be corrected to avoid misrouting and unintended service behavior.
Environment:
- cluster-api-provider-azure version:
 
cluster-api-operator: 0.24.0
azure infrastructure provider: v1.21.1
- Kubernetes version: (use 
kubectl version): v1.32.9 - OS (e.g. from 
/etc/os-release): ubuntu 22.04 
Metadata
Metadata
Assignees
Labels
Type
Projects
Status