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:32 UTC
[skywalking-kubernetes] 22/38: helm charts (#8)
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 a2f59da8d0e1753a42a562de4ac70b64cafdd052
Author: innerpeacez <37...@users.noreply.github.com>
AuthorDate: Wed May 22 23:13:23 2019 +0800
helm charts (#8)
* deploy skywalking to kubernetes using helm charts
* Configmap automatically get namespace by Release
* fix bug : A volume can only be mounted once
* Parameterize terminationGracePeriodSeconds config.
* one value is configured for elasticsearch host
* oap service type
* resources (cpu memory) "toYaml"
---
helm/charts/6/6.0.0-GA/skywalking/.helmignore | 21 ++
helm/charts/6/6.0.0-GA/skywalking/Chart.yaml | 9 +
.../6/6.0.0-GA/skywalking/templates/NOTES.txt | 19 ++
.../6/6.0.0-GA/skywalking/templates/_helpers.tpl | 32 ++
.../elasticsearch/elasticsearch-service.yml | 31 ++
.../elasticsearch/elasticsearch-statefulset.yml | 122 +++++++
.../skywalking/templates/oap/oap-config.yml | 374 +++++++++++++++++++++
.../skywalking/templates/oap/oap-deployment.yml | 59 ++++
.../skywalking/templates/oap/oap-role.yaml | 24 ++
.../skywalking/templates/oap/oap-rolebinding.yaml | 27 ++
.../skywalking/templates/oap/oap-service.yml | 31 ++
.../templates/oap/oap-serviceaccount.yml | 23 ++
.../skywalking/templates/ui/ui-deployment.yml | 45 +++
.../skywalking/templates/ui/ui-service.yml | 30 ++
helm/charts/6/6.0.0-GA/skywalking/values.yaml | 111 ++++++
15 files changed, 958 insertions(+)
diff --git a/helm/charts/6/6.0.0-GA/skywalking/.helmignore b/helm/charts/6/6.0.0-GA/skywalking/.helmignore
new file mode 100644
index 0000000..f0c1319
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/helm/charts/6/6.0.0-GA/skywalking/Chart.yaml b/helm/charts/6/6.0.0-GA/skywalking/Chart.yaml
new file mode 100644
index 0000000..2861d97
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/Chart.yaml
@@ -0,0 +1,9 @@
+name: skywalking
+apiVersion: v1
+appVersion: 6.0.0-GA
+description: Apache SkyWalking APM System
+version: 0.1.0
+
+maintainers:
+- name: innerpeacez
+ email: 10146749@qq.com
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/NOTES.txt b/helm/charts/6/6.0.0-GA/skywalking/templates/NOTES.txt
new file mode 100644
index 0000000..e49295c
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ui.ingress.enabled }}
+{{- range .Values.ui.ingress.hosts }}
+ http{{ if $.Values.ui.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ui.ingress.path }}
+{{- end }}
+{{- else if contains "NodePort" .Values.ui.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "skywalking.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.ui.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "skywalking.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "skywalking.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.port }}
+{{- else if contains "ClusterIP" .Values.ui.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ include "skywalking.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:80
+{{- end }}
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/_helpers.tpl b/helm/charts/6/6.0.0-GA/skywalking/templates/_helpers.tpl
new file mode 100644
index 0000000..817da6d
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/_helpers.tpl
@@ -0,0 +1,32 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "skywalking.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "skywalking.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "skywalking.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/elasticsearch/elasticsearch-service.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/elasticsearch/elasticsearch-service.yml
new file mode 100644
index 0000000..78b2719
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/elasticsearch/elasticsearch-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: {{ template "skywalking.fullname" . }}-elasticsearch
+ labels:
+ service: {{ .Values.elasticsearch.name }}
+spec:
+ clusterIP: None
+ ports:
+ - port: {{ .Values.elasticsearch.ports.http }}
+ name: serving
+ - port: {{ .Values.elasticsearch.ports.tcp }}
+ name: node-to-node
+ selector:
+ service: {{ .Values.elasticsearch.name }}
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/elasticsearch/elasticsearch-statefulset.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/elasticsearch/elasticsearch-statefulset.yml
new file mode 100644
index 0000000..e2919d4
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/elasticsearch/elasticsearch-statefulset.yml
@@ -0,0 +1,122 @@
+# 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: {{ template "skywalking.fullname" . }}-elasticsearch
+ labels:
+ service: {{ .Values.elasticsearch.name }}
+spec:
+ serviceName: {{ .Values.elasticsearch.name }}
+ # NOTE: This is number of nodes that we want to run
+ # you may update this
+ replicas: {{ .Values.elasticsearch.replicas }}
+ selector:
+ matchLabels:
+ service: {{ .Values.elasticsearch.name }}
+ template:
+ metadata:
+ labels:
+ service: {{ .Values.elasticsearch.name }}
+ spec:
+ terminationGracePeriodSeconds: {{ .Values.elasticsearch.terminationGracePeriodSeconds }}
+ 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: {{ .Values.elasticsearch.image.repository }}:{{ .Values.elasticsearch.image.tag }}
+ ports:
+ - containerPort: {{ .Values.elasticsearch.ports.http }}
+ name: http
+ - containerPort: {{ .Values.elasticsearch.ports.tcp }}
+ name: tcp
+ # NOTE: you can increase this resources
+{{- if .Values.elasticsearch.resources }}
+ resources:
+{{ toYaml .Values.elasticsearch.resources | indent 10 }}
+{{- end }}
+ 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: {{ .Values.elasticsearch.clusterHost }}
+ value: {{ .Values.elasticsearch.name }}:{{ .Values.elasticsearch.ports.tcp }}
+ # NOTE: You can increase the heap size
+ - name: ES_JAVA_OPTS
+ value: {{ .Values.elasticsearch.env.esJavaOpts }}
+ volumeMounts:
+ - name: data
+ mountPath: /usr/share/elasticsearch/data
+ {{- if .Values.elasticsearch.persistence.enabled }}
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - {{ .Values.elasticsearch.persistence.accessMode }}
+ {{- if .Values.elasticsearch.persistence.storageClass }}
+ {{- if (eq "-" .Values.elasticsearch.persistence.storageClass) }}
+ storageClassName: ""
+ {{- else }}
+ storageClassName: "{{ .Values.elasticsearch.persistence.storageClass }}"
+ {{- end }}
+ {{- end }}
+ resources:
+ requests:
+ storage: "{{ .Values.elasticsearch.persistence.size }}"
+ {{- end -}}
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-config.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-config.yml
new file mode 100644
index 0000000..ea80c88
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-config.yml
@@ -0,0 +1,374 @@
+# 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.
+{{- $oapService := .Values.oap.name -}}
+{{- $namespace := .Release.Namespace -}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "skywalking.fullname" . }}-oap-config
+data:
+ application.yml: |-
+ cluster:
+ kubernetes:
+ watchTimeoutSeconds: 60
+ labelSelector: app={{ $oapService }}
+ uidEnvName: SKYWALKING_COLLECTOR_UID
+ namespace: {{ $namespace }}
+ 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: skywalking-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:
+ telemetry:
+ prometheus:
+
+ 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
+ ojdbc:
+ id: 34
+ 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
+ http:
+ id: 49
+ languages: Java,C#,Node.js
+ rpc:
+ id: 50
+ languages: Java,C#,Node.js
+ RabbitMQ:
+ id: 51
+ languages: Java
+ rabbitmq-producer:
+ id: 52
+ languages: Java
+ rabbitmq-consumer:
+ id: 53
+ languages: Java
+ Canal:
+ id: 54
+ languages: Java
+ Gson:
+ id: 55
+ languages: Java
+ Redisson:
+ id: 56
+ 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 mapping defines the server display names of some components
+ # e.g.
+ # Jedis is a client library in Java for Redis server
+ Component-Server-Mappings:
+ mongodb-driver: MongoDB
+ rocketMQ-producer: RocketMQ
+ rocketMQ-consumer: RocketMQ
+ kafka-producer: Kafka
+ kafka-consumer: Kafka
+ activemq-producer: ActiveMQ
+ activemq-consumer: ActiveMQ
+ rabbitmq-producer: RabbitMQ
+ rabbitmq-consumer: RabbitMQ
+ postgresql-jdbc-driver: PostgreSQL
+ Xmemcached: Memcached
+ Spymemcached: Memcached
+ h2-jdbc-driver: H2
+ mysql-connector-java: Mysql
+ Jedis: Redis
+ StackExchange.Redis: Redis
+ Redisson: 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/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-deployment.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-deployment.yml
new file mode 100644
index 0000000..2bfd271
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-deployment.yml
@@ -0,0 +1,59 @@
+# 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: {{ template "skywalking.fullname" . }}-oap
+ labels:
+ app: {{ .Values.oap.name }}
+spec:
+ replicas: {{ .Values.oap.replicas }}
+ selector:
+ matchLabels:
+ app: {{ .Values.oap.name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Values.oap.name }}
+ spec:
+ serviceAccountName: {{ .Values.oap.name }}
+ containers:
+ - name: {{ .Values.oap.name }}
+ image: {{ .Values.oap.image.repository }}:{{ .Values.oap.image.tag }}
+ ports:
+ - containerPort: {{ .Values.oap.ports.grpc }}
+ name: grpc
+ - containerPort: {{ .Values.oap.ports.rest }}
+ name: rest
+{{- if .Values.oap.resources }}
+ resources:
+{{ toYaml .Values.oap.resources | indent 10 }}
+{{- end }}
+ env:
+ - name: JAVA_OPTS
+ value: {{ .Values.oap.env.javaOpts }}
+ - name: SKYWALKING_COLLECTOR_UID
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.uid
+ volumeMounts:
+ - name: config
+ mountPath: /skywalking/config
+ volumes:
+ - name: config
+ configMap:
+ name: {{ template "skywalking.fullname" . }}-oap-config
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-role.yaml b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-role.yaml
new file mode 100644
index 0000000..a348796
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-role.yaml
@@ -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.
+
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: {{ template "skywalking.fullname" . }}-oap
+rules:
+- apiGroups: [""]
+ resources: ["pods"]
+ verbs: ["get", "watch", "list"]
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-rolebinding.yaml b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-rolebinding.yaml
new file mode 100644
index 0000000..53ce80a
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-rolebinding.yaml
@@ -0,0 +1,27 @@
+# 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: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ template "skywalking.fullname" . }}-oap
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ template "skywalking.fullname" . }}-oap
+subjects:
+- kind: ServiceAccount
+ name: {{ template "skywalking.fullname" . }}-oap
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-service.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-service.yml
new file mode 100644
index 0000000..192ea6c
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-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: {{ template "skywalking.fullname" . }}-oap
+ labels:
+ service: {{ .Values.oap.name }}
+spec:
+ type: {{ .Values.oap.service.type }}
+ ports:
+ - port: {{ .Values.oap.ports.rest }}
+ name: rest
+ - port: {{ .Values.oap.ports.grpc }}
+ name: grpc
+ selector:
+ app: {{ .Values.oap.name }}
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-serviceaccount.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-serviceaccount.yml
new file mode 100644
index 0000000..addabf9
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/oap/oap-serviceaccount.yml
@@ -0,0 +1,23 @@
+# 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: {{ template "skywalking.fullname" . }}-oap
+
+
+
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/ui/ui-deployment.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/ui/ui-deployment.yml
new file mode 100644
index 0000000..b11f9fc
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/ui/ui-deployment.yml
@@ -0,0 +1,45 @@
+# 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: {{ template "skywalking.fullname" . }}-ui
+ labels:
+ app: {{ .Values.ui.name }}
+spec:
+ replicas: {{ .Values.ui.replicas }}
+ selector:
+ matchLabels:
+ app: {{ .Values.ui.name }}
+ template:
+ metadata:
+ labels:
+ app: {{ .Values.ui.name }}
+ spec:
+ containers:
+ - name: {{ .Values.ui.name }}
+ image: {{ .Values.ui.image.repository }}:{{ .Values.ui.image.tag }}
+ ports:
+ - containerPort: {{ .Values.ui.ports.page }}
+ name: page
+{{- if .Values.ui.resources }}
+ resources:
+{{ toYaml .Values.ui.resources | indent 10 }}
+{{- end }}
+ env:
+ - name: collector.ribbon.listOfServers
+ value: {{ .Values.oap.name }}:{{ .Values.oap.ports.rest }}
diff --git a/helm/charts/6/6.0.0-GA/skywalking/templates/ui/ui-service.yml b/helm/charts/6/6.0.0-GA/skywalking/templates/ui/ui-service.yml
new file mode 100644
index 0000000..ac5c26a
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/templates/ui/ui-service.yml
@@ -0,0 +1,30 @@
+# 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: {{ template "skywalking.fullname" . }}-ui
+ labels:
+ service: {{ .Values.ui.name }}
+spec:
+ ports:
+ - port: {{ .Values.ui.ports.page }}
+ name: page
+ targetPort: page
+ type: {{ .Values.ui.service.type }}
+ selector:
+ app: {{ .Values.ui.name }}
\ No newline at end of file
diff --git a/helm/charts/6/6.0.0-GA/skywalking/values.yaml b/helm/charts/6/6.0.0-GA/skywalking/values.yaml
new file mode 100644
index 0000000..27604d9
--- /dev/null
+++ b/helm/charts/6/6.0.0-GA/skywalking/values.yaml
@@ -0,0 +1,111 @@
+# Default values for skywalking.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+elasticsearch:
+ name: skywalking-elasticsearch
+ replicas: 3
+ image:
+ repository: docker.elastic.co/elasticsearch/elasticsearch-oss
+ tag: 6.3.2
+ pullPolicy: IfNotPresent
+ ports:
+ http: 9200
+ tcp: 9300
+ clusterHost: discovery.zen.ping.unicast.hosts
+ env:
+ esJavaOpts: "-Xms4g -Xmx4g"
+ resources:
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ limits:
+ # cpu: 100m
+ memory: 16Gi
+ requests:
+ # cpu: 100m
+ memory: 8Gi
+ persistence:
+ enabled: true
+ ## data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ storageClass: fast
+ ##
+ ## If you want to reuse an existing claim, you can pass the name of the PVC using
+ ## the existingClaim variable
+ # existingClaim: your-claim
+ accessMode: ReadWriteOnce
+ size: 30Gi
+ terminationGracePeriodSeconds: 300
+
+oap:
+ name: skywalking-oap
+ image:
+ repository: skywalking/oap
+ tag: 6.0.0-GA
+ pullPolicy: IfNotPresent
+ ports:
+ grpc: 11800
+ rest: 12800
+ replicas: 3
+ service:
+ type: ClusterIP
+ env:
+ javaOpts: "-Xms256M -Xmx512M"
+ resources:
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ limits:
+ # cpu: 100m
+ memory: 2Gi
+ requests:
+ # cpu: 100m
+ memory: 1Gi
+
+ui:
+ name: skywalking-ui
+ replicas: 1
+ image:
+ repository: skywalking/ui
+ tag: 6.0.0-GA
+ pullPolicy: IfNotPresent
+ ports:
+ page: 8080
+ ingress:
+ enabled: false
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ path: /
+ hosts:
+ - chart-example.local
+ tls: []
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+ service:
+ type: NodePort
+ port: 80
+ resources:
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ limits:
+ # cpu: 100m
+ memory: 2Gi
+ requests:
+ # cpu: 100m
+ memory: 1Gi
+
+
+nameOverride: ""
+fullnameOverride: ""