Each managed observability offering requires a Service Account holding the correct permissions to interface with the querier/ingester frontends. The Showcase Namespace demonstrates how to use the entire monitoring stack.
Service Account
Role & Binding
Create a Role which holds get permissions on the namespace/metrics resource.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: namespace-metrics
rules:
- apiGroups: [""]
  resources:
  - namespace/metrics
  verbs: ["get"]Create a Service Account & grant the role to it.
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: grafana-ds-sa
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: namespace-metrics
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: namespace-metrics
subjects:
- kind: ServiceAccount
  name: grafana-ds-sa
  namespace: showcaseFinally, create a secret, which dynamically populates with a JWT, which can be used to make requests to the monitoring infrastructure.
apiVersion: v1
kind: Secret
metadata:
  name: grafana-ds-sa-token
  annotations:
    kubernetes.io/service-account.name: grafana-ds-sa
type: kubernetes.io/service-account-tokenConfirm a token was created in the secret by running kubectl get secret grafana-ds-sa-token -o jsonpath='{.data.token}'