From 11a3ac02deda756bb930703cc209409d37455e55 Mon Sep 17 00:00:00 2001 From: Sebastian Melchior Date: Sat, 9 Dec 2017 17:35:03 +0100 Subject: [PATCH] add eventer to heapster chart (#1998) --- stable/heapster/Chart.yaml | 2 +- stable/heapster/README.md | 15 ++++++++++ stable/heapster/templates/deployment.yaml | 35 +++++++++++++++++++++++ stable/heapster/values.yaml | 34 ++++++++++++++++++++++ 4 files changed, 85 insertions(+), 1 deletion(-) diff --git a/stable/heapster/Chart.yaml b/stable/heapster/Chart.yaml index 8315dd2d4b..141c7c7280 100644 --- a/stable/heapster/Chart.yaml +++ b/stable/heapster/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 description: Heapster enables Container Cluster Monitoring and Performance Analysis. name: heapster -version: 0.2.1 +version: 0.2.2 sources: - https://github.com/kubernetes/heapster - https://github.com/kubernetes/contrib/tree/master/addon-resizer diff --git a/stable/heapster/README.md b/stable/heapster/README.md index 55b73046f2..b1cd58d224 100644 --- a/stable/heapster/README.md +++ b/stable/heapster/README.md @@ -1,6 +1,7 @@ # Heapster [Heapster](https://github.com/kubernetes/heapster) enables Container Cluster Monitoring and Performance Analysis. It collects and interprets various signals like compute resource usage, lifecycle events, etc, and exports cluster metrics via REST endpoints. +The Chart can also enable eventer, which can send the kubernetes event logs to a remote location. ## QuickStart @@ -45,6 +46,7 @@ The default configuration values for this chart are listed in `values.yaml`. | `rbac.create` | Bind system:heapster role | false | | `rbac.serviceAccountName` | existing ServiceAccount to use (ignored if rbac.create=true) | default | | `resizer.enabled` | If enabled, scale resources | true | +| `eventer.enabled` | If enabled, start eventer | false | | `nodeSelector` | Node labels for pod assignment | `{}` | The table below is only applicable if `resizer.enabled` is `true`. More information on resizer can be found [here](https://github.com/kubernetes/contrib/blob/master/addon-resizer/README.md). @@ -57,3 +59,16 @@ The table below is only applicable if `resizer.enabled` is `true`. More informat | `resizer.resources.limits` | Server resource limits | limits: {cpu: 50m, memory: 90Mi} | | `resizer.resources.requests` | Server resource requests | requests: {cpu: 50m, memory: 90Mi} | | `resizer.flags` | Flags for pod nanny command | Defaults set in values.yaml | + +The table below is only applicable if `eventer.enabled` is `true`. More information on eventer can be found +[here]https://github.com/kubernetes/heapster/blob/master/docs/overview.md + +| Parameter | Description | Default | +|---------------------------------------|------------------------------------------|---------------------------------------------------| +| `eventer.flags` | Flags for eventer command | Defaults set in values.yaml | +| `eventer.resources.limits` | Server resource limits | requests: {} | +| `eventer.resources.requests` | Server resource requests | requests: {} | +| `eventer.resizer.enabled` | If enabled, scale resources | true | +| `eventer.resizer.flags` | Flags for pod nanny command for eventer | Defaults set in values.yaml | +| `eventer.resizer.resources.limits` | Server resource limits | requests: {} | +| `eventer.resizer.resources.requests` | Server resource requests | requests: {} | diff --git a/stable/heapster/templates/deployment.yaml b/stable/heapster/templates/deployment.yaml index 22e53a6f74..abdcb2a541 100644 --- a/stable/heapster/templates/deployment.yaml +++ b/stable/heapster/templates/deployment.yaml @@ -66,3 +66,38 @@ spec: - {{ . | quote }} {{- end }} {{- end -}} +{{ if .Values.eventer.enabled }} + - name: {{ .Chart.Name }}-eventer + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + command: + - /eventer + {{- range .Values.eventer.flags }} + - {{ . | quote }} + {{- end }} + resources: +{{ toYaml .Values.eventer.resources | indent 12 }} +{{ if .Values.eventer.resizer.enabled }} + - name: {{ .Chart.Name }}-eventer-nanny + image: "{{ .Values.resizer.image.repository }}:{{ .Values.resizer.image.tag }}" + imagePullPolicy: {{ .Values.resizer.image.pullPolicy }} + resources: +{{ toYaml .Values.eventer.resizer.resources | indent 12 }} + env: + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + command: + - /pod_nanny + - "--deployment={{ template "fullname" . }}" + - "--container={{ .Chart.Name }}-eventer" + {{- range .Values.eventer.resizer.flags }} + - {{ . | quote }} + {{- end }} +{{- end -}} +{{- end -}} diff --git a/stable/heapster/values.yaml b/stable/heapster/values.yaml index e31693fcfa..8e9043ede2 100644 --- a/stable/heapster/values.yaml +++ b/stable/heapster/values.yaml @@ -88,3 +88,37 @@ rbac: ## Ignored if rbac.create is true ## serviceAccountName: default + +## eventer can send the kubernetes event logs to a remote destination +## it uses the same image as heapster but has its own resizer nanny pod +## eventer is disabled by default +## see https://github.com/kubernetes/heapster/blob/master/docs/overview.md for the flags you can use +## you will probably want to change the --sink parameter +eventer: + enabled: false + flags: + - "--source=kubernetes:https://kubernetes.default" + - "--sink=log" + resources: {} +# limits: +# cpu: 100m +# memory: 250Mi +# requests: +# cpu: 100m +# memory: 250Mi + resizer: + enabled: true + resources: {} +# limits: +# cpu: 50m +# memory: 90Mi +# requests: +# cpu: 50m +# memory: 90Mi + flags: + - "--cpu=150m" + - "--extra-cpu=10m" + - "--memory=200Mi" + - "--extra-memory=6Mi" + - "--threshold=5" + - "--poll-period=300000"