You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2022/09/06 11:05:44 UTC

[skywalking-showcase] branch main updated: feature: split elasticsearch storage to a individual feature (#74)

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

kezhenxu94 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-showcase.git


The following commit(s) were added to refs/heads/main by this push:
     new 6ff133d  feature: split elasticsearch storage to a individual feature (#74)
6ff133d is described below

commit 6ff133d9ffbce55e4239c277b7a5d512dfe1fffc
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Tue Sep 6 19:05:39 2022 +0800

    feature: split elasticsearch storage to a individual feature (#74)
---
 deploy/platform/kubernetes/Makefile.in             |  2 +-
 .../kubernetes/feature-cluster/resources.yaml      | 48 ----------------
 .../feature-elasticsearch/resources.yaml           | 65 ++++++++++++++++++++++
 .../kubernetes/feature-single-node/resources.yaml  | 42 --------------
 docs/readme.md                                     |  3 +-
 5 files changed, 68 insertions(+), 92 deletions(-)

diff --git a/deploy/platform/kubernetes/Makefile.in b/deploy/platform/kubernetes/Makefile.in
index 5155da7..02e8624 100644
--- a/deploy/platform/kubernetes/Makefile.in
+++ b/deploy/platform/kubernetes/Makefile.in
@@ -22,4 +22,4 @@ NAMESPACE ?= default
 AGENTLESS ?= false
 BACKEND_SERVICE ?= oap
 
-FEATURE_FLAGS ?= java-agent-injector,cluster,kubernetes-monitor,so11y,vm,als,event,istiod-monitor,satellite,rover,trace-profiling,mysql
+FEATURE_FLAGS ?= java-agent-injector,cluster,elasticsearch,kubernetes-monitor,so11y,vm,als,event,istiod-monitor,satellite,rover,trace-profiling,mysql
diff --git a/deploy/platform/kubernetes/feature-cluster/resources.yaml b/deploy/platform/kubernetes/feature-cluster/resources.yaml
index 8e23bd0..0e6769c 100644
--- a/deploy/platform/kubernetes/feature-cluster/resources.yaml
+++ b/deploy/platform/kubernetes/feature-cluster/resources.yaml
@@ -15,18 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 #
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: elasticsearch
-spec:
-  selector:
-    app: elasticsearch
-  ports:
-    - protocol: TCP
-      port: 9200
-      targetPort: 9200
 
 ---
 apiVersion: v1
@@ -71,42 +59,6 @@ metadata:
     app: oap
   name: oap-dynamic-config
 
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: es-deployment
-  labels:
-    app: elasticsearch
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: elasticsearch
-  template:
-    metadata:
-      labels:
-        app: elasticsearch
-      annotations:
-        sidecar.istio.io/inject: "false"
-    spec:
-      containers:
-        - name: elasticsearch
-          image: ${ES_IMAGE}
-          imagePullPolicy: Always
-          resources:
-            limits:
-              cpu: 4000m
-              memory: "4096Mi"
-            requests:
-              cpu: 4000m
-              memory: "4096Mi"
-          ports:
-            - containerPort: 9200
-          env:
-            - name: "discovery.type"
-              value: "single-node"
-
 ---
 apiVersion: v1
 kind: Service
diff --git a/deploy/platform/kubernetes/feature-elasticsearch/resources.yaml b/deploy/platform/kubernetes/feature-elasticsearch/resources.yaml
new file mode 100644
index 0000000..755b362
--- /dev/null
+++ b/deploy/platform/kubernetes/feature-elasticsearch/resources.yaml
@@ -0,0 +1,65 @@
+# 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: elasticsearch
+spec:
+  selector:
+    app: elasticsearch
+  ports:
+    - protocol: TCP
+      port: 9200
+      targetPort: 9200
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: es-deployment
+  labels:
+    app: elasticsearch
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: elasticsearch
+  template:
+    metadata:
+      labels:
+        app: elasticsearch
+      annotations:
+        sidecar.istio.io/inject: "false"
+    spec:
+      containers:
+        - name: elasticsearch
+          image: ${ES_IMAGE}
+          imagePullPolicy: Always
+          resources:
+            limits:
+              cpu: 4000m
+              memory: "4096Mi"
+            requests:
+              cpu: 4000m
+              memory: "4096Mi"
+          ports:
+            - containerPort: 9200
+          env:
+            - name: "discovery.type"
+              value: "single-node"
diff --git a/deploy/platform/kubernetes/feature-single-node/resources.yaml b/deploy/platform/kubernetes/feature-single-node/resources.yaml
index 92dee92..375ac10 100644
--- a/deploy/platform/kubernetes/feature-single-node/resources.yaml
+++ b/deploy/platform/kubernetes/feature-single-node/resources.yaml
@@ -15,19 +15,6 @@
 # specific language governing permissions and limitations
 # under the License.
 #
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: elasticsearch
-spec:
-  selector:
-    app: elasticsearch
-  ports:
-    - protocol: TCP
-      port: 9200
-      targetPort: 9200
-
 ---
 apiVersion: v1
 data:
@@ -71,35 +58,6 @@ metadata:
     app: oap
   name: oap-dynamic-config
 
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: es-deployment
-  labels:
-    app: elasticsearch
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      app: elasticsearch
-  template:
-    metadata:
-      labels:
-        app: elasticsearch
-      annotations:
-        sidecar.istio.io/inject: "false"
-    spec:
-      containers:
-        - name: elasticsearch
-          image: ${ES_IMAGE}
-          imagePullPolicy: Always
-          ports:
-            - containerPort: 9200
-          env:
-            - name: 'discovery.type'
-              value: 'single-node'
-
 ---
 apiVersion: v1
 kind: Service
diff --git a/docs/readme.md b/docs/readme.md
index 30e98eb..f2f2e56 100644
--- a/docs/readme.md
+++ b/docs/readme.md
@@ -84,8 +84,9 @@ Currently, the features supported are:
 |-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
 | `java-agent-injector` | Use the java agent injector to inject the Skywalking Java agent and deploy microservices with other SkyWalking agent enabled.              | The microservices include agents for Java, NodeJS server, browser, Python.                                                            |
 | `agent`               | Deploy microservices with SkyWalking agent pre-installed.                                                                                  | In Kubernetes sceanarios, please use `java-agent-injector` instead of this, if possible.                                              |
-| `cluster`             | Deploy SkyWalking OAP in cluster mode, with 2 nodes, and SkyWalking UI, ElasticSearch as storage.                                          | Only one of `cluster` or `single-node` can be enabled.                                                                                |
+| `cluster`             | Deploy SkyWalking OAP in cluster mode, with 2 nodes, and SkyWalking UI.                                                                    | Only one of `cluster` or `single-node` can be enabled.                                                                                |
 | `single-node`         | Deploy only one single node of SkyWalking OAP, and SkyWalking UI, ElasticSearch as storage.                                                | Only one of `cluster` or `single-node` can be enabled.                                                                                |
+| `elasticsearch`       | Deploy a single-node ElasticSearch as storage, you may want to disable this if you want to use your own ElasticSearch deployments.         |                                                                                                                                       |
 | `so11y`               | Enable SkyWalking self observability.                                                                                                      | This is enabled by default for platform [Docker Compose](#docker-compose).                                                            |
 | `vm`                  | Start 2 virtual machines and export their metrics to SkyWalking.                                                                           | The "virtual machines" are mimicked by Docker containers or Pods.                                                                     |
 | `als`                 | Start microservices WITHOUT SkyWalking agent enabled, and configure SkyWalking to analyze the topology and metrics from their access logs. | Command `istioctl` is required to run this feature. The agentless microservices will be running at namespace `${NAMESPACE}-agentless` |