This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch refactor-with-go
in repository https://gitbox.apache.org/repos/asf/dubbo-admin.git


The following commit(s) were added to refs/heads/refactor-with-go by this push:
     new 9d6cfdfe update addons and kubernetes manifests (#1076)
9d6cfdfe is described below

commit 9d6cfdfe931b7e51f1c32be2589c92acc31660a6
Author: Mford Jody <[email protected]>
AuthorDate: Tue Apr 11 09:49:52 2023 +0800

    update addons and kubernetes manifests (#1076)
---
 deploy/addons/env.sh                               |  26 +-
 .../dubbo-admin.yaml}                              | 545 ++++++++++-----------
 deploy/kubernetes/dubbo-admin/configmap.yaml       |  69 ---
 deploy/kubernetes/dubbo-admin/deployment.yaml      |  74 ---
 deploy/kubernetes/dubbo-admin/pv.yaml              |  37 --
 deploy/kubernetes/dubbo-admin/pvc.yaml             |  26 -
 deploy/kubernetes/dubbo-admin/rbac.yaml            |  63 ---
 deploy/kubernetes/dubbo-admin/service.yaml         |  29 --
 deploy/kubernetes/dubbo-admin/storageclass.yaml    |  21 -
 .../{addons/manifests => kubernetes}/grafana.yaml  |  15 +
 deploy/kubernetes/grafana/configmap.yaml           |  37 --
 deploy/kubernetes/grafana/rbac.yaml                |  78 ---
 deploy/kubernetes/grafana/secret.yaml              |  27 -
 deploy/kubernetes/grafana/service.yaml             |  31 --
 deploy/kubernetes/grafana/statefulset.yaml         | 108 ----
 deploy/kubernetes/grafana/storage.yaml             |  34 --
 deploy/kubernetes/nacos/pv.yaml                    |  37 --
 deploy/kubernetes/nacos/pvc.yaml                   |  26 -
 deploy/kubernetes/nacos/service.yaml               |  36 --
 deploy/kubernetes/nacos/statefulset.yaml           |  94 ----
 deploy/kubernetes/nacos/storageclass.yaml          |  21 -
 .../manifests => kubernetes}/prometheus.yaml       |  15 +
 deploy/kubernetes/prometheus/configmap.yaml        |  29 --
 deploy/kubernetes/prometheus/pv.yaml               |  37 --
 deploy/kubernetes/prometheus/pvc.yaml              |  26 -
 deploy/kubernetes/prometheus/rbac.yaml             |  68 ---
 deploy/kubernetes/prometheus/service.yaml          |  28 --
 deploy/kubernetes/prometheus/statefulset.yaml      |  64 ---
 deploy/kubernetes/prometheus/storageclass.yaml     |  21 -
 .../manifests => kubernetes}/skywalking.yaml       |   0
 .../{addons/manifests => kubernetes}/zipkin.yaml   |  15 +
 .../manifests => kubernetes}/zookeeper.yaml        |  15 +
 deploy/kubernetes/zookeeper/configmap.yaml         |  40 --
 deploy/kubernetes/zookeeper/pv.yaml                |  37 --
 deploy/kubernetes/zookeeper/pvc.yaml               |  26 -
 deploy/kubernetes/zookeeper/service.yaml           |  35 --
 deploy/kubernetes/zookeeper/statefulset.yaml       | 100 ----
 deploy/kubernetes/zookeeper/storageclass.yaml      |  21 -
 38 files changed, 342 insertions(+), 1669 deletions(-)

diff --git a/deploy/addons/env.sh b/deploy/addons/env.sh
index ad338326..58ba1d24 100755
--- a/deploy/addons/env.sh
+++ b/deploy/addons/env.sh
@@ -15,19 +15,27 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+
 WORKDIR=$(dirname "$0")
-DASHBOARDS=${WORKDIR}
-MANIFESTS_DIR=${WORKDIR}/manifests
+WORKDIR=$(cd "$WORKDIR"; pwd)
 
 set -eux
 
+# script set up the plain text rendered
+
+KUBERNETES=${WORKDIR}/../kubernetes
+DASHBOARDS=${WORKDIR}
+mkdir -p "${KUBERNETES}"
+kubectl delete ns dubbo-system && kubectl create ns dubbo-system
+
+
 # Set up zookeeper
 helm template zookeeper zookeeper \
   --namespace dubbo-system \
   --version 11.1.6 \
   --repo https://charts.bitnami.com/bitnami  \
   -f "${WORKDIR}/values-zookeeper.yaml" \
-  > "${MANIFESTS_DIR}/zookeeper.yaml"
+  > "${KUBERNETES}/zookeeper.yaml"
 
 
 # Set up prometheus
@@ -36,7 +44,8 @@ helm template prometheus prometheus \
   --version 20.0.2 \
   --repo https://prometheus-community.github.io/helm-charts \
   -f "${WORKDIR}/values-prometheus.yaml" \
-  > "${MANIFESTS_DIR}/prometheus.yaml"
+  > "${KUBERNETES}/prometheus.yaml"
+
 
 # Set up grafana
 {
@@ -44,14 +53,14 @@ helm template prometheus prometheus \
     --namespace dubbo-system \
     --version 6.52.4 \
     --repo https://grafana.github.io/helm-charts \
-    -f "${WORKDIR}/values-grafana.yaml"
+    -f "${WORKDIR}/values-grafana.yaml" \
 
   echo -e "\n---\n"
 
   kubectl create configmap -n dubbo-system admin-extra-dashboards \
     --dry-run=client -oyaml \
     
--from-file=extra-dashboard.json="${DASHBOARDS}/dashboards/external-dashboard.json"
-} > "${MANIFESTS_DIR}/grafana.yaml"
+} > "${KUBERNETES}/grafana.yaml"
 
 
 # Set up skywalking
@@ -60,7 +69,8 @@ helm template skywalking skywalking \
   --version 4.3.0 \
   --repo https://apache.jfrog.io/artifactory/skywalking-helm \
   -f "${WORKDIR}/values-skywalking.yaml" \
-  > "${MANIFESTS_DIR}/skywalking.yaml"
+  > "${KUBERNETES}/skywalking.yaml"
+
 
 # Set up zipkin
 helm template zipkin zipkin \
@@ -68,4 +78,4 @@ helm template zipkin zipkin \
   --version 0.3.0 \
   --repo https://openzipkin.github.io/zipkin \
   -f "${WORKDIR}/values-zipkin.yaml" \
