...

Text file src/github.com/linkerd/linkerd2/viz/charts/linkerd-viz/templates/metrics-api.yaml

Documentation: github.com/linkerd/linkerd2/viz/charts/linkerd-viz/templates

     1---
     2###
     3### Metrics API
     4###
     5kind: Service
     6apiVersion: v1
     7metadata:
     8  name: metrics-api
     9  namespace: {{ .Release.Namespace }}
    10  labels:
    11    linkerd.io/extension: viz
    12    component: metrics-api
    13    {{- with .Values.commonLabels }}{{ toYaml . | trim | nindent 4 }}{{- end }}
    14  annotations:
    15    {{ include "partials.annotations.created-by" . }}
    16    {{- with .Values.metricsAPI.service.annotations }}{{ toYaml . | trim | nindent 4 }}{{- end }}
    17    linkerd.io/inject: enabled
    18spec:
    19  type: ClusterIP
    20  selector:
    21    linkerd.io/extension: viz
    22    component: metrics-api
    23  ports:
    24  - name: http
    25    port: 8085
    26    targetPort: 8085
    27---
    28{{- $tree := deepCopy . }}
    29apiVersion: apps/v1
    30kind: Deployment
    31metadata:
    32  annotations:
    33    {{ include "partials.annotations.created-by" . }}
    34    linkerd.io/inject: enabled
    35    config.linkerd.io/proxy-await: "enabled"
    36  labels:
    37    linkerd.io/extension: viz
    38    app.kubernetes.io/name: metrics-api
    39    app.kubernetes.io/part-of: Linkerd
    40    app.kubernetes.io/version: {{default .Values.linkerdVersion .Values.cliVersion}}
    41    component: metrics-api
    42    {{- with .Values.commonLabels }}{{ toYaml . | trim | nindent 4 }}{{- end }}
    43  name: metrics-api
    44  namespace: {{ .Release.Namespace }}
    45spec:
    46  replicas: {{.Values.metricsAPI.replicas}}
    47  revisionHistoryLimit: {{.Values.revisionHistoryLimit}}
    48  selector:
    49    matchLabels:
    50      linkerd.io/extension: viz
    51      component: metrics-api
    52  template:
    53    metadata:
    54      annotations:
    55        {{- if empty .Values.cliVersion }}
    56        checksum/config: {{ include (print $.Template.BasePath "/metrics-api-rbac.yaml") . | sha256sum }}
    57        {{- end }}
    58        {{ include "partials.annotations.created-by" . }}
    59        {{- with .Values.metricsAPI.proxy }}
    60        {{- include "partials.proxy.config.annotations" .resources | nindent 8 }}
    61        {{- end }}
    62        {{- with .Values.podAnnotations }}{{ toYaml . | trim | nindent 8 }}{{- end }}
    63        linkerd.io/inject: enabled
    64        config.alpha.linkerd.io/proxy-wait-before-exit-seconds: "0"
    65        cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
    66      labels:
    67        linkerd.io/extension: viz
    68        component: metrics-api
    69        {{- with .Values.podLabels }}{{ toYaml . | trim | nindent 8 }}{{- end }}
    70    spec:
    71      {{- if .Values.metricsAPI.tolerations -}}
    72      {{- include "linkerd.tolerations" (dict "Values" .Values.metricsAPI) | nindent 6 }}
    73      {{- end -}}
    74      {{- include "linkerd.node-selector" (dict "Values" .Values.metricsAPI) | nindent 6 }}
    75      {{- $_ := set $tree "component" "metrics-api" -}}
    76      {{- $_ := set $tree "label" "component" -}}
    77      {{- include "linkerd.affinity" $tree | nindent 6 }}
    78      containers:
    79      - args:
    80        - -controller-namespace={{.Values.linkerdNamespace}}
    81        - -log-level={{.Values.metricsAPI.logLevel | default .Values.defaultLogLevel}}
    82        - -log-format={{.Values.metricsAPI.logFormat | default .Values.defaultLogFormat}}
    83        - -cluster-domain={{.Values.clusterDomain}}
    84        {{- if .Values.prometheusUrl }}
    85        - -prometheus-url={{.Values.prometheusUrl}}
    86        {{- else if .Values.prometheus.enabled }}
    87        - -prometheus-url=http://prometheus.{{.Release.Namespace}}.svc.{{.Values.clusterDomain}}:9090
    88        {{- else }}
    89        {{ fail "Please enable `linkerd-prometheus` or provide `prometheusUrl` for the viz extension to function properly"}}
    90        {{- end }}
    91        - -enable-pprof={{.Values.enablePprof | default false}}
    92        image: {{.Values.metricsAPI.image.registry | default .Values.defaultRegistry}}/{{.Values.metricsAPI.image.name}}:{{.Values.metricsAPI.image.tag | default .Values.linkerdVersion}}
    93        imagePullPolicy: {{.Values.metricsAPI.image.pullPolicy | default .Values.defaultImagePullPolicy}}
    94        livenessProbe:
    95          httpGet:
    96            path: /ping
    97            port: 9995
    98          initialDelaySeconds: 10
    99        name: metrics-api
   100        ports:
   101        - containerPort: 8085
   102          name: http
   103        - containerPort: 9995
   104          name: admin-http
   105        readinessProbe:
   106          failureThreshold: 7
   107          httpGet:
   108            path: /ready
   109            port: 9995
   110        {{- if .Values.metricsAPI.resources -}}
   111        {{- include "partials.resources" .Values.metricsAPI.resources | nindent 8 }}
   112        {{- end }}
   113        securityContext:
   114          allowPrivilegeEscalation: false
   115          capabilities:
   116            drop:
   117            - ALL
   118          runAsNonRoot: true
   119          readOnlyRootFilesystem: true
   120          runAsUser: {{.Values.metricsAPI.UID | default .Values.defaultUID}}
   121          runAsGroup: {{.Values.metricsAPI.GID | default .Values.defaultGID}}
   122          seccompProfile:
   123            type: RuntimeDefault
   124      securityContext:
   125        seccompProfile:
   126          type: RuntimeDefault
   127      serviceAccountName: metrics-api
   128{{- if and .Values.enablePodDisruptionBudget (gt (int .Values.metricsAPI.replicas) 1) }}
   129---
   130kind: PodDisruptionBudget
   131apiVersion: policy/v1
   132metadata:
   133  name: metrics-api
   134  namespace: {{ .Release.Namespace }}
   135  labels:
   136    linkerd.io/extension: viz
   137    component: metrics-api
   138    namespace: {{.Release.Namespace}}
   139    {{- with .Values.commonLabels }}{{ toYaml . | trim | nindent 4 }}{{- end }}
   140  annotations:
   141    {{ include "partials.annotations.created-by" . }}
   142spec:
   143  maxUnavailable: 1
   144  selector:
   145    matchLabels:
   146      linkerd.io/extension: viz
   147      component: metrics-api
   148{{- end }}

View as plain text