Service Meshes Available

istio
linkerd

Linkerd Dashboard

Introduction to Linkerd Dashboard

The Dashboard provides a clickable user interface for administration of Linkerd. The Dashboard provides measurements of success rate, requests/second and latency for services on the mesh. Run the Linkerd Dashboard, by executing:

1linkerd dashboard &

This command port-forwards from your local system to the linkerd-web service. You can also expose the dashboard using Kubernetes ingress, which we will see later in this section.

Since Linkerd's control plane components have the Linkerd proxy sidecarred, you can examine statistics of the traffic you are generating by looking at the dashboard. Execute:

1linkerd -n linkerd top deploy/linkerd-web

Exposing the dashboard

Instead of using linkerd dashboard & every time you'd like to see what's going on, you can expose the dashboard via an ingress. We will use the Nginx ingress, which we had deployed and used in Lab 3.

We will be applying Nginx ingress-traffic rule with basic authentication protocol

1apiVersion: v1
2kind: Secret
3type: Opaque
4metadata:
5 name: web-ingress-auth
6 namespace: linkerd
7data:
8 auth: YWRtaW46JGFwcjEkbjdDdTZnSGwkRTQ3b2dmN0NPOE5SWWpFakJPa1dNLgoK
9---
10apiVersion: extensions/v1beta1
11kind: Ingress
12metadata:
13 name: web-ingress
14 namespace: linkerd
15 annotations:
16 kubernetes.io/ingress.class: "nginx"
17 nginx.ingress.kubernetes.io/upstream-vhost: $service_name.$namespace.svc.cluster.local:8084
18 nginx.ingress.kubernetes.io/configuration-snippet: |
19 proxy_set_header Origin "";
20 proxy_hide_header l5d-remote-ip;
21 proxy_hide_header l5d-server-id;
22 nginx.ingress.kubernetes.io/auth-type: basic
23 nginx.ingress.kubernetes.io/auth-secret: web-ingress-auth
24 nginx.ingress.kubernetes.io/auth-realm: "Authentication Required"
25spec:
26 rules:
27 - host: dashboard.example.com
28 http:
29 paths:
30 - backend:
31 serviceName: linkerd-web
32 servicePort: 8084

This exposes the dashboard at dashboard.example.com and protects it with basic auth with credentials admin,admin.

From here you may need to modify your resolv.conf to add dashboard.example.com to localhost or use an alternative approach in order to see the dashboard deployment. We will not cover this in the workshop.

Tools exposed by dashboard

Linkerd dashboard exposes various CLI tools which may come handy while you debug your application running on mesh.

Mainly there are three tools which Linkerd exposes as an extension to it's CLI commands

stat

This will show the “golden” metrics for each deployment:

  1. Success rates
  2. Request rates
  3. Latency distribution percentiles

top

To get a real-time view of which paths are being called.

{" "}

tap

Shows the stream of requests across a single pod, deployment, or even everything in the emojivoto namespace.

{" "}

NEXT CHAPTER

Getting Started

Layer5, the cloud native management company

An empowerer of engineers, Layer5 helps you extract more value from your infrastructure. Creator and maintainer of cloud native standards. Maker of Meshery, the cloud native manager.