-  > "${MANIFESTS_DIR}/zipkin.yaml"
\ No newline at end of file
+  > "${KUBERNETES}/zipkin.yaml"
\ No newline at end of file
diff --git a/deploy/addons/manifests/skywalking.yaml 
b/deploy/kubernetes/dubbo-admin.yaml
similarity index 64%
copy from deploy/addons/manifests/skywalking.yaml
copy to deploy/kubernetes/dubbo-admin.yaml
index c4c7c7aa..ee938647 100644
--- a/deploy/addons/manifests/skywalking.yaml
+++ b/deploy/kubernetes/dubbo-admin.yaml
@@ -1,5 +1,5 @@
 ---
-# Source: skywalking/templates/oap-serviceaccount.yaml
+# Source: dubbo-admin/templates/pdb.yaml
 # 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.
@@ -15,18 +15,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: ServiceAccount
+apiVersion: policy/v1
+kind: PodDisruptionBudget
 metadata:
+  name: dubbo-admin
+  namespace: dubbo-system
   labels:
-    app: skywalking
-    chart: skywalking-4.3.0
-    component: "oap"
-    heritage: Helm
-    release: skywalking
-  name: skywalking-oap
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+spec:
+  minAvailable: 1
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: dubbo-admin
+      app.kubernetes.io/instance: dubbo-admin
 ---
-# Source: skywalking/templates/oap-role.yaml
+# Source: dubbo-admin/templates/serviceaccount.yaml
 # 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.
@@ -40,22 +46,19 @@ metadata:
 # 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.
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
+# limitations under the License.apiVersion: v1
+apiVersion: v1
+kind: ServiceAccount
 metadata:
-  name: skywalking
   labels:
-    app: skywalking
-    chart: "skywalking-4.3.0"
-    release: "skywalking"
-    heritage: "Helm"
-rules:
-  - apiGroups: [""]
-    resources: ["pods","configmaps"]
-    verbs: ["get", "watch", "list"]
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+  name: dubbo-admin
+  namespace: dubbo-system
 ---
-# Source: skywalking/templates/oap-rolebinding.yaml
+# Source: dubbo-admin/templates/secret.yaml
 # 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.
@@ -70,25 +73,22 @@ rules:
 # 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.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
+
+apiVersion: v1
+kind: Secret
 metadata:
-  name: skywalking
+  name: dubbo-admin-secret
+  namespace: dubbo-system
   labels:
-    app: skywalking
-    chart: "skywalking-4.3.0"
-    release: "skywalking"
-    heritage: "Helm"
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: skywalking
-subjects:
-  - kind: ServiceAccount
-    name: skywalking-oap
-    namespace: dubbo-system
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+type: Opaque
+data:
+  application.properties: 
YWRtaW4uY2hlY2suc2Vzc2lvblRpbWVvdXRNaWxsaTogMzYwMDAwMAphZG1pbi5jaGVjay5zaWduU2VjcmV0OiA4NjI5NWRkMGM0ZWY2OWExMDM2YjBiMGMxNTE1OGQ3NwphZG1pbi5jaGVjay50b2tlblRpbWVvdXRNaWxsaTogMzYwMDAwMAphZG1pbi5jb25maWctY2VudGVyOiB6b29rZWVwZXI6Ly96b29rZWVwZXI6MjE4MQphZG1pbi5tZXRhZGF0YS1yZXBvcnQuYWRkcmVzczogem9va2VlcGVyOi8vem9va2VlcGVyOjIxODEKYWRtaW4ucmVnaXN0cnkuYWRkcmVzczogem9va2VlcGVyOi8vem9va2VlcGVyOjIxODEKYWRtaW4ucm9vdC51c2VyLm5hbWU6IHJvb3QKYWRtaW4ucm9vdC51c2VyLnBhc3N3b3JkOiByb2
 [...]
 ---
-# Source: skywalking/templates/oap-svc.yaml
+# Source: dubbo-admin/templates/clusterrole.yaml
 # 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.
@@ -103,30 +103,44 @@ subjects:
 # 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.
-
-apiVersion: v1
-kind: Service
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
 metadata:
-  name: skywalking-oap
   labels:
-    app: skywalking
-    chart: skywalking-4.3.0
-    component: "oap"
-    heritage: Helm
-    release: skywalking
-spec:
-  type: ClusterIP
-  ports:
-  - port: 11800
-    name: grpc
-  - port: 12800
-    name: rest
-  selector:
-    app: skywalking
-    component: "oap"
-    release: skywalking
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+  name: dubbo-admin-clusterrole
+rules:
+  - apiGroups: # "" indicates the core API group
+      - ""
+    resources:
+      - configmaps
+      - secrets
+      - pods
+    verbs:
+      - get
+      - watch
+      - list
+  - apiGroups:
+      - "extensions"
+    resources:
+      - ingresses
+    verbs:
+      - get
+  - apiGroups:
+      - "apps"
+    resources:
+      - configmaps
+      - deployments
+      - services
+    verbs:
+      - get
+      - list
+      - watch
 ---
-# Source: skywalking/templates/ui-svc.yaml
+# Source: dubbo-admin/templates/clusterrolebinding.yaml
 # 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.
@@ -142,29 +156,25 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: Service
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
 metadata:
+  name: dubbo-admin-clusterrolebinding
   labels:
-    app: skywalking
-    chart: skywalking-4.3.0
-    component: "ui"
-    heritage: Helm
-    release: skywalking
-  name: skywalking-ui
-spec:
-  type: ClusterIP
-  ports:
-    - port: 80
-      targetPort: 8080
-      protocol: TCP
-
-  selector:
-    app: skywalking
-    component: "ui"
-    release: skywalking
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+subjects:
+  - kind: ServiceAccount
+    name: dubbo-admin
+    namespace: dubbo-system
+roleRef:
+  kind: ClusterRole
+  name: dubbo-admin-clusterrole
+  apiGroup: rbac.authorization.k8s.io
 ---
-# Source: skywalking/templates/oap-deployment.yaml
+# Source: dubbo-admin/templates/role.yaml
 # 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.
@@ -178,95 +188,29 @@ spec:
 # 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.
+# limitations under the License.apiVersion: rbac.authorization.k8s.io/v1
 
-apiVersion: apps/v1
-kind: Deployment
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
 metadata:
+  name: dubbo-admin
+  namespace: dubbo-system
   labels:
