diff options
author | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2019-01-25 02:44:36 -0800 |
---|---|---|
committer | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2019-01-25 02:49:50 -0800 |
commit | c942e55ceea4ce28e84168bb672a83572d0a6313 (patch) | |
tree | 8ef8e93a9d4bbd70c4076338ca5ce2be98990268 /vnfs/DAaaS/collectd-helm | |
parent | 1b97e2665be03fc518eb11de0863c42b2280149e (diff) |
Helm charts for Distributed Edge Analytics.
Initial Helm charts for CollectD, Prometheus Operator,
Kafka Strimzi operator, Rook Ceph Operator.
Change-Id: I7323029bd0bf1e4b39aac329fc567f705a59bc0c
Issue-ID: ONAPARC-366
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Diffstat (limited to 'vnfs/DAaaS/collectd-helm')
-rw-r--r-- | vnfs/DAaaS/collectd-helm/.helmignore | 21 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/Chart.yaml | 18 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/templates/NOTES.txt | 1 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/templates/_helpers.tpl | 16 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/templates/configmap.yaml | 71 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/templates/daemonset.yaml | 79 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/templates/service.yaml | 17 | ||||
-rw-r--r-- | vnfs/DAaaS/collectd-helm/values.yaml | 20 |
8 files changed, 243 insertions, 0 deletions
diff --git a/vnfs/DAaaS/collectd-helm/.helmignore b/vnfs/DAaaS/collectd-helm/.helmignore new file mode 100644 index 00000000..f0c13194 --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/.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/vnfs/DAaaS/collectd-helm/Chart.yaml b/vnfs/DAaaS/collectd-helm/Chart.yaml new file mode 100644 index 00000000..9b514796 --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright 2018 Intel Corporation, Inc +# +# Licensed 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 +description: Collectd Helm Chart +name: collectd +version: 0.1.0 diff --git a/vnfs/DAaaS/collectd-helm/templates/NOTES.txt b/vnfs/DAaaS/collectd-helm/templates/NOTES.txt new file mode 100644 index 00000000..3ad21a5b --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/templates/NOTES.txt @@ -0,0 +1 @@ +1. Collect Charts diff --git a/vnfs/DAaaS/collectd-helm/templates/_helpers.tpl b/vnfs/DAaaS/collectd-helm/templates/_helpers.tpl new file mode 100644 index 00000000..f0d83d2e --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/templates/_helpers.tpl @@ -0,0 +1,16 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "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). +*/}} +{{- define "fullname" -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/vnfs/DAaaS/collectd-helm/templates/configmap.yaml b/vnfs/DAaaS/collectd-helm/templates/configmap.yaml new file mode 100644 index 00000000..2f8b4527 --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/templates/configmap.yaml @@ -0,0 +1,71 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# Licensed 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: {{ template "fullname" . }}-config + labels: + app: {{ template "name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} +data: + node-collectd.conf: |- + FQDNLookup false + + LoadPlugin cpu + LoadPlugin memory + LoadPlugin cpufreq + LoadPlugin disk + LoadPlugin ethstat + LoadPlugin ipc + LoadPlugin ipmi + LoadPlugin load + LoadPlugin numa + LoadPlugin processes + LoadPlugin df + LoadPlugin turbostat + LoadPlugin uptime + LoadPlugin contextswitch + LoadPlugin irq + LoadPlugin df + LoadPlugin swap + LoadPlugin write_prometheus + + LoadPlugin logfile + <Plugin logfile> + LogLevel info + File "/var/log/collectd.log" + Timestamp true + PrintSeverity false + </Plugin> + <Plugin "cpu"> + Interval 5 + ReportByState false + ReportByCpu false + </Plugin> + + <Plugin "memory"> + Interval 30 + ValuesAbsolute false + ValuesPercentage true + </Plugin> + + <Plugin "write_prometheus"> + Port "{{ .Values.prometheus_port }}" + </Plugin> + + #Last line (collectd requires ā\nā at the last line) diff --git a/vnfs/DAaaS/collectd-helm/templates/daemonset.yaml b/vnfs/DAaaS/collectd-helm/templates/daemonset.yaml new file mode 100644 index 00000000..4b98b808 --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/templates/daemonset.yaml @@ -0,0 +1,79 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# Licensed 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: extensions/v1beta1 +kind: DaemonSet +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ template "name" . }} + collector: collectd + release: {{ .Release.Name }} + spec: + hostNetwork: true + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + privileged: true + volumeMounts: + - name: {{ template "fullname" . }}-config + mountPath: /opt/collectd/etc + - name: proc + mountPath: /mnt/proc + readOnly: true + - name: root + mountPath: /hostfs + readOnly: true + - name: etc + mountPath: /mnt/etc + readOnly: true + - name: run + mountPath: /var/run/docker.sock + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end }} + volumes: + - name: {{ template "fullname" . }}-config + configMap: + name: {{ template "fullname" . }}-config + items: + - key: node-collectd.conf + path: collectd.conf + - name: proc + hostPath: + path: /proc + - name: root + hostPath: + path: / + - name: etc + hostPath: + path: /etc + - name: run + hostPath: + path: /var/run/docker.sock
\ No newline at end of file diff --git a/vnfs/DAaaS/collectd-helm/templates/service.yaml b/vnfs/DAaaS/collectd-helm/templates/service.yaml new file mode 100644 index 00000000..6ae6f098 --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/templates/service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: collectd-prometheus-metrics-endpoint + labels: + app: collectd + collector: collectd +spec: + ports: + - name: collectd-prometheus + port: {{ .Values.prometheus_port }} + targetPort: collectd + selector: + app: {{ template "name" . }} + collector: collectd + release: {{ .Release.Name }} + type: ClusterIP diff --git a/vnfs/DAaaS/collectd-helm/values.yaml b/vnfs/DAaaS/collectd-helm/values.yaml new file mode 100644 index 00000000..6a1138d1 --- /dev/null +++ b/vnfs/DAaaS/collectd-helm/values.yaml @@ -0,0 +1,20 @@ +# Default values for collectd. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +namespace: default +image: + repository: opnfv/barometer-collectd + tag: latest + pullPolicy: IfNotPresent +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: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi +prometheus_port: 9103 |