apiVersion: v1 automountServiceAccountToken: false kind: ServiceAccount metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana rules: [] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana-clusterrole rules: [] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: grafana subjects: - kind: ServiceAccount name: grafana namespace: grafana --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana-clusterrolebinding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: grafana-clusterrole subjects: - kind: ServiceAccount name: grafana namespace: grafana --- apiVersion: v1 data: grafana.ini: | [analytics] check_for_updates = true [grafana_net] url = https://grafana.net [log] mode = console [paths] data = /var/lib/grafana/ logs = /var/log/grafana plugins = /var/lib/grafana/plugins provisioning = /etc/grafana/provisioning [server] domain = 'monitoring.gpulive.nhncloud.com' root_url = 'https://monitoring.gpulive.nhncloud.com' [auth.anonymous] enabled = true org_name = Main Org. org_role = Viewer kind: ConfigMap metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana --- apiVersion: v1 data: admin-password: bmhuIUAjMTIz admin-user: YWRtaW4= ldap-toml: "" kind: Secret metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana type: Opaque --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana spec: ports: - name: service port: 80 protocol: TCP targetPort: 3000 selector: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana type: ClusterIP --- apiVersion: v1 kind: PersistentVolume metadata: labels: name: grafana-pvc-pv name: grafana-pvc-pv spec: accessModes: - ReadWriteOnce capacity: storage: 10Gi csi: driver: exa.csi.ddn.com volumeAttributes: bindMount: "false" volumeHandle: exa1:/grafana --- apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/name: grafana name: grafana-pvc namespace: grafana spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi selector: matchLabels: name: grafana-pvc-pv --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 name: grafana namespace: grafana spec: replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana strategy: type: RollingUpdate template: metadata: annotations: kubectl.kubernetes.io/default-container: grafana labels: app.kubernetes.io/instance: grafana app.kubernetes.io/name: grafana app.kubernetes.io/version: 11.5.1 helm.sh/chart: grafana-8.10.0 spec: automountServiceAccountToken: true containers: - env: - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP - name: GF_SECURITY_ADMIN_USER valueFrom: secretKeyRef: key: admin-user name: grafana - name: GF_SECURITY_ADMIN_PASSWORD valueFrom: secretKeyRef: key: admin-password name: grafana - name: GF_PATHS_DATA value: /var/lib/grafana/ - name: GF_PATHS_LOGS value: /var/log/grafana - name: GF_PATHS_PLUGINS value: /var/lib/grafana/plugins - name: GF_PATHS_PROVISIONING value: /etc/grafana/provisioning image: docker.io/grafana/grafana:11.5.1 imagePullPolicy: Always livenessProbe: failureThreshold: 10 httpGet: path: /api/health port: 3000 initialDelaySeconds: 60 timeoutSeconds: 30 name: grafana ports: - containerPort: 3000 name: grafana protocol: TCP - containerPort: 9094 name: gossip-tcp protocol: TCP - containerPort: 9094 name: gossip-udp protocol: UDP - containerPort: 6060 name: profiling protocol: TCP readinessProbe: httpGet: path: /api/health port: 3000 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 250m memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault volumeMounts: - mountPath: /var/lib/grafana name: storage - mountPath: /etc/grafana/grafana.ini name: config subPath: grafana.ini enableServiceLinks: true nodeSelector: nodegroup: nd securityContext: fsGroup: 472 runAsGroup: 472 runAsNonRoot: true runAsUser: 472 serviceAccountName: grafana shareProcessNamespace: false volumes: - name: storage persistentVolumeClaim: claimName: grafana-pvc - configMap: name: grafana name: config --- apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: grafana-gateway namespace: grafana spec: selector: istio: ingressgateway servers: - hosts: - monitoring.gpulive.nhncloud.com port: name: http number: 80 protocol: HTTP tls: httpsRedirect: true - hosts: - monitoring.gpulive.nhncloud.com port: name: https number: 443 protocol: HTTPS tls: credentialName: nhngpuaas-ssl mode: SIMPLE --- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: grafana-vs namespace: grafana spec: gateways: - grafana-gateway hosts: - monitoring.gpulive.nhncloud.com http: - route: - destination: host: grafana port: number: 80