-    app: skywalking
-    chart: skywalking-4.3.0
-    component: "oap"
-    heritage: Helm
-    release: skywalking
-  name: skywalking-oap
-spec:
-  replicas: 2
-  selector:
-    matchLabels:
-      app: skywalking
-      component: "oap"
-      release: skywalking
-  template:
-    metadata:
-      labels:
-        app: skywalking
-        component: "oap"
-        release: skywalking
-    spec:
-      serviceAccountName: skywalking-oap
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-          - weight: 1
-            podAffinityTerm:
-              topologyKey: kubernetes.io/hostname
-              labelSelector:
-                matchLabels:
-                  app: "skywalking"
-                  release: "skywalking"
-                  component: "oap"
-      initContainers:
-      - name: wait-for-elasticsearch
-        image: busybox:1.30
-        imagePullPolicy: IfNotPresent
-        command: ['sh', '-c', 'for i in $(seq 1 60); do nc -z -w3 
elasticsearch 9200 && exit 0 || sleep 5; done; exit 1']
-      containers:
-      - name: oap
-        image: skywalking.docker.scarf.sh/apache/skywalking-oap-server:9.3.0
-        imagePullPolicy: IfNotPresent
-        livenessProbe:
-          tcpSocket:
-            port: 12800
-          initialDelaySeconds: 15
-          periodSeconds: 20
-        readinessProbe:
-          tcpSocket:
-            port: 12800
-          initialDelaySeconds: 15
-          periodSeconds: 20
-        ports:
-        - containerPort: 11800
-          name: grpc
-        - containerPort: 12800
-          name: rest
-        env:
-        - name: JAVA_OPTS
-          value: "-Dmode=no-init -Xmx2g -Xms2g"
-        - name: SW_CLUSTER
-          value: kubernetes
-        - name: SW_CLUSTER_K8S_NAMESPACE
-          value: "dubbo-system"
-        - name: SW_CLUSTER_K8S_LABEL
-          value: "app=skywalking,release=skywalking,component=oap"
-        - name: SKYWALKING_COLLECTOR_UID
-          valueFrom:
-            fieldRef:
-              fieldPath: metadata.uid
-        - name: SW_STORAGE
-          value: elasticsearch
-        - name: SW_STORAGE_ES_CLUSTER_NODES
-          value: "elasticsearch:9200"
-        - name: SW_ES_USER
-          value: "xxx"
-        - name: SW_ES_PASSWORD
-          value: "xxx"
-
-        volumeMounts:
-
-      volumes:
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+rules:
+  - apiGroups:
+      - extensions
+    resources:
+      - podsecuritypolicies
+    verbs:
+      - use
+    resourceNames:
+      - dubbo-admin
 ---
-# Source: skywalking/templates/ui-deployment.yaml
+# Source: dubbo-admin/templates/rolebinding.yaml
 # 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.
@@ -282,43 +226,26 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: apps/v1
-kind: Deployment
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
 metadata:
-  name: skywalking-ui
+  name: dubbo-admin
+  namespace: dubbo-system
   labels:
-    app: skywalking
-    chart: skywalking-4.3.0
-    component: "ui"
-    heritage: Helm
-    release: skywalking
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: skywalking
-      component: "ui"
-      release: skywalking
-  template:
-    metadata:
-      labels:
-        app: skywalking
-        component: "ui"
-        release: skywalking
-    spec:
-      affinity:
-      containers:
-      - name: ui
-        image: skywalking.docker.scarf.sh/apache/skywalking-ui:9.3.0
-        imagePullPolicy: IfNotPresent
-        ports:
-        - containerPort: 8080
-          name: page
-        env:
-        - name: SW_OAP_ADDRESS
-          value: http://skywalking-oap:12800
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: dubbo-admin
+subjects:
+  - kind: ServiceAccount
+    name: dubbo-admin
+    namespace: dubbo-system
 ---
-# Source: skywalking/templates/es-init.job.yaml
+# Source: dubbo-admin/templates/svc-headless.yaml
 # 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.
@@ -334,84 +261,29 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# https://docs.sentry.io/server/installation/docker/#running-migrations
-apiVersion: batch/v1
-kind: Job
+apiVersion: v1
+kind: Service
 metadata:
-  name: "skywalking-es-init"
+  name: dubbo-admin-headless
+  namespace: dubbo-system
   labels:
-    app: skywalking
-    chart: skywalking-4.3.0
-    component: "skywalking-job"
-    heritage: Helm
-    release: skywalking
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
 spec:
-  template:
-    metadata:
-      name: "skywalking-es-init"
-      labels:
-        app: skywalking
-        component: "skywalking-job"
-        release: skywalking
-    spec:
-      serviceAccountName: skywalking-oap
-      restartPolicy: Never
-      initContainers:
-      - name: wait-for-elasticsearch
-        image: busybox:1.30
-        imagePullPolicy: IfNotPresent
-        command: ['sh', '-c', 'for i in $(seq 1 60); do nc -z -w3 
elasticsearch 9200 && exit 0 || sleep 5; done; exit 1']
-      containers:
-      - name: oap
-        image: skywalking.docker.scarf.sh/apache/skywalking-oap-server:9.3.0
-        imagePullPolicy: IfNotPresent
-        env:
-        - name: JAVA_OPTS
-          value: "-Xmx2g -Xms2g -Dmode=init"
-        - name: SW_STORAGE
-          value: elasticsearch
-        - name: SW_STORAGE_ES_CLUSTER_NODES
-          value: "elasticsearch:9200"
-        - name: SW_ES_USER
-          value: "xxx"
-        - name: SW_ES_PASSWORD
-          value: "xxx"
-        volumeMounts:
-      volumes:
----
-# Source: skywalking/templates/oap-clusterrole.yaml
-# 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.
----
-# Source: skywalking/templates/oap-clusterrolebinding.yaml
-# 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.
+  type: ClusterIP
+  clusterIP: None
+  ports:
+    - name: service
+      port: 38080
+      protocol: TCP
+      targetPort: http
+  selector:
+    app.kubernetes.io/name: dubbo-admin
+    app.kubernetes.io/instance: dubbo-admin
 ---
-# Source: skywalking/templates/oap-cm-override.yaml
+# Source: dubbo-admin/templates/svc.yaml
 # 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.
@@ -426,8 +298,29 @@ spec:
 # 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.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: dubbo-admin
+  namespace: dubbo-system
+  labels:
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+spec:
+  type: ClusterIP
+  ports:
+    - name: service
+      port: 38080
+      protocol: TCP
+      targetPort: http
+  selector:
+    app.kubernetes.io/name: dubbo-admin
+    app.kubernetes.io/instance: dubbo-admin
 ---
-# Source: skywalking/templates/oap-configmap.yaml
+# Source: dubbo-admin/templates/deployment.yaml
 # 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.
@@ -442,8 +335,85 @@ spec:
 # 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.
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: dubbo-admin
+  namespace: dubbo-system
+  labels:
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: dubbo-admin
+      app.kubernetes.io/instance: dubbo-admin
+  strategy:
+    type: RollingUpdate
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: dubbo-admin
+        app.kubernetes.io/instance: dubbo-admin
+    spec:
+      serviceAccountName: dubbo-admin
+      containers:
+        - name: dubbo-admin
+          securityContext:
+            runAsNonRoot: false
+            runAsUser: 0
+          image: "apache/dubbo-admin:0.5.0"
+          imagePullPolicy: IfNotPresent
+          ports:
+            - name: http
+              containerPort: 8080
+          volumeMounts:
+            - mountPath: /config
+              name: application-properties
+              readOnly: true
+            - mountPath: /storage
+              name: storage
+              readOnly: true
+          livenessProbe:
+            httpGet:
+              path: /
+              port: 8080
+            initialDelaySeconds: 60
+            timeoutSeconds: 30
+            periodSeconds: 10
+            successThreshold: 1
+            failureThreshold: 3
+          readinessProbe:
+            httpGet:
+              path: /
+              port: 8080
+            initialDelaySeconds: 60
+            timeoutSeconds: 30
+            periodSeconds: 10
+            successThreshold: 1
+            failureThreshold: 3
+          startupProbe:
+            httpGet:
+              path: /
+              port: 8080
+            initialDelaySeconds: 60
+            timeoutSeconds: 30
+            periodSeconds: 10
+            successThreshold: 1
+            failureThreshold: 3
+          resources:
+            {}
+      volumes:
+        - name: application-properties
+          secret:
+            secretName: dubbo-admin-secret
+        - name: storage
 ---
-# Source: skywalking/templates/satellite-cm-override.yaml
+# Source: dubbo-admin/templates/ingress.yaml
 # 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.
@@ -459,7 +429,7 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-# Source: skywalking/templates/satellite-deployment.yaml
+# Source: dubbo-admin/templates/networkpolicy.yaml
 # 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.
@@ -475,7 +445,7 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-# Source: skywalking/templates/satellite-role.yaml
+# Source: dubbo-admin/templates/psp.yaml
 # 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.
@@ -491,7 +461,7 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-# Source: skywalking/templates/satellite-rolebinding.yaml
+# Source: dubbo-admin/templates/pvc.yaml
 # 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.
@@ -507,7 +477,7 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-# Source: skywalking/templates/satellite-serviceaccount.yaml
+# Source: dubbo-admin/templates/tests/test-role.yaml
 # 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.
@@ -523,7 +493,7 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-# Source: skywalking/templates/satellite-svc.yaml
+# Source: dubbo-admin/templates/tests/test-rolebinding.yaml
 # 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.
@@ -539,7 +509,7 @@ spec:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ---
-# Source: skywalking/templates/ui-ingress.yaml
+# Source: dubbo-admin/templates/tests/test-serviceaccount.yaml
 # 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.
@@ -554,3 +524,16 @@ spec:
 # 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.
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  labels:
+    app.kubernetes.io/name: dubbo-admin
+    helm.sh/chart: dubbo-admin-0.5.0
+    app.kubernetes.io/instance: dubbo-admin
+    app.kubernetes.io/managed-by: Helm
+  name: dubbo-admin-test
+  namespace: dubbo-system
+  annotations:
+    "helm.sh/hook": test-success
+    "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
diff --git a/deploy/kubernetes/dubbo-admin/configmap.yaml 
b/deploy/kubernetes/dubbo-admin/configmap.yaml
deleted file mode 100644
index 18eeb728..00000000
--- a/deploy/kubernetes/dubbo-admin/configmap.yaml
+++ /dev/null
@@ -1,69 +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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: dubbo-admin
-  namespace: default
-data:
-  application.properties: |
-    admin.registry.address=zookeeper://zookeeper:2181
-    admin.config-center=zookeeper://zookeeper:2181
-    admin.metadata-report.address=zookeeper://zookeeper:2181
-    admin.root.user.name=root
-    admin.root.user.password=root
-    admin.check.sessionTimeoutMilli=3600000
-    server.compression.enabled=true
-    
server.compression.mime-types=text/css,text/javascript,application/javascript
-    server.compression.min-response-size=10240
-    admin.check.tokenTimeoutMilli=3600000
-    admin.check.signSecret=86295dd0c4ef69a1036b0b0c15158d77
-    dubbo.application.name=dubbo-admin
-    dubbo.registry.address=${admin.registry.address}
-    spring.datasource.url=jdbc:h2:mem:~/dubbo-admin;MODE=MYSQL;
-    spring.datasource.username=sa
-    spring.datasource.password=
-    mybatis-plus.global-config.db-config.id-type=none
-    dubbo.application.logger=slf4j
-
-  # nacos config, add parameters to url like username=nacos&password=nacos
-  # 
admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
-  # admin.config-center=nacos://127.0.0.1:8848?group=dubbo
-  # admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo
-
-
-  # group (Deprecated it is recommended to use URL to add parameters,will be 
removed in the future)
-  # admin.registry.group=dubbo
-  # admin.config-center.group=dubbo
-  # admin.metadata-report.group=dubbo
-
-  # namespace used by nacos.(Deprecated it is recommended to use URL to add 
parameters,will be removed in the future)
-  # admin.registry.namespace=public
-  # admin.config-center.namespace=public
-  # admin.metadata-report.namespace=public
-
-  # apollo config
-  # admin.config-center = 
apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo
-  # admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9
-  # admin.apollo.appId=test
-  # admin.apollo.env=dev
-  # admin.apollo.cluster=default
-
-  # mysql
-  # spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-  # 
spring.datasource.url=jdbc:mysql://localhost:3306/dubbo-admin?characterEncoding=utf8&connectTimeout=1000&socketTimeout=10000&autoReconnect=true
-  # spring.datasource.username=root
-  # spring.datasource.password=mysql
\ No newline at end of file
diff --git a/deploy/kubernetes/dubbo-admin/deployment.yaml 
b/deploy/kubernetes/dubbo-admin/deployment.yaml
deleted file mode 100644
index fe18e13b..00000000
--- a/deploy/kubernetes/dubbo-admin/deployment.yaml
+++ /dev/null
@@ -1,74 +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.
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  labels:
-    app: dubbo-admin
-  name: dubbo-admin
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: dubbo-admin
-  template:
-    metadata:
-      labels:
-        app: dubbo-admin
-    spec:
-      serviceAccountName: dubbo-admin
-      containers:
-        - name: dubbo-admin
-          image: apache/dubbo-admin:0.5.0
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 8080
-              name: http
-          volumeMounts:
-            - mountPath: /config
-              name: application-properties
-            - mountPath: /storage
-              name: dubbo-admin-storage
-          livenessProbe:
-            httpGet:
-              path: /
-              port: 8080
-            initialDelaySeconds: 10
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 15
-          readinessProbe:
-            httpGet:
-              path: /
-              port: 8080
-            initialDelaySeconds: 10
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 15
-          resources:
-            limits: {}
-            requests:
-              cpu: 500m
-              memory: 1Gi
-          securityContext:
-            runAsUser: 0
-      volumes:
-        - name: application-properties
-          configMap:
-            name: dubbo-admin
-        - name: dubbo-admin-storage
-          persistentVolumeClaim:
-            claimName: dubbo-admin-pvc
\ No newline at end of file
diff --git a/deploy/kubernetes/dubbo-admin/pv.yaml 
b/deploy/kubernetes/dubbo-admin/pv.yaml
deleted file mode 100644
index 4b87b135..00000000
--- a/deploy/kubernetes/dubbo-admin/pv.yaml
+++ /dev/null
@@ -1,37 +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.
-
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: dubbo-admin-pv
-spec:
-  capacity:
-    storage: 10Gi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteOnce
-  persistentVolumeReclaimPolicy: Retain
-  storageClassName: local
-  local:
-    path: /var/lib/dubbo-admin
-  nodeAffinity:
-    required:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: kubernetes.io/hostname
-              operator: In
-              values:
-                - master
\ No newline at end of file
diff --git a/deploy/kubernetes/dubbo-admin/pvc.yaml 
b/deploy/kubernetes/dubbo-admin/pvc.yaml
deleted file mode 100644
index b874c42f..00000000
--- a/deploy/kubernetes/dubbo-admin/pvc.yaml
+++ /dev/null
@@ -1,26 +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.
-
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: dubbo-admin-pvc
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 5Gi
-  storageClassName: local
\ No newline at end of file
diff --git a/deploy/kubernetes/dubbo-admin/rbac.yaml 
b/deploy/kubernetes/dubbo-admin/rbac.yaml
deleted file mode 100644
index 46e89090..00000000
--- a/deploy/kubernetes/dubbo-admin/rbac.yaml
+++ /dev/null
@@ -1,63 +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.
-
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: dubbo-admin
-  namespace: default
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
-  name: dubbo-admin
-rules:
-  - apiGroups:
-      - ""
-    resources:
-      - pods
-    verbs:
-      - get
-      - list
-      - watch
-  - apiGroups:
-      - "extensions"
-    resources:
-      - ingresses
-    verbs:
-      - get
-  - apiGroups:
-      - "apps"
-    resources:
-      - configmaps
-      - deployments
-      - services
-    verbs:
-      - get
-      - list
-      - watch
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
-  name: dubbo-admin
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: ClusterRole
-  name: dubbo-admin
-subjects:
-  - kind: ServiceAccount
-    name: dubbo-admin
-    namespace: default
\ No newline at end of file
diff --git a/deploy/kubernetes/dubbo-admin/service.yaml 
b/deploy/kubernetes/dubbo-admin/service.yaml
deleted file mode 100644
index e91ea628..00000000
--- a/deploy/kubernetes/dubbo-admin/service.yaml
+++ /dev/null
@@ -1,29 +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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: dubbo-admin
-  namespace: default
-spec:
-  type: NodePort
-  ports:
-    - name: dubbo-admin
-      port: 38080
-      targetPort: http
-      protocol: TCP
-  selector:
-    app: dubbo-admin
\ No newline at end of file
diff --git a/deploy/kubernetes/dubbo-admin/storageclass.yaml 
b/deploy/kubernetes/dubbo-admin/storageclass.yaml
deleted file mode 100644
index 7e249558..00000000
--- a/deploy/kubernetes/dubbo-admin/storageclass.yaml
+++ /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.
-
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: local
-provisioner: kubernetes.io/no-provisioner
-volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file
diff --git a/deploy/addons/manifests/grafana.yaml 
b/deploy/kubernetes/grafana.yaml
similarity index 99%
rename from deploy/addons/manifests/grafana.yaml
rename to deploy/kubernetes/grafana.yaml
index dbf1f858..b9371434 100644
--- a/deploy/addons/manifests/grafana.yaml
+++ b/deploy/kubernetes/grafana.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 ---
 # Source: grafana/templates/serviceaccount.yaml
 apiVersion: v1
