The health check in the "control plane" section of the LinkerD dashboard reports the following error/warning about the tap API service. The dashboard is running behind an NGINX proxy in a Kubernetes 1.16.5 cluster.
! tap api service is running
apiservices.apiregistration.k8s.io "v1alpha1.tap.linkerd.io" is forbidden: User "system:serviceaccount:linkerd:linkerd-web" cannot get resource "apiservices" in API group "apiregistration.k8s.io" at the cluster scope
see https://linkerd.io/checks/#l5d-tap-api for hints
The recommended URL does not seem to provide anything useful for that situation.
The tap tool is working from the dashboard.
By clicking "RUN LINKERD CHECK" in the Control Plane of the dashboard.
The only errors I can see are inside the linkerd tap pods. They happen when you stop the the "tap" tool. I replaced the actual IPs with zeros.
time="2020-04-14T20:48:10Z" level=error msg="[0.0.0.0] encountered an error: rpc error: code = Canceled desc = con
text canceled"
time="2020-04-14T20:48:10Z" level=error msg="[0.0.0.0] encountered an error: rpc error: code = Canceled desc = cont
ext canceled"
linkerd check outputIf I run "linkerd check" from my PC, it does not report any security errors:
kubernetes-api
--------------
โ can initialize the client
โ can query the Kubernetes API
kubernetes-version
------------------
โ is running the minimum Kubernetes API version
โ is running the minimum kubectl version
linkerd-existence
-----------------
โ 'linkerd-config' config map exists
โ heartbeat ServiceAccount exist
โ control plane replica sets are ready
โ no unschedulable pods
โ controller pod is running
โ can initialize the client
โ can query the control plane API
linkerd-config
--------------
โ control plane Namespace exists
โ control plane ClusterRoles exist
โ control plane ClusterRoleBindings exist
โ control plane ServiceAccounts exist
โ control plane CustomResourceDefinitions exist
โ control plane MutatingWebhookConfigurations exist
โ control plane ValidatingWebhookConfigurations exist
โ control plane PodSecurityPolicies exist
linkerd-identity
----------------
โ certificate config is valid
โ trust roots are using supported crypto algorithm
โ trust roots are within their validity period
โ trust roots are valid for at least 60 days
โ issuer cert is using supported crypto algorithm
โ issuer cert is within its validity period
โ issuer cert is valid for at least 60 days
โ issuer cert is issued by the trust root
linkerd-api
-----------
โ control plane pods are ready
โ control plane self-check
โ [kubernetes] control plane can talk to Kubernetes
โ [prometheus] control plane can talk to Prometheus
โ tap api service is running
linkerd-version
---------------
โ can determine the latest version
โ cli is up-to-date
control-plane-version
---------------------
โ control plane is up-to-date
โ control plane and cli versions match
Status check results are โ
RBAC is tough! This is an issue with the service account that the dashboard is running under and is innocuous (though we should fix it). Thank you for the report!
Most helpful comment
RBAC is tough! This is an issue with the service account that the dashboard is running under and is innocuous (though we should fix it). Thank you for the report!