You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/10/06 09:25:11 UTC
[skywalking-kubernetes] 01/38: Init commit
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-kubernetes.git
commit 16e1399704bdac6f7f73c77e87d5baaea3a936ed
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Mon Oct 29 16:09:55 2018 +0800
Init commit
---
.gitignore | 2 +
README.md | 29 +++
scripts/elasticsearch/01-storageclass.yml | 25 +++
scripts/elasticsearch/02-service.yml | 32 +++
scripts/elasticsearch/03-statefulset.yml | 117 +++++++++++
scripts/istio/01-metrictemplete.yml | 24 +++
scripts/istio/02-skywalingadapter.yml | 26 +++
scripts/istio/03-operator_cfg.yml | 63 ++++++
scripts/namespace.yml | 22 ++
scripts/oap/00-rbac.yml | 50 +++++
scripts/oap/01-config.yml | 338 ++++++++++++++++++++++++++++++
scripts/oap/01-service.yml | 31 +++
scripts/oap/02-deployment.yml | 61 ++++++
scripts/ui/01-service.yml | 31 +++
scripts/ui/02-deployment.yml | 47 +++++
15 files changed, 898 insertions(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..538c8c5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+*~
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..26e65d2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,29 @@
+# Apache SkyWalking Kubernetes
+
+To install and configure skywalking in a Kubernetes cluster, follow these instructions.
+
+## Prerequisites
+
+Please promise the `skywalking` namespace existed in the cluster, otherwise, create a new one.
+
+`kubctl apply -f scripts/namespace.yml`
+
+## Deploy Elasticsearch
+
+Use `kubectl apply -f ` with the scripts in `scripts/elasticsearch` to deploy elasticsearch servers
+in the cluster.
+
+> `01-storageclass.yml` assume to use GKE as the kubernetes provisioner. You could fix it according
+to your kubernetes environment.
+
+## Deploy OAP server
+
+Use `kubectl apply -f ` with the scripts in `scripts/opa` to deploy oap server
+in the cluster.
+
+## Deploy UI server
+
+Use `kubectl apply -f ` with the scripts in `scripts/ui` to deploy oap server
+in the cluster.
+
+
diff --git a/scripts/elasticsearch/01-storageclass.yml b/scripts/elasticsearch/01-storageclass.yml
new file mode 100644
index 0000000..b34e294
--- /dev/null
+++ b/scripts/elasticsearch/01-storageclass.yml
@@ -0,0 +1,25 @@
+# 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.
+
+kind: StorageClass
+apiVersion: storage.k8s.io/v1
+metadata:
+ name: ssd
+ namespace: skywalking
+provisioner: kubernetes.io/gce-pd
+parameters:
+ type: pd-ssd
+ zone: us-west1-a
\ No newline at end of file
diff --git a/scripts/elasticsearch/02-service.yml b/scripts/elasticsearch/02-service.yml
new file mode 100644
index 0000000..00d7e0d
--- /dev/null
+++ b/scripts/elasticsearch/02-service.yml
@@ -0,0 +1,32 @@
+# 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
+ namespace: skywalking
+ labels:
+ service: elasticsearch
+spec:
+ clusterIP: None
+ ports:
+ - port: 9200
+ name: serving
+ - port: 9300
+ name: node-to-node
+ selector:
+ service: elasticsearch
\ No newline at end of file
diff --git a/scripts/elasticsearch/03-statefulset.yml b/scripts/elasticsearch/03-statefulset.yml
new file mode 100644
index 0000000..60b827a
--- /dev/null
+++ b/scripts/elasticsearch/03-statefulset.yml
@@ -0,0 +1,117 @@
+# 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: elasticsearch
+ namespace: skywalking
+ labels:
+ service: elasticsearch
+spec:
+ serviceName: elasticsearch
+ # NOTE: This is number of nodes that we want to run
+ # you may update this
+ replicas: 3
+ selector:
+ matchLabels:
+ service: elasticsearch
+ template:
+ metadata:
+ labels:
+ service: elasticsearch
+ spec:
+ terminationGracePeriodSeconds: 300
+ initContainers:
+ # NOTE:
+ # This is to fix the permission on the volume
+ # By default elasticsearch container is not run as
+ # non root user.
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_notes_for_production_use_and_defaults
+ - name: fix-the-volume-permission
+ image: busybox
+ command:
+ - sh
+ - -c
+ - chown -R 1000:1000 /usr/share/elasticsearch/data
+ securityContext:
+ privileged: true
+ volumeMounts:
+ - name: data
+ mountPath: /usr/share/elasticsearch/data
+ # NOTE:
+ # To increase the default vm.max_map_count to 262144
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode
+ - name: increase-the-vm-max-map-count
+ image: busybox
+ command:
+ - sysctl
+ - -w
+ - vm.max_map_count=262144
+ securityContext:
+ privileged: true
+ # To increase the ulimit
+ # https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_notes_for_production_use_and_defaults
+ - name: increase-the-ulimit
+ image: busybox
+ command:
+ - sh
+ - -c
+ - ulimit -n 65536
+ securityContext:
+ privileged: true
+ containers:
+ - name: elasticsearch
+ image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.2
+ ports:
+ - containerPort: 9200
+ name: http
+ - containerPort: 9300
+ name: tcp
+ # NOTE: you can increase this resources
+ resources:
+ requests:
+ memory: 8Gi
+ limits:
+ memory: 16Gi
+ env:
+ # NOTE: the cluster name; update this
+ - name: cluster.name
+ value: elasticsearch-cluster
+ - name: node.name
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ # NOTE: This will tell the elasticsearch node where to connect to other nodes to form a cluster
+ - name: discovery.zen.ping.unicast.hosts
+ value: "elasticsearch-0.elasticsearch.skywalking.svc.cluster.local,elasticsearch-1.elasticsearch.skywalking.svc.cluster.local,elasticsearch-2.elasticsearch.skywalking.svc.cluster.local"
+ # NOTE: You can increase the heap size
+ - name: ES_JAVA_OPTS
+ value: -Xms4g -Xmx4g
+ volumeMounts:
+ - name: data
+ mountPath: /usr/share/elasticsearch/data
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: ssd
+ # NOTE: You can increase the storage size
+ resources:
+ requests:
+ storage: 500Gi
diff --git a/scripts/istio/01-metrictemplete.yml b/scripts/istio/01-metrictemplete.yml
new file mode 100644
index 0000000..45e814e
--- /dev/null
+++ b/scripts/istio/01-metrictemplete.yml
@@ -0,0 +1,24 @@
+# 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: "config.istio.io/v1alpha2"
+kind: template
+metadata:
+ name: metric
+ namespace: istio-system
+spec:
+ descriptor: "CsD3AgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi5AQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvd [...]
+---
\ No newline at end of file
diff --git a/scripts/istio/02-skywalingadapter.yml b/scripts/istio/02-skywalingadapter.yml
new file mode 100644
index 0000000..d98ef2f
--- /dev/null
+++ b/scripts/istio/02-skywalingadapter.yml
@@ -0,0 +1,26 @@
+# 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: "config.istio.io/v1alpha2"
+kind: adapter
+metadata:
+ name: swadapter
+ namespace: istio-system
+spec:
+ description:
+ session_based: false
+ templates:
+ - metric
diff --git a/scripts/istio/03-operator_cfg.yml b/scripts/istio/03-operator_cfg.yml
new file mode 100644
index 0000000..cd292c4
--- /dev/null
+++ b/scripts/istio/03-operator_cfg.yml
@@ -0,0 +1,63 @@
+# 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: "config.istio.io/v1alpha2"
+kind: handler
+metadata:
+ name: sw
+ namespace: istio-system
+spec:
+ adapter: swadapter
+ connection:
+ address: "oap.skywalking.svc.cluster.local:11800"
+---
+
+# instance for template metric
+apiVersion: "config.istio.io/v1alpha2"
+kind: instance
+metadata:
+ name: swmetric
+ namespace: istio-system
+spec:
+ template: metric
+ params:
+ value: request.size | 0
+ dimensions:
+ sourceService: source.workload.name | ""
+ sourceUID: source.uid | ""
+ destinationService: destination.workload.name | ""
+ destinationUID: destination.uid | ""
+ requestMethod: request.method | ""
+ requestPath: request.path | ""
+ requestScheme: request.scheme | ""
+ requestTime: request.time
+ responseTime: response.time
+ responseCode: response.code | 200
+ reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
+ apiProtocol: api.protocol | ""
+---
+
+# rule to dispatch to handler sw
+apiVersion: "config.istio.io/v1alpha2"
+kind: rule
+metadata:
+ name: swmetric-rule
+ namespace: istio-system
+spec:
+ actions:
+ - handler: sw.istio-system
+ instances:
+ - swmetric
diff --git a/scripts/namespace.yml b/scripts/namespace.yml
new file mode 100644
index 0000000..c0ebe1d
--- /dev/null
+++ b/scripts/namespace.yml
@@ -0,0 +1,22 @@
+# 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: Namespace
+metadata:
+ name: skywalking
+ labels:
+ istio-injection: disabled
diff --git a/scripts/oap/00-rbac.yml b/scripts/oap/00-rbac.yml
new file mode 100644
index 0000000..244a88b
--- /dev/null
+++ b/scripts/oap/00-rbac.yml
@@ -0,0 +1,50 @@
+# 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: skywalking-oap
+ namespace: skywalking
+
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: skywalking-oap
+ namespace: skywalking
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: skywalking-oap
+subjects:
+- kind: ServiceAccount
+ name: skywalking-oap
+ namespace: skywalking
+
+---
+
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ namespace: skywalking
+ name: skywalking-oap
+rules:
+- apiGroups: [""]
+ resources: ["pods"]
+ verbs: ["get", "watch", "list"]
\ No newline at end of file
diff --git a/scripts/oap/01-config.yml b/scripts/oap/01-config.yml
new file mode 100644
index 0000000..c3c2eaf
--- /dev/null
+++ b/scripts/oap/01-config.yml
@@ -0,0 +1,338 @@
+# 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: oap-config
+ namespace: skywalking
+data:
+ application.yml: |-
+ cluster:
+ kubernetes:
+ watchTimeoutSeconds: 60
+ namespace: skywalking
+ labelSelector: app=oap
+ uidEnvName: SKYWALKING_COLLECTOR_UID
+ core:
+ default:
+ restHost: 0.0.0.0
+ restPort: 12800
+ restContextPath: /
+ gRPCHost: 0.0.0.0
+ gRPCPort: 11800
+ downsampling:
+ - Hour
+ - Day
+ - Month
+ recordDataTTL: 90 # Unit is minute
+ minuteMetricsDataTTL: 90 # Unit is minute
+ hourMetricsDataTTL: 36 # Unit is hour
+ dayMetricsDataTTL: 45 # Unit is day
+ monthMetricsDataTTL: 18 # Unit is month
+ storage:
+ elasticsearch:
+ clusterNodes: elasticsearch:9200
+ indexShardsNumber: 2
+ indexReplicasNumber: 0
+ bulkActions: 2000 # Execute the bulk every 2000 requests
+ bulkSize: 20 # flush the bulk every 20mb
+ flushInterval: 10 # flush the bulk every 10 seconds whatever the number of requests
+ concurrentRequests: 2 # the number of concurrent requests
+ receiver-register:
+ default:
+ receiver-trace:
+ default:
+ bufferPath: /trace-buffer/ # Path to trace buffer files, suggest to use absolute path
+ bufferOffsetMaxFileSize: 100 # Unit is MB
+ bufferDataMaxFileSize: 500 # Unit is MB
+ bufferFileCleanWhenRestart: false
+ receiver-jvm:
+ default:
+ service-mesh:
+ default:
+ bufferPath: /mesh-buffer/ # Path to trace buffer files, suggest to use absolute path
+ bufferOffsetMaxFileSize: 100 # Unit is MB
+ bufferDataMaxFileSize: 500 # Unit is MB
+ bufferFileCleanWhenRestart: false
+ istio-telemetry:
+ default:
+ query:
+ graphql:
+ path: /graphql
+ alarm:
+ default:
+
+ log4j2.xml: |--
+ <Configuration status="INFO">
+ <Appenders>
+ <Console name="Console" target="SYSTEM_OUT">
+ <PatternLayout charset="UTF-8" pattern="%d - %c -%-4r [%t] %-5p %x - %m%n"/>
+ </Console>
+ </Appenders>
+ <Loggers>
+ <logger name="org.eclipse.jetty" level="INFO"/>
+ <logger name="org.apache.zookeeper" level="INFO"/>
+ <logger name="org.elasticsearch.common.network.IfConfig" level="INFO"/>
+ <logger name="io.grpc.netty" level="INFO"/>
+ <logger name="org.apache.skywalking.oap.server.receiver.istio.telemetry" level="DEBUG"/>
+ <Root level="INFO">
+ <AppenderRef ref="Console"/>
+ </Root>
+ </Loggers>
+ </Configuration>
+
+ alarm-settings.yml: |-
+ rules:
+ service_resp_time_rule:
+ indicator-name: service_resp_time
+ include-names:
+ - dubbox-provider
+ - dubbox-consumer
+ threshold: 1000
+ op: ">"
+ period: 10
+ count: 1
+ webhooks:
+
+ component-libraries.yml: |-
+ Tomcat:
+ id: 1
+ languages: Java
+ HttpClient:
+ id: 2
+ languages: Java,C#,Node.js
+ Dubbo:
+ id: 3
+ languages: Java
+ H2:
+ id: 4
+ languages: Java
+ Mysql:
+ id: 5
+ languages: Java,C#,Node.js
+ ORACLE:
+ id: 6
+ languages: Java
+ Redis:
+ id: 7
+ languages: Java,C#,Node.js
+ Motan:
+ id: 8
+ languages: Java
+ MongoDB:
+ id: 9
+ languages: Java,C#,Node.js
+ Resin:
+ id: 10
+ languages: Java
+ Feign:
+ id: 11
+ languages: Java
+ OKHttp:
+ id: 12
+ languages: Java
+ SpringRestTemplate:
+ id: 13
+ languages: Java
+ SpringMVC:
+ id: 14
+ languages: Java
+ Struts2:
+ id: 15
+ languages: Java
+ NutzMVC:
+ id: 16
+ languages: Java
+ NutzHttp:
+ id: 17
+ languages: Java
+ JettyClient:
+ id: 18
+ languages: Java
+ JettyServer:
+ id: 19
+ languages: Java
+ Memcached:
+ id: 20
+ languages: Java
+ ShardingJDBC:
+ id: 21
+ languages: Java
+ PostgreSQL:
+ id: 22
+ languages: Java,C#,Node.js
+ GRPC:
+ id: 23
+ languages: Java
+ ElasticJob:
+ id: 24
+ languages: Java
+ RocketMQ:
+ id: 25
+ languages: Java
+ httpasyncclient:
+ id: 26
+ languages: Java
+ Kafka:
+ id: 27
+ languages: Java
+ ServiceComb:
+ id: 28
+ languages: Java
+ Hystrix:
+ id: 29
+ languages: Java
+ Jedis:
+ id: 30
+ languages: Java
+ SQLite:
+ id: 31
+ languages: Java,C#
+ h2-jdbc-driver:
+ id: 32
+ languages: Java
+ mysql-connector-java:
+ id: 33
+ languages: Java
+ Spymemcached:
+ id: 35
+ languages: Java
+ Xmemcached:
+ id: 36
+ languages: Java
+ postgresql-jdbc-driver:
+ id: 37
+ languages: Java
+ rocketMQ-producer:
+ id: 38
+ languages: Java
+ rocketMQ-consumer:
+ id: 39
+ languages: Java
+ kafka-producer:
+ id: 40
+ languages: Java
+ kafka-consumer:
+ id: 41
+ languages: Java
+ mongodb-driver:
+ id: 42
+ languages: Java
+ SOFARPC:
+ id: 43
+ languages: Java
+ ActiveMQ:
+ id: 44
+ languages: Java
+ activemq-producer:
+ id: 45
+ languages: Java
+ activemq-consumer:
+ id: 46
+ languages: Java
+ Elasticsearch:
+ id: 47
+ languages: Java
+ transport-client:
+ id: 48
+ languages: Java
+ AspNetCore:
+ id: 3001
+ languages: C#
+ EntityFrameworkCore:
+ id: 3002
+ languages: C#
+ SqlClient:
+ id: 3003
+ languages: C#
+ CAP:
+ id: 3004
+ languages: C#
+ StackExchange.Redis:
+ id: 3005
+ languages: C#
+ SqlServer:
+ id: 3006
+ languages: C#
+ Npgsql:
+ id: 3007
+ languages: C#
+ MySqlConnector:
+ id: 3008
+ languages: C#
+ EntityFrameworkCore.InMemory:
+ id: 3009
+ languages: C#
+ EntityFrameworkCore.SqlServer:
+ id: 3010
+ languages: C#
+ EntityFrameworkCore.Sqlite:
+ id: 3011
+ languages: C#
+ Pomelo.EntityFrameworkCore.MySql:
+ id: 3012
+ languages: C#
+ Npgsql.EntityFrameworkCore.PostgreSQL:
+ id: 3013
+ languages: C#
+ InMemoryDatabase:
+ id: 3014
+ languages: C#
+ AspNet:
+ id: 3015
+ languages: C#
+
+ # NoeJS components
+ # [4000, 5000) for Node.js agent
+ HttpServer:
+ id: 4001
+ languages: Node.js
+ express:
+ id: 4002
+ languages: Node.js
+ Egg:
+ id: 4003
+ languages: Node.js
+ Koa:
+ id: 4004
+ languages: Node.js
+ Component-Server-Mappings:
+ mongodb-driver: MongoDB
+ rocketMQ-producer: RocketMQ
+ rocketMQ-consumer: RocketMQ
+ kafka-producer: Kafka
+ kafka-consumer: Kafka
+ activemq-producer: ActiveMQ
+ activemq-consumer: ActiveMQ
+ postgresql-jdbc-driver: PostgreSQL
+ Xmemcached: Memcached
+ Spymemcached: Memcached
+ h2-jdbc-driver: H2
+ mysql-connector-java: Mysql
+ Jedis: Redis
+ StackExchange.Redis: Redis
+ SqlClient: SqlServer
+ Npgsql: PostgreSQL
+ MySqlConnector: Mysql
+ EntityFrameworkCore.InMemory: InMemoryDatabase
+ EntityFrameworkCore.SqlServer: SqlServer
+ EntityFrameworkCore.Sqlite: SQLite
+ Pomelo.EntityFrameworkCore.MySql: Mysql
+ Npgsql.EntityFrameworkCore.PostgreSQL: PostgreSQL
+ transport-client: Elasticsearch
+
+
diff --git a/scripts/oap/01-service.yml b/scripts/oap/01-service.yml
new file mode 100644
index 0000000..34c9586
--- /dev/null
+++ b/scripts/oap/01-service.yml
@@ -0,0 +1,31 @@
+# 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: oap
+ namespace: skywalking
+ labels:
+ service: oap
+spec:
+ ports:
+ - port: 12800
+ name: rest
+ - port: 11800
+ name: grpc
+ selector:
+ app: oap
\ No newline at end of file
diff --git a/scripts/oap/02-deployment.yml b/scripts/oap/02-deployment.yml
new file mode 100644
index 0000000..b525878
--- /dev/null
+++ b/scripts/oap/02-deployment.yml
@@ -0,0 +1,61 @@
+# 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:
+ name: oap-deployment
+ namespace: skywalking
+ labels:
+ app: oap
+spec:
+ replicas: 3
+ selector:
+ matchLabels:
+ app: oap
+ template:
+ metadata:
+ labels:
+ app: oap
+ spec:
+ serviceAccountName: skywalking-oap
+ containers:
+ - name: oap
+ image: us.gcr.io/skywalking-live-demo/skywalking/oap:latest
+ ports:
+ - containerPort: 11800
+ name: grpc
+ - containerPort: 12800
+ name: rest
+ resources:
+ requests:
+ memory: 1Gi
+ limits:
+ memory: 2Gi
+ env:
+ - name: JAVA_OPTS
+ value: -Xms256M -Xmx512M
+ - name: SKYWALKING_COLLECTOR_UID
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.uid
+ volumeMounts:
+ - name: config
+ mountPath: /apache-skywalking-apm-incubating/config
+ volumes:
+ - name: config
+ configMap:
+ name: oap-config
\ No newline at end of file
diff --git a/scripts/ui/01-service.yml b/scripts/ui/01-service.yml
new file mode 100644
index 0000000..036ec1c
--- /dev/null
+++ b/scripts/ui/01-service.yml
@@ -0,0 +1,31 @@
+# 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: ui
+ namespace: skywalking
+ labels:
+ service: ui
+spec:
+ ports:
+ - port: 80
+ name: page
+ targetPort: page
+ type: LoadBalancer
+ selector:
+ app: ui
\ No newline at end of file
diff --git a/scripts/ui/02-deployment.yml b/scripts/ui/02-deployment.yml
new file mode 100644
index 0000000..2839981
--- /dev/null
+++ b/scripts/ui/02-deployment.yml
@@ -0,0 +1,47 @@
+# 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:
+ name: ui-deployment
+ namespace: skywalking
+ labels:
+ app: ui
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: ui
+ template:
+ metadata:
+ labels:
+ app: ui
+ spec:
+ containers:
+ - name: ui
+ image: us.gcr.io/skywalking-live-demo/skywalking/ui:latest
+ ports:
+ - containerPort: 8080
+ name: page
+ resources:
+ requests:
+ memory: 1Gi
+ limits:
+ memory: 2Gi
+ env:
+ - name: collector.ribbon.listOfServers
+ value: oap:12800