apiVersion: apps/v1 kind: Deployment metadata: name: grafana namespace: observability labels: app: grafana spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: grafana template: metadata: labels: app: grafana annotations: llm.local/compose-service: "grafana" spec: nodeName: prod102 enableServiceLinks: false hostAliases: - ip: 10.0.1.47 hostnames: ["host.docker.internal"] containers: - name: grafana image: grafana/grafana:11.5.2 imagePullPolicy: IfNotPresent command: - "/run.sh" envFrom: - secretRef: name: grafana-env ports: - containerPort: 3000 hostPort: 3001 protocol: TCP volumeMounts: - name: vol0 mountPath: "/etc/grafana/provisioning/dashboards" readOnly: true - name: vol1 mountPath: "/var/lib/grafana/dashboards" readOnly: true - name: vol2 mountPath: "/var/lib/grafana" - name: vol3 mountPath: "/etc/grafana/provisioning/datasources" readOnly: true volumes: - name: vol0 hostPath: path: "/usr/cluster/observability/metrics/grafana/provisioning/dashboards" type: Directory - name: vol1 hostPath: path: "/usr/cluster/observability/metrics/grafana/dashboards" type: Directory - name: vol2 hostPath: path: "/usr/cluster/docker/volumes/observability_grafana_data/_data" type: Directory - name: vol3 hostPath: path: "/usr/cluster/observability/metrics/grafana/provisioning/datasources" type: Directory --- apiVersion: v1 kind: Service metadata: name: grafana namespace: observability spec: selector: app: grafana ports: - name: p3000 port: 3000 targetPort: 3000 protocol: TCP