This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
The following commit(s) were added to refs/heads/master by this push:
new a6b09103 [charts] Add dubbo resources dashboards (#530)
a6b09103 is described below
commit a6b09103bb969bd9eba440a987f94b44484f7f38
Author: Jian Zhong <[email protected]>
AuthorDate: Sun Jan 12 16:48:21 2025 +0800
[charts] Add dubbo resources dashboards (#530)
---
docs/multicluster/design.md | 1 -
manifests/charts/admin/README.md.gotmpl | 21 ------
.../files/dashboards/dubbo-resources-traces.yaml | 74 +++++++++++++++++++
.../{admin => dashboard}/certificates.yaml | 0
.../templates/{admin => dashboard}/configmap.yaml | 0
.../templates/{admin => dashboard}/deployment.yaml | 0
.../{admin => dashboard}/networkpolicy.yaml | 0
.../persistentvolumeclaim.yaml | 0
.../{admin => dashboard}/poddisruptionbudget.yaml | 0
.../{admin => dashboard}/podsecuritypolicy.yaml | 0
.../admin/templates/{admin => dashboard}/rbac.yaml | 0
.../templates/{admin => dashboard}/service.yaml | 0
.../{admin => dashboard}/statefulset.yaml | 0
.../charts/admin/templates/exposer/deployment.yaml | 86 ----------------------
.../admin/templates/exposer/ingress-class.yaml | 11 ---
.../charts/admin/templates/exposer/ingress.yaml | 59 ---------------
manifests/charts/admin/templates/exposer/rbac.yaml | 72 ------------------
manifests/charts/admin/values.schema.json | 15 ----
18 files changed, 74 insertions(+), 265 deletions(-)
diff --git a/docs/multicluster/design.md b/docs/multicluster/design.md
deleted file mode 100644
index cd57254f..00000000
--- a/docs/multicluster/design.md
+++ /dev/null
@@ -1 +0,0 @@
-https://www.yuque.com/jiuan-c16st/ofzcvf/vownxi5dy4nzvmm5
diff --git a/manifests/charts/admin/README.md.gotmpl
b/manifests/charts/admin/README.md.gotmpl
deleted file mode 100644
index c17b61e6..00000000
--- a/manifests/charts/admin/README.md.gotmpl
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-## Apache Admin for Kubernetes
-
-Admin is an application within the service governance control plane
-responsible for functions such as service governance and visual representation
of microservice clusters.
-
-
diff --git
a/manifests/charts/admin/files/dashboards/dubbo-resources-traces.yaml
b/manifests/charts/admin/files/dashboards/dubbo-resources-traces.yaml
new file mode 100644
index 00000000..a1c4ac80
--- /dev/null
+++ b/manifests/charts/admin/files/dashboards/dubbo-resources-traces.yaml
@@ -0,0 +1,74 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion
.Values.kubeTargetVersionOverride }}
+{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards)
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9"
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
+ name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $)
"dubbo-app-metrics" | trunc 63 | trimSuffix "-" }}
+ annotations:
+{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
+ labels:
+ {{- if $.Values.grafana.sidecar.dashboards.label }}
+ {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
+ {{- end }}
+ app: {{ template "kube-prometheus-stack.name" $ }}-grafana
+{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
+data:
+ dubbo-app-metrics.json: |-
+
{{`{"annotations":{"list":[{"builtIn":1,"datasource":{"type":"grafana","uid":"--
Grafana --"},"enable":true,"hide":true,"iconColor":"rgba(0, 211, 255,
1)","name":"Annotations &
Alerts","type":"dashboard"}]},"editable":true,"fiscalYearStartMonth":0,"graphTooltip":0,"id":5,"links":[],"liveNow":false,"panels":[{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":14,"panels":[],"title":"应用概览","type":"row"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"fieldConfig":{"
[...]
+ {{- end }}
+---
+{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion
.Values.kubeTargetVersionOverride }}
+{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards)
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9"
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
+ name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $)
"dubbo-ins-metrics" | trunc 63 | trimSuffix "-" }}
+ annotations:
+{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
+ labels:
+ {{- if $.Values.grafana.sidecar.dashboards.label }}
+ {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
+ {{- end }}
+ app: {{ template "kube-prometheus-stack.name" $ }}-grafana
+{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
+data:
+ dubbo-ins-metrics.json: |-
+
{{`{"annotations":{"list":[{"builtIn":1,"datasource":{"type":"grafana","uid":"--
Grafana --"},"enable":true,"hide":true,"iconColor":"rgba(0, 211, 255,
1)","name":"Annotations &
Alerts","type":"dashboard"}]},"editable":true,"fiscalYearStartMonth":0,"graphTooltip":0,"id":6,"links":[],"liveNow":false,"panels":[{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":1,"panels":[],"title":"实例概览","type":"row"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"fieldConfig":{"d
[...]
+ {{- end }}
+---
+{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion
.Values.kubeTargetVersionOverride }}
+{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards)
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9"
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
+ name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $)
"dubbo-svc-metrics" | trunc 63 | trimSuffix "-" }}
+ annotations:
+{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
+ labels:
+ {{- if $.Values.grafana.sidecar.dashboards.label }}
+ {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
+ {{- end }}
+ app: {{ template "kube-prometheus-stack.name" $ }}-grafana
+{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
+data:
+ dubbo-svc-metrics.json: |-
+
{{`{"annotations":{"list":[{"builtIn":1,"datasource":{"type":"grafana","uid":"--
Grafana --"},"enable":true,"hide":true,"iconColor":"rgba(0, 211, 255,
1)","name":"Annotations &
Alerts","type":"dashboard"}]},"editable":true,"fiscalYearStartMonth":0,"graphTooltip":0,"id":7,"links":[],"liveNow":false,"panels":[{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":5,"panels":[],"title":"接口总览","type":"row"},{"datasource":{"type":"prometheus","uid":"${datasource}"},"fieldConfig":{"d
[...]
+ {{- end }}
\ No newline at end of file
diff --git a/manifests/charts/admin/templates/admin/certificates.yaml
b/manifests/charts/admin/templates/dashboard/certificates.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/certificates.yaml
rename to manifests/charts/admin/templates/dashboard/certificates.yaml
diff --git a/manifests/charts/admin/templates/admin/configmap.yaml
b/manifests/charts/admin/templates/dashboard/configmap.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/configmap.yaml
rename to manifests/charts/admin/templates/dashboard/configmap.yaml
diff --git a/manifests/charts/admin/templates/admin/deployment.yaml
b/manifests/charts/admin/templates/dashboard/deployment.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/deployment.yaml
rename to manifests/charts/admin/templates/dashboard/deployment.yaml
diff --git a/manifests/charts/admin/templates/admin/networkpolicy.yaml
b/manifests/charts/admin/templates/dashboard/networkpolicy.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/networkpolicy.yaml
rename to manifests/charts/admin/templates/dashboard/networkpolicy.yaml
diff --git a/manifests/charts/admin/templates/admin/persistentvolumeclaim.yaml
b/manifests/charts/admin/templates/dashboard/persistentvolumeclaim.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/persistentvolumeclaim.yaml
rename to manifests/charts/admin/templates/dashboard/persistentvolumeclaim.yaml
diff --git a/manifests/charts/admin/templates/admin/poddisruptionbudget.yaml
b/manifests/charts/admin/templates/dashboard/poddisruptionbudget.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/poddisruptionbudget.yaml
rename to manifests/charts/admin/templates/dashboard/poddisruptionbudget.yaml
diff --git a/manifests/charts/admin/templates/admin/podsecuritypolicy.yaml
b/manifests/charts/admin/templates/dashboard/podsecuritypolicy.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/podsecuritypolicy.yaml
rename to manifests/charts/admin/templates/dashboard/podsecuritypolicy.yaml
diff --git a/manifests/charts/admin/templates/admin/rbac.yaml
b/manifests/charts/admin/templates/dashboard/rbac.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/rbac.yaml
rename to manifests/charts/admin/templates/dashboard/rbac.yaml
diff --git a/manifests/charts/admin/templates/admin/service.yaml
b/manifests/charts/admin/templates/dashboard/service.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/service.yaml
rename to manifests/charts/admin/templates/dashboard/service.yaml
diff --git a/manifests/charts/admin/templates/admin/statefulset.yaml
b/manifests/charts/admin/templates/dashboard/statefulset.yaml
similarity index 100%
rename from manifests/charts/admin/templates/admin/statefulset.yaml
rename to manifests/charts/admin/templates/dashboard/statefulset.yaml
diff --git a/manifests/charts/admin/templates/exposer/deployment.yaml
b/manifests/charts/admin/templates/exposer/deployment.yaml
deleted file mode 100644
index 9c679a7c..00000000
--- a/manifests/charts/admin/templates/exposer/deployment.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
-{{- $ingress := .Values.ingress -}}
-{{- if $ingress.enabled }}
-apiVersion: {{ template "apiVersion" . }}
-kind: Deployment
-metadata:
- name: {{ template "traefik.name" . }}
- namespace: {{ template "ingress.namespace" . }}
-spec:
- replicas: {{ .Values.ingress.replicas }}
- selector:
- matchLabels:
- {{- include "traefik.labels" . | nindent 6 }}
- strategy:
- {{- toYaml $ingress.strategy | nindent 4 }}
- template:
- metadata:
- labels:
- {{- include "traefik.labels" . | nindent 8 }}
- annotations:
- {{- include "traefik.annotations" . | nindent 8 }}
- spec:
- serviceAccountName: {{ template "traefik.name" }}
- containers:
- - name: traefik
- image: {{ $ingress.image.registry }}:{{ $ingress.image.tag }}
- imagePullPolicy: {{ $ingress.image.pullPolicy }}
- resources:
- {{- toYaml $ingress.resources | nindent 10 }}
- readinessProbe:
- {{- toYaml $ingress.readinessProbe | nindent 10 }}
- livenessProbe:
- {{- toYaml $ingress.livenessProbe | nindent 10 }}
- ports:
- - name: metrics
- containerPort: {{ template "traefik.metrics.containerPort" . }}
- hostPort: {{ template "traefik.metrics.hostPort" . }}
- protocol: TCP
- - name: traefik
- containerPort: {{ template "traefik.traefik.containerPort" . }}
- protocol: TCP
- - name: web
- containerPort: {{ template "traefik.web.containerPort" . }}
- hostPort: {{ template "traefik.web.hostPort" . }}
- protocol: TCP
- - name: websecure
- containerPort: {{ template "traefik.websecure.containerPort" . }}
- hostPort: {{ template "traefik.websecure.hostPort" . }}
- protocol: TCP
- securityContext:
- {{- toYaml $ingress.containersecurityContext | nindent 10 }}
- volumeMounts:
- - name: data
- mountPath: /data
- - name: tmp
- mountPath: /tmp
- args:
- - "--global.checknewversion"
- - "--global.sendanonymoususage"
- - "--entrypoints.metrics.address=:9100/tcp"
- - "--entrypoints.traefik.address=:9000/tcp"
- - "--entrypoints.web.address=:8000/tcp"
- - "--entrypoints.websecure.address=:8443/tcp"
- - "--api.dashboard=true"
- - "--ping=true"
- - "--metrics.prometheus=true"
- - "--metrics.prometheus.entrypoint=metrics"
- - "--providers.kubernetescrd"
- - "--providers.kubernetescrd.allowCrossNamespace=true"
- - "--providers.kubernetescrd.allowExternalNameServices=true"
- - "--providers.kubernetesingress"
- - "--providers.kubernetesingress.allowExternalNameServices=true"
- - "--entrypoints.websecure.http.tls=true"
- - "--log.level=DEBUG"
- - "--accesslog=true"
- - "--accesslog.fields.defaultmode=keep"
- - "--accesslog.fields.headers.defaultmode=drop"
- volumes:
- - name: data
- emptyDir: {}
- - name: tmp
- emptyDir: {}
- nodeSelector:
- {{- toYaml $ingress.nodeSelector | nindent 8 }}
- securityContext:
- {{- toYaml $ingress.securityContext | nindent 8 }}
-{{- end -}}
\ No newline at end of file
diff --git a/manifests/charts/admin/templates/exposer/ingress-class.yaml
b/manifests/charts/admin/templates/exposer/ingress-class.yaml
deleted file mode 100644
index e43d8667..00000000
--- a/manifests/charts/admin/templates/exposer/ingress-class.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-{{- $ingress := .Values.ingress -}}
-{{- if $ingress.enabled }}
-apiVersion: {{ template "network.apiVersion" . }}
-kind: IngressClass
-metadata:
- name: {{ template "traefik.name" . }}
- annotations:
- ingressclass.kubernetes.io/is-default-class: "false"
-spec:
- controller: traefik.io/ingress-controller
-{{- end -}}
diff --git a/manifests/charts/admin/templates/exposer/ingress.yaml
b/manifests/charts/admin/templates/exposer/ingress.yaml
deleted file mode 100644
index 0738c560..00000000
--- a/manifests/charts/admin/templates/exposer/ingress.yaml
+++ /dev/null
@@ -1,59 +0,0 @@
-{{- $ingress := .Values.ingress -}}
-{{- if $ingress.enabled }}
-apiVersion: {{ template "network.apiVersion" . }}
-kind: Ingress
-metadata:
- name: {{ template "admin.name" . }}-ingress
- namespace: {{ template "system.namespaces" . }}
-spec:
- ingressClassName: {{ template "traefik.name" . }}
- rules:
- - host: {{ $ingress.hosts.admin }}
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: {{ template "admin.name" . }}
- port:
- number: {{ template "admin.port" . }}
----
-apiVersion: {{ template "network.apiVersion" . }}
-kind: Ingress
-metadata:
- name: {{ template "prom.name" . }}-ingress
- namespace: {{ template "system.namespaces" . }}
-spec:
- ingressClassName: {{ template "traefik.name" . }}
- rules:
- - host: {{ $ingress.hosts.prometheus }}
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: {{ template "prom.name" . }}
- port:
- number: {{ template "prom.port" . }}
----
-apiVersion: {{ template "network.apiVersion" . }}
-kind: Ingress
-metadata:
- name: {{ template "grafana.name" . }}-ingress
- namespace: {{ template "system.namespaces" . }}
-spec:
- ingressClassName: {{ template "traefik.name" . }}
- rules:
- - host: {{ $ingress.hosts.grafana }}
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: {{ template "grafana.name" . }}
- port:
- number: {{ template "grafana.port" . }}
- {{- end -}}
\ No newline at end of file
diff --git a/manifests/charts/admin/templates/exposer/rbac.yaml
b/manifests/charts/admin/templates/exposer/rbac.yaml
deleted file mode 100644
index 9d2a0db3..00000000
--- a/manifests/charts/admin/templates/exposer/rbac.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-{{- $ingress := .Values.ingress -}}
-{{- $rbac := .Values.rbac -}}
-{{- if $ingress.enabled }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: {{ template "traefik.name" . }}
- namespace: {{ template "ingress.namespace" . }}
----
-apiVersion: {{ include "rbac.apiVersion" . }}
-kind: ClusterRole
-metadata:
- name: {{ include "traefik.name" . }}-clusterrole
-rules:
-- apiGroups:
- - extensions
- - networking.k8s.io
- resources:
- - ingressclasses
- - ingresses
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- - services
- - endpoints
- - secrets
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - extensions
- - networking.k8s.io
- resources:
- - ingresses/status
- verbs:
- - update
-- apiGroups:
- - traefik.io
- - traefik.containo.us
- resources:
- - ingressroutes
- - ingressroutetcps
- - ingressrouteudps
- - middlewares
- - middlewaretcps
- - tlsoptions
- - tlsstores
- - traefikservices
- - serverstransports
- verbs:
- - get
- - list
- - watch
----
-apiVersion: {{ include "rbac.apiVersion" . }}
-kind: ClusterRoleBinding
-metadata:
- name: {{ include "traefik.name" . }}-clusterrolebinding
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: {{ include "traefik.name" . }}-clusterrole
-subjects:
-- kind: ServiceAccount
- name: {{ template "traefik.name" . }}
- namespace: {{ template "ingress.namespace" . }}
- {{- end -}}
\ No newline at end of file
diff --git a/manifests/charts/admin/values.schema.json
b/manifests/charts/admin/values.schema.json
deleted file mode 100644
index b1d05a16..00000000
--- a/manifests/charts/admin/values.schema.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "type": "object",
- "properties": {
- "traffic": {
- "type": "object",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": false
- }
- }
- }
- }
-}