diff --git a/deploy/kubernetes/grafana/configmap.yaml 
b/deploy/kubernetes/grafana/configmap.yaml
deleted file mode 100644
index bc08d2de..00000000
--- a/deploy/kubernetes/grafana/configmap.yaml
+++ /dev/null
@@ -1,37 +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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
-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 = ''
\ No newline at end of file
diff --git a/deploy/kubernetes/grafana/rbac.yaml 
b/deploy/kubernetes/grafana/rbac.yaml
deleted file mode 100644
index 9c72ab2a..00000000
--- a/deploy/kubernetes/grafana/rbac.yaml
+++ /dev/null
@@ -1,78 +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.
-
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
-  name: grafana-clusterrole
-  labels:
-    app: grafana
-rules: []
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
-  name: grafana-clusterrolebinding
-  labels:
-    app: grafana
-subjects:
-  - kind: ServiceAccount
-    name: grafana
-    namespace: default
-roleRef:
-  kind: ClusterRole
-  name: grafana-clusterrole
-  apiGroup: rbac.authorization.k8s.io
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
-rules:
-  - apiGroups:
-      - extensions
-    resources:
-      - podsecuritypolicies
-    verbs:
-      - use
-    resourceNames:
-      - grafana
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: grafana
-subjects:
-  - kind: ServiceAccount
-    name: grafana
-    namespace: default
\ No newline at end of file
diff --git a/deploy/kubernetes/grafana/secret.yaml 
b/deploy/kubernetes/grafana/secret.yaml
deleted file mode 100644
index 0916cde9..00000000
--- a/deploy/kubernetes/grafana/secret.yaml
+++ /dev/null
@@ -1,27 +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.
-
-apiVersion: v1
-kind: Secret
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
-type: Opaque
-data:
-  admin-user: "YWRtaW4="
-  admin-password: "NnhlY1JVSHJpNm1MSktVRGV5cnBtZ0Jja1RUYkJmNG1ZcmdsVElKZQ=="
-  ldap-toml: ""
\ No newline at end of file
diff --git a/deploy/kubernetes/grafana/service.yaml 
b/deploy/kubernetes/grafana/service.yaml
deleted file mode 100644
index 94e42167..00000000
--- a/deploy/kubernetes/grafana/service.yaml
+++ /dev/null
@@ -1,31 +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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
-spec:
-  type: ClusterIP
-  ports:
-    - name: service
-      port: 80
-      protocol: TCP
-      targetPort: 3000
-  selector:
-    app: grafana
\ No newline at end of file
diff --git a/deploy/kubernetes/grafana/statefulset.yaml 
b/deploy/kubernetes/grafana/statefulset.yaml
deleted file mode 100644
index b157ea9c..00000000
--- a/deploy/kubernetes/grafana/statefulset.yaml
+++ /dev/null
@@ -1,108 +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.
-
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: grafana
-  namespace: default
-  labels:
-    app: grafana
-  annotations:
-    checksum/config: 
4b9517b76dc0f685555140b24fa94df4dff5a5f3ea72c424290168afe0465276
-    checksum/dashboards-json-config: 
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
-    checksum/sc-dashboard-provider-config: 
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
-    checksum/secret: 
87b3dc176b564805256e2f3207f32567cf2dcf805f5ff51c0b48650907047595
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: grafana
-  template:
-    metadata:
-      labels:
-        app: grafana
-    spec:
-      serviceAccountName: grafana
-      containers:
-        - name: grafana
-          image: "grafana/grafana:9.3.6"
-          imagePullPolicy: IfNotPresent
-          volumeMounts:
-            - name: config
-              mountPath: "/etc/grafana/grafana.ini"
-              subPath: grafana.ini
-            - name: storage
-              mountPath: "/etc/grafana"
-          ports:
-            - name: grafana
-              containerPort: 3000
-              protocol: TCP
-            - name: gossip-tcp
-              containerPort: 9094
-              protocol: TCP
-            - name: gossip-udp
-              containerPort: 9094
-              protocol: UDP
-          env:
-            - name: POD_IP
-              valueFrom:
-                fieldRef:
-                  fieldPath: status.podIP
-            - name: GF_SECURITY_ADMIN_USER
-              valueFrom:
-                secretKeyRef:
-                  name: grafana
-                  key: admin-user
-            - name: GF_SECURITY_ADMIN_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: grafana
-                  key: admin-password
-            - 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
-          livenessProbe:
-            failureThreshold: 10
-            httpGet:
-              path: /api/health
-              port: 3000
-            initialDelaySeconds: 60
-            timeoutSeconds: 30
-          readinessProbe:
-            httpGet:
-              path: /api/health
-              port: 3000
-      volumes:
-        - name: config
-          configMap:
-            name: grafana
-  volumeClaimTemplates:
-    - metadata:
-        name: storage
-        labels:
-          app: grafana
-      spec:
-        storageClassName: local
-        accessModes:
-          - ReadWriteOnce
-        resources:
-          requests:
-            storage: 2Gi
\ No newline at end of file
diff --git a/deploy/kubernetes/grafana/storage.yaml 
b/deploy/kubernetes/grafana/storage.yaml
deleted file mode 100644
index 3f4b6c43..00000000
--- a/deploy/kubernetes/grafana/storage.yaml
+++ /dev/null
@@ -1,34 +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.
-
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: storage-grafana-pv
-spec:
-  storageClassName: local
-  capacity:
-    storage: 10Gi
-  accessModes:
-    - ReadWriteOnce
-  hostPath:
-    path: /var/lib/grafana
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: local
-provisioner: kubernetes.io/no-provisioner
-volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file
diff --git a/deploy/kubernetes/nacos/pv.yaml b/deploy/kubernetes/nacos/pv.yaml
deleted file mode 100644
index cde3d0c9..00000000
--- a/deploy/kubernetes/nacos/pv.yaml
+++ /dev/null
@@ -1,37 +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.
-
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: nacos-pv
-spec:
-  capacity:
-    storage: 10Gi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteOnce
-  persistentVolumeReclaimPolicy: Retain
-  storageClassName: local
-  local:
-    path: /var/lib/nacos
-  nodeAffinity:
-    required:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: kubernetes.io/hostname
-              operator: In
-              values:
-                - master
\ No newline at end of file
diff --git a/deploy/kubernetes/nacos/pvc.yaml b/deploy/kubernetes/nacos/pvc.yaml
deleted file mode 100644
index 516104ba..00000000
--- a/deploy/kubernetes/nacos/pvc.yaml
+++ /dev/null
@@ -1,26 +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.
-
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: nacos-pvc
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 5Gi
-  storageClassName: local
\ No newline at end of file
diff --git a/deploy/kubernetes/nacos/service.yaml 
b/deploy/kubernetes/nacos/service.yaml
deleted file mode 100644
index f1f80c75..00000000
--- a/deploy/kubernetes/nacos/service.yaml
+++ /dev/null
@@ -1,36 +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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: nacos
-  namespace: default
-spec:
-  selector:
-    app: nacos
-  ports:
-    - name: http
-      port: 8848
-      targetPort: 8848
-    - name: client-rpc
-      port: 9848
-      targetPort: 9848
-    - name: raft-rpc
-      port: 9849
-      targetPort: 9849
-    - name: old-raft-rpc
-      port: 7848
-      targetPort: 7848
\ No newline at end of file
diff --git a/deploy/kubernetes/nacos/statefulset.yaml 
b/deploy/kubernetes/nacos/statefulset.yaml
deleted file mode 100644
index b551454e..00000000
--- a/deploy/kubernetes/nacos/statefulset.yaml
+++ /dev/null
@@ -1,94 +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.
-
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: nacos
-  namespace: default
-spec:
-  serviceName: nacos
-  replicas: 1
-  selector:
-    matchLabels:
-      app: nacos
-  template:
-    metadata:
-      labels:
-        app: nacos
-    spec:
-      containers:
-        - name: nacos
-          image: "nacos/nacos-server:latest"
-          imagePullPolicy: IfNotPresent
-          startupProbe:
-            httpGet:
-              scheme: HTTP
-              port: 8848
-              path: /nacos/v1/console/health/readiness
-            initialDelaySeconds: 10
-            periodSeconds: 5
-            timeoutSeconds: 10
-          livenessProbe:
-            httpGet:
-              scheme: HTTP
-              port: 8848
-              path: /nacos/v1/console/health/liveness
-            initialDelaySeconds: 10
-            periodSeconds: 5
-            timeoutSeconds: 10
-          ports:
-            - name: http
-              containerPort: 8848
-              protocol: TCP
-            - containerPort: 9848
-              name: client-rpc
-            - containerPort: 9849
-              name: raft-rpc
-            - containerPort: 7848
-              name: old-raft-rpc
-          env:
-            - name: NACOS_SERVER_PORT
-              value: "8848"
-            - name: NACOS_APPLICATION_PORT
-              value: "8848"
-            - name: PREFER_HOST_MODE
-              value: "hostname"
-            - name: MODE
-              value: "standalone"
-            - name: EMBEDDED_STORAGE
-              value: embedded
-          resources:
-            requests:
-              cpu: 100m
-              memory: 500Mi
-          volumeMounts:
-            - name: storage
-              mountPath: /var/lib/nacos
-            - name: data
-              mountPath: /home/nacos/plugins/peer-finder
-              subPath: peer-finder
-            - name: data
-              mountPath: /home/nacos/data
-              subPath: data
-            - name: data
-              mountPath: /home/nacos/logs
-              subPath: logs
-      volumes:
-        - name: data
-          emptyDir: {}
-        - name: storage
-          persistentVolumeClaim:
-            claimName: nacos-pvc
\ No newline at end of file
diff --git a/deploy/kubernetes/nacos/storageclass.yaml 
b/deploy/kubernetes/nacos/storageclass.yaml
deleted file mode 100644
index 7e249558..00000000
--- a/deploy/kubernetes/nacos/storageclass.yaml
+++ /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.
-
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: local
-provisioner: kubernetes.io/no-provisioner
-volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file
diff --git a/deploy/addons/manifests/prometheus.yaml 
b/deploy/kubernetes/prometheus.yaml
similarity index 95%
rename from deploy/addons/manifests/prometheus.yaml
rename to deploy/kubernetes/prometheus.yaml
index 62543707..88c74e58 100644
--- a/deploy/addons/manifests/prometheus.yaml
+++ b/deploy/kubernetes/prometheus.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 ---
 # Source: prometheus/templates/serviceaccount.yaml
 apiVersion: v1
