Issue with service visibility and metrics in Linkerd2 dashboard

Hello, I hope this message finds you well. I’m experiencing an issue with my Linkerd2 deployment, specifically related to service visibility and metrics in the dashboard. The problem I’m facing is that the services are not being displayed in the dashboard, and the default route metrics show zero values in the pod statistics. Based on this, it appears that my Linkerd installation is unable to detect and recognize the services within Kubernetes. However, other aspects of Linkerd seem to be functioning properly and displaying correctly. The proxies are being injected, and deployments are being meshed.

To provide some context, I initially set up my Kubernetes cluster using Kubespray with mostly default configurations. Afterwards, I installed ingress-nginx within the cluster. Now, I’m attempting to install Linkerd2 and the Linkerd-viz dashboard.

Within the cluster, I have cilium installed with the default settings specified in Kubespray during the cluster deployment, and no modifications have been made there.

Following the Linkerd documentation, I added annotations to the ingress controller through the Helm chart with the following annotations:

ingress-nginx:
  controller:
    podAnnotations:
      linkerd.io/inject: enabled

However, after applying these annotations, all ingresses that had the annotation nginx.ingress.kubernetes.io/whitelist-source-range stopped functioning.

After investigating possible solutions, the only approach I found was to specify additional annotations to the ingress controller in the Helm chart, like this:

ingress-nginx:
  controller:
    podAnnotations:
      config.linkerd.io/skip-inbound-ports: 80,443
      linkerd.io/inject: enabled

With this configuration, most things seem to be working as expected, but Linkerd is still unable to detect the services and register metrics for the routes.

I would greatly appreciate any insights into the possible reasons for this issue and any suggestions for resolving it. Your expertise and guidance would be invaluable in helping me overcome this challenge.

Thank you in advance for your assistance.


Kube Proxy Replacement mode (strict/partial)

cilium_kube_proxy_replacement: partial

KubeProxyReplacement Details:
Status: Probe
Socket LB Protocols: TCP, UDP
Devices: eno1 ************** (Direct Routing)
Mode: SNAT
Backend Selection: Random
Session Affinity: Enabled
Graceful Termination: Enabled
XDP Acceleration: Disabled
Services:

  • ClusterIP: Enabled
  • NodePort: Enabled (Range: 30000-32767)
  • LoadBalancer: Enabled
  • externalIPs: Enabled
  • HostPort: Enabled