diff --git a/deploy/kubernetes/prometheus/configmap.yaml 
b/deploy/kubernetes/prometheus/configmap.yaml
deleted file mode 100644
index 9fb74d13..00000000
--- a/deploy/kubernetes/prometheus/configmap.yaml
+++ /dev/null
@@ -1,29 +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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: prometheus-configmap
-  namespace: default
-data:
-  prometheus.yml: |
-    global:
-      scrape_interval: 15s
-      scrape_timeout: 15s
-    scrape_configs:
-    - job_name: 'prometheus'
-      static_configs:
-      - targets: ['localhost:9090']
\ No newline at end of file
diff --git a/deploy/kubernetes/prometheus/pv.yaml 
b/deploy/kubernetes/prometheus/pv.yaml
deleted file mode 100644
index 6d409baa..00000000
--- a/deploy/kubernetes/prometheus/pv.yaml
+++ /dev/null
@@ -1,37 +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.
-
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: prometheus-pv
-spec:
-  capacity:
-    storage: 10Gi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteOnce
-  persistentVolumeReclaimPolicy: Retain
-  storageClassName: local
-  local:
-    path: /var/lib/prometheus
-  nodeAffinity:
-    required:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: kubernetes.io/hostname
-              operator: In
-              values:
-                - master
\ No newline at end of file
diff --git a/deploy/kubernetes/prometheus/pvc.yaml 
b/deploy/kubernetes/prometheus/pvc.yaml
deleted file mode 100644
index bbb1074b..00000000
--- a/deploy/kubernetes/prometheus/pvc.yaml
+++ /dev/null
@@ -1,26 +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.
-
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: prometheus-pvc
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 5Gi
-  storageClassName: local
\ No newline at end of file
diff --git a/deploy/kubernetes/prometheus/rbac.yaml 
b/deploy/kubernetes/prometheus/rbac.yaml
deleted file mode 100644
index 76677eff..00000000
--- a/deploy/kubernetes/prometheus/rbac.yaml
+++ /dev/null
@@ -1,68 +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.
-
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: prometheus
-  namespace: default
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
-  name: prometheus
-rules:
-  - apiGroups:
-      - ""
-    resources:
-      - nodes
-      - services
-      - endpoints
-      - pods
-      - nodes/proxy
-    verbs:
-      - get
-      - list
-      - watch
-  - apiGroups:
-      - "extensions"
-    resources:
-      - ingresses
-    verbs:
-      - get
-  - apiGroups:
-      - ""
-    resources:
-      - configmaps
-      - nodes/metrics
-    verbs:
-      - get
-  - nonResourceURLs:
-      - /metrics
-    verbs:
-      - get
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
-  name: prometheus
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: ClusterRole
-  name: prometheus
-subjects:
-  - kind: ServiceAccount
-    name: prometheus
-    namespace: default
\ No newline at end of file
diff --git a/deploy/kubernetes/prometheus/service.yaml 
b/deploy/kubernetes/prometheus/service.yaml
deleted file mode 100644
index 7c56d704..00000000
--- a/deploy/kubernetes/prometheus/service.yaml
+++ /dev/null
@@ -1,28 +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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: prometheus
-  namespace: default
-spec:
-  selector:
-    app: prometheus
-  type: NodePort
-  ports:
-    - name: http
-      port: 9090
-      targetPort: http
\ No newline at end of file
diff --git a/deploy/kubernetes/prometheus/statefulset.yaml 
b/deploy/kubernetes/prometheus/statefulset.yaml
deleted file mode 100644
index 33bfd22a..00000000
--- a/deploy/kubernetes/prometheus/statefulset.yaml
+++ /dev/null
@@ -1,64 +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.
-
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: prometheus
-  namespace: default
-  labels:
-    app: prometheus
-spec:
-  selector:
-    matchLabels:
-      app: prometheus
-  template:
-    metadata:
-      labels:
-        app: prometheus
-    spec:
-      serviceAccountName: prometheus
-      containers:
-        - name: prometheus
-          image: prom/prometheus:v2.42.0
-          args:
-            - "--config.file=/etc/prometheus/prometheus.yml"
-            - "--storage.tsdb.path=/prometheus"
-            - "--storage.tsdb.retention.time=24h"
-            - "--web.enable-lifecycle"
-          ports:
-            - name: http
-              containerPort: 9090
-          volumeMounts:
-            - name: config
-              mountPath: "/etc/prometheus"
-            - name: storage
-              mountPath: "/var/lib/prometheus"
-          resources:
-            requests:
-              cpu: 100m
-              memory: 512Mi
-            limits:
-              cpu: 100m
-              memory: 512Mi
-      securityContext:
-        runAsUser: 0
-      volumes:
-        - name: config
-          configMap:
-            name: prometheus-configmap
-        - name: storage
-          persistentVolumeClaim:
-            claimName: prometheus-pvc
\ No newline at end of file
diff --git a/deploy/kubernetes/prometheus/storageclass.yaml 
b/deploy/kubernetes/prometheus/storageclass.yaml
deleted file mode 100644
index 7e249558..00000000
--- a/deploy/kubernetes/prometheus/storageclass.yaml
+++ /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.
-
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: local
-provisioner: kubernetes.io/no-provisioner
-volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file
diff --git a/deploy/addons/manifests/skywalking.yaml 
b/deploy/kubernetes/skywalking.yaml
similarity index 100%
rename from deploy/addons/manifests/skywalking.yaml
rename to deploy/kubernetes/skywalking.yaml
diff --git a/deploy/addons/manifests/zipkin.yaml b/deploy/kubernetes/zipkin.yaml
similarity index 73%
rename from deploy/addons/manifests/zipkin.yaml
rename to deploy/kubernetes/zipkin.yaml
index 3d9b60fa..b75b4a2a 100644
--- a/deploy/addons/manifests/zipkin.yaml
+++ b/deploy/kubernetes/zipkin.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 ---
 # Source: zipkin/templates/serviceaccount.yaml
 apiVersion: v1
diff --git a/deploy/addons/manifests/zookeeper.yaml 
b/deploy/kubernetes/zookeeper.yaml
similarity index 90%
rename from deploy/addons/manifests/zookeeper.yaml
rename to deploy/kubernetes/zookeeper.yaml
index 58518fcc..aa6d232d 100644
--- a/deploy/addons/manifests/zookeeper.yaml
+++ b/deploy/kubernetes/zookeeper.yaml
@@ -1,3 +1,18 @@
+# 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.
+
 ---
 # Source: zookeeper/templates/scripts-configmap.yaml
 apiVersion: v1
diff --git a/deploy/kubernetes/zookeeper/configmap.yaml 
b/deploy/kubernetes/zookeeper/configmap.yaml
deleted file mode 100644
index 495d330b..00000000
--- a/deploy/kubernetes/zookeeper/configmap.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: zookeeper-scripts
-data:
-  init-certs.sh: '#!/bin/bash'
-# 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.
-
-  setup.sh: |-
-    #!/bin/bash
-
-    # Execute entrypoint as usual after obtaining ZOO_SERVER_ID
-    # check ZOO_SERVER_ID in persistent volume via myid
-    # if not present, set based on POD hostname
-    if [[ -f "/bitnami/zookeeper/data/myid" ]]; then
-        export ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)"
-    else
-        HOSTNAME="$(hostname -s)"
-        if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then
-            ORD=${BASH_REMATCH[2]}
-            export ZOO_SERVER_ID="$((ORD + 1 ))"
-        else
-            echo "Failed to get index from hostname $HOST"
-            exit 1
-        fi
-    fi
-    exec /entrypoint.sh /run.sh
\ No newline at end of file
diff --git a/deploy/kubernetes/zookeeper/pv.yaml 
b/deploy/kubernetes/zookeeper/pv.yaml
deleted file mode 100644
index 2b362939..00000000
--- a/deploy/kubernetes/zookeeper/pv.yaml
+++ /dev/null
@@ -1,37 +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.
-
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: zookeeper-pv
-spec:
-  capacity:
-    storage: 10Gi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteOnce
-  persistentVolumeReclaimPolicy: Retain
-  storageClassName: local
-  local:
-    path: /var/lib/zookeeper
-  nodeAffinity:
-    required:
-      nodeSelectorTerms:
-        - matchExpressions:
-            - key: kubernetes.io/hostname
-              operator: In
-              values:
-                - master
\ No newline at end of file
diff --git a/deploy/kubernetes/zookeeper/pvc.yaml 
b/deploy/kubernetes/zookeeper/pvc.yaml
deleted file mode 100644
index 5812fba9..00000000
--- a/deploy/kubernetes/zookeeper/pvc.yaml
+++ /dev/null
@@ -1,26 +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.
-
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: zookeeper-pvc
-spec:
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 5Gi
-  storageClassName: local
\ No newline at end of file
diff --git a/deploy/kubernetes/zookeeper/service.yaml 
b/deploy/kubernetes/zookeeper/service.yaml
deleted file mode 100644
index 44e493ca..00000000
--- a/deploy/kubernetes/zookeeper/service.yaml
+++ /dev/null
@@ -1,35 +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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: zookeeper
-  labels:
-    app: zookeeper
-spec:
-  selector:
-    app: zookeeper
-  ports:
-    - name: client
-      port: 2181
-      targetPort: client
-    - name: follower
-      port: 2888
-      targetPort: follower
-    - name: election
-      port: 3888
-      targetPort: election
-  type: ClusterIP
\ No newline at end of file
diff --git a/deploy/kubernetes/zookeeper/statefulset.yaml 
b/deploy/kubernetes/zookeeper/statefulset.yaml
deleted file mode 100644
index 9f041f41..00000000
--- a/deploy/kubernetes/zookeeper/statefulset.yaml
+++ /dev/null
@@ -1,100 +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.
-
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: zookeeper
-  labels:
-    app: zookeeper
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: zookeeper
-  template:
-    metadata:
-      labels:
-        app: zookeeper
-    spec:
-      containers:
-        - name: zookeeper
-          image: docker.io/bitnami/zookeeper:3.8.0-debian-11-r56
-          imagePullPolicy: IfNotPresent
-          ports:
-            - containerPort: 2181
-              name: client
-            - containerPort: 2888
-              name: follower
-            - containerPort: 3888
-              name: election
-          command:
-            - /scripts/setup.sh
-          env:
-            - name: MY_POD_NAME
-              valueFrom:
-                fieldRef:
-                  apiVersion: v1
-                  fieldPath: metadata.name
-            - name: ZOO_PORT_NUMBER
-              value: "2181"
-            - name: ZOO_LISTEN_ALLIPS_ENABLED
-              value: "no"
-            - name: ZOO_AUTOPURGE_INTERVAL
-              value: "0"
-            - name: ZOO_AUTOPURGE_RETAIN_COUNT
-              value: "3"
-            - name: ZOO_SERVERS
-              value: 
$(MY_POD_NAME).zookeeper.journal.svc.cluster.local:2888:3888::1
-            - name: ZOO_ENABLE_AUTH
-              value: "no"
-            - name: ZOO_ENABLE_QUORUM_AUTH
-              value: "no"
-            - name: ALLOW_ANONYMOUS_LOGIN
-              value: "yes"
-            - name: BITNAMI_DEBUG
-              value: "false"
-            - name: ZOO_PRE_ALLOC_SIZE
-              value: "65536"
-            - name: ZOO_4LW_COMMANDS_WHITELIST
-              value: srvr, mntr, ruok
-            - name: ZOO_MAX_SESSION_TIMEOUT
-              value: "40000"
-            - name: ZOO_HEAP_SIZE
-              value: "1024"
-            - name: ZOO_LOG_LEVEL
-              value: ERROR
-          resources:
-            requests:
-              cpu: 250m
-              memory: 256Mi
-          volumeMounts:
-            - mountPath: /scripts/setup.sh
-              name: scripts
-              subPath: setup.sh
-            - mountPath: /bitnami/zookeeper
-              name: data
-            - mountPath: /etc/zookeeper
-              name: storage
-      volumes:
-        - name: data
-          emptyDir: {}
-        - name: storage
-          persistentVolumeClaim:
-            claimName: zookeeper-pvc
-        - configMap:
-            defaultMode: 493
-            name: zookeeper-scripts
-          name: scripts
\ No newline at end of file
diff --git a/deploy/kubernetes/zookeeper/storageclass.yaml 
b/deploy/kubernetes/zookeeper/storageclass.yaml
deleted file mode 100644
index 7e249558..00000000
--- a/deploy/kubernetes/zookeeper/storageclass.yaml
+++ /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.
-
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: local
-provisioner: kubernetes.io/no-provisioner
-volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file


Reply via email to