Commit c236666b by Aiwantaozi Committed by Craig Jellick

Update logging chart to support both windows and linux

Changes: 1. fluentd: add sub charts fluentd-linux and fluentd-:windows 2. log-aggregator: remove useless service account 3. log-aggregator: add sub charts log-aggregator-linux and log-aggregator-windows
parent bb89f841
...@@ -3,7 +3,7 @@ description: Rancher logging helm chart to support logging function in rancher ...@@ -3,7 +3,7 @@ description: Rancher logging helm chart to support logging function in rancher
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
name: rancher-logging name: rancher-logging
version: 0.1.2 version: 0.1.2
appVersion: v1.1.3 appVersion: 1.6.3
home: https://www.fluentd.org/ home: https://www.fluentd.org/
sources: sources:
- https://www.fluentd.org/ - https://www.fluentd.org/
......
name: fluentd-tester name: fluentd-tester
version: 0.0.1 version: 0.0.2
appVersion: 1.1.3 appVersion: 1.6.3
home: https://www.fluentd.org/ home: https://www.fluentd.org/
description: A Fluentd Test Helm chart for validate fluentd config description: A Fluentd Test Helm chart for validate fluentd config
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
......
...@@ -68,8 +68,9 @@ spec: ...@@ -68,8 +68,9 @@ spec:
{{- if .Values.extraVolumes }} {{- if .Values.extraVolumes }}
{{ toYaml .Values.extraVolumes | indent 6 }} {{ toYaml .Values.extraVolumes | indent 6 }}
{{- end }} {{- end }}
{{- if .Values.nodeSelector }}
nodeSelector: nodeSelector:
{{- include "linux-node-selector" . | nindent 8 }}
{{- if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | indent 8 }} {{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }} {{- end }}
{{- if .Values.tolerations }} {{- if .Values.tolerations }}
......
...@@ -2,7 +2,7 @@ labels: {} ...@@ -2,7 +2,7 @@ labels: {}
image: image:
repository: rancher/fluentd repository: rancher/fluentd
tag: v0.1.14 tag: v0.1.16
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
......
name: fluentd name: fluentd
version: 0.0.1 version: 0.0.2
appVersion: 1.1.3 appVersion: 1.6.3
home: https://www.fluentd.org/ home: https://www.fluentd.org/
description: A Fluentd Helm chart for Rancher system logging description: A Fluentd Helm chart for Rancher system logging
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
......
name: fluentd-linux
version: 0.0.2
appVersion: 1.6.3
home: https://www.fluentd.org/
description: A Fluentd Helm chart for Rancher system logging
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
keywords:
- fluentd
- rancher
- logging
- linux
sources:
- https://github.com/helm/charts/stable/fluentd-elasticsearch
maintainers:
- name: michelia
email: support@rancher.com
engine: gotpl
apiVersion: {{ template "daemonset_api_version" . }} apiVersion: {{ template "daemonset_api_version" . }}
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: {{ template "fluentd.fullname" . }} name: {{ template "fluentd.fullname" . }}-linux
labels: labels:
app: {{ template "fluentd.name" . }} app: {{ template "fluentd.name" . }}
chart: {{ template "fluentd.version" . }} chart: {{ template "fluentd.version" . }}
...@@ -180,8 +180,9 @@ spec: ...@@ -180,8 +180,9 @@ spec:
{{- if .Values.extraVolumes }} {{- if .Values.extraVolumes }}
{{ toYaml .Values.extraVolumes | indent 6 }} {{ toYaml .Values.extraVolumes | indent 6 }}
{{- end }} {{- end }}
{{- if .Values.nodeSelector }}
nodeSelector: nodeSelector:
{{- include "linux-node-selector" . | nindent 8 }}
{{- if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | indent 8 }} {{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }} {{- end }}
{{- if .Values.tolerations }} {{- if .Values.tolerations }}
......
nameOverride: fluentd
labels: {}
image:
repository: rancher/fluentd
tag: v0.1.16
pullPolicy: IfNotPresent
resources: {}
# limits:
# cpu: 100m
# memory: 500Mi
# requests:
# cpu: 100m
# memory: 200Mi
# env:
command: '["fluentd", "-c", "/fluentd/etc/config/entry/fluent.conf"]'
livenessProbe:
enabled: true
annotations: {}
# updateStrategy:
# type: RollingUpdate
tolerations:
- effect: NoSchedule
operator: Exists
nodeSelector: {}
service:
type: ClusterIP
ports:
- name: metric
port: 24231
targetPort: metric
cluster:
dockerRoot: /var/lib/docker
service:
ports:
- name: metric
port: 24231
targetPort: metric
configmapReload:
name: reloader
image:
repository: rancher/configmap-reload
tag: v0.3.0-rancher2
pullPolicy: IfNotPresent
resources: {}
\ No newline at end of file
name: fluentd-windows
version: 0.0.1
appVersion: 1.6.3
home: https://www.fluentd.org/
description: A Fluentd Helm chart for Rancher system logging
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
keywords:
- fluentd
- rancher
- logging
- windows
sources:
- https://github.com/helm/charts/stable/fluentd-elasticsearch
maintainers:
- name: michelia
email: support@rancher.com
engine: gotpl
{{- if .Values.enabled -}}
apiVersion: {{ template "daemonset_api_version" . }}
kind: DaemonSet
metadata:
name: {{ template "fluentd.fullname" . }}-windows
labels:
app: {{ template "fluentd.name" . }}
chart: {{ template "fluentd.version" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.labels }}
{{ toYaml .Values.labels | indent 4 }}
{{- end }}
spec:
{{- if .Values.updateStrategy }}
updateStrategy:
{{ toYaml .Values.updateStrategy | indent 4 }}
{{- end }}
selector:
matchLabels:
app: {{ template "fluentd.name" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ template "fluentd.name" . }}
chart: {{ template "fluentd.version" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.labels }}
{{ toYaml .Values.labels | indent 4 }}
{{- end }}
{{- if .Values.annotations }}
{{ toYaml .Values.annotations | indent 8 }}
{{- end }}
spec:
serviceAccountName: {{ template "fluentd.fullname" . }}
initContainers:
- name: init-{{ template "fluentd.fullname" . }}
image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
command:
- 'powershell'
- '-command'
- 'mkdir -p /var/lib/rancher/fluentd/log'
volumeMounts:
- mountPath: /var/lib/rancher
name: rancher
containers:
- name: {{ template "fluentd.fullname" . }}
image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
{{- if .Values.command }}
command: {{ .Values.command }}
{{ end }}
env:
{{- range $key, $value := .Values.env }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
- name: K8S_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
resources:
{{ toYaml .Values.resources | indent 10 }}
volumeMounts:
- mountPath: /fluentd/etc/config/precan
name: config
- mountPath: /fluentd/etc/config/entry
name: entry
- mountPath: /fluentd/etc/config/ssl
name: ssl
- mountPath: {{ .Values.cluster.dockerRoot }}
name: dockerroot
- mountPath: /var/log/containers
name: varlogcontainers
- mountPath: /var/log/pods
name: varlogpods
- mountPath: /var/lib/rancher/rke/log
name: rkelog
- mountPath: /fluentd/log
name: fluentdlog
{{- if .Values.extraVolumeMounts }}
{{ toYaml .Values.extraVolumeMounts | indent 8 }}
{{- end }}
ports:
{{- range $port := .Values.service.ports }}
- name: {{ $port.name }}
containerPort: {{ $port.port }}
{{- if $port.protocol }}
protocol: {{ $port.protocol }}
{{- end }}
{{- end }}
{{- if .Values.livenessProbe.enabled }}
# use metrics endpoint to monitor liveness
livenessProbe:
httpGet:
path: /metrics
port: 24231
scheme: HTTP
initialDelaySeconds: 60
periodSeconds: 60
timeoutSeconds: 3
failureThreshold: 3
successThreshold: 1
{{- end }}
- name: {{ template "fluentd.fullname" . }}-{{ .Values.configmapReload.name }}
image: {{ template "system_default_registry" . }}{{ .Values.configmapReload.image.repository }}:{{ .Values.configmapReload.image.tag }}
imagePullPolicy: "{{ .Values.configmapReload.image.pullPolicy }}"
args:
- --volume-dir=/fluentd/etc/config/precan
- --volume-dir=/fluentd/etc/config/ssl
- --volume-dir=/fluentd/etc/config/entry
- --webhook-method=GET
- --webhook-url=http://127.0.0.1:24444/api/config.reload
resources:
{{ toYaml .Values.configmapReload.resources | indent 12 }}
volumeMounts:
- mountPath: /fluentd/etc/config/precan
name: config
- mountPath: /fluentd/etc/config/entry
name: entry
- mountPath: /fluentd/etc/config/ssl
name: ssl
terminationGracePeriodSeconds: 30
volumes:
- hostPath:
path: {{ .Values.cluster.dockerRoot }}
name: dockerroot
- hostPath:
path: /var/log/containers
name: varlogcontainers
- hostPath:
path: /var/log/pods
name: varlogpods
- hostPath:
path: /var/lib/rancher/rke/log
name: rkelog
- hostPath:
path: /var/lib/rancher/fluentd/log
name: fluentdlog
- hostPath:
path: /var/lib/rancher
name: rancher
- name: config
secret:
secretName: {{ template "fluentd.fullname" . }}
- name: entry
secret:
secretName: {{ template "fluentd.fullname" . }}-entry
- name: ssl
secret:
secretName: {{ template "fluentd.fullname" . }}-ssl
{{- if .Values.extraVolumes }}
{{ toYaml .Values.extraVolumes | indent 6 }}
{{- end }}
nodeSelector:
{{- include "windows-node-selector" . | nindent 8 }}
{{- if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }}
{{- if .Values.tolerations }}
tolerations:
{{ toYaml .Values.tolerations | indent 6 }}
{{- end }}
{{- end }}
nameOverride: fluentd
labels: {}
image:
repository: rancher/fluentd
tag: v0.1.16
pullPolicy: IfNotPresent
resources: {}
# limits:
# cpu: 100m
# memory: 500Mi
# requests:
# cpu: 100m
# memory: 200Mi
# env:
command: '["powershell", "-command", "fluentd", "-c", "/fluentd/etc/config/entry/fluent.conf"]'
livenessProbe:
enabled: true
annotations: {}
# updateStrategy:
# type: RollingUpdate
tolerations:
- effect: NoSchedule
operator: Exists
nodeSelector: {}
cluster:
dockerRoot: C:\ProgramData\docker
service:
ports:
- name: metric
port: 24231
targetPort: metric
configmapReload:
name: reloader
image:
repository: rancher/configmap-reload
tag: v0.3.0-rancher2
pullPolicy: IfNotPresent
resources: {}
\ No newline at end of file
dependencies:
- name: fluentd-linux
version: 0.0.2
condition: fluentd.fluentd-linux.enabled
repository: "file://./charts/fluentd-linux"
- name: fluentd-windows
version: 0.0.1
condition: fluentd.fluentd-windows.enabled
repository: "file://./charts/fluentd-windows"
\ No newline at end of file
labels: {} fluentd-linux:
enabled: true
image:
repository: rancher/fluentd
tag: v0.1.14
pullPolicy: IfNotPresent
resources: {} fluentd-windows:
# limits: enabled: false
# cpu: 100m
# memory: 500Mi
# requests:
# cpu: 100m
# memory: 200Mi
# env:
command: '["fluentd", "-c", "/fluentd/etc/config/entry/fluent.conf"]' nameOverride: fluentd
rbac: rbac:
create: true create: true
...@@ -22,21 +12,6 @@ rbac: ...@@ -22,21 +12,6 @@ rbac:
serviceAccount: serviceAccount:
create: true create: true
livenessProbe:
enabled: true
annotations: {}
# updateStrategy:
# type: RollingUpdate
tolerations:
- effect: NoSchedule
operator: Exists
nodeSelector: {}
service: service:
type: ClusterIP type: ClusterIP
ports: ports:
...@@ -44,17 +19,6 @@ service: ...@@ -44,17 +19,6 @@ service:
port: 24231 port: 24231
targetPort: metric targetPort: metric
cluster:
dockerRoot: /var/lib/docker
configmapReload:
name: reloader
image:
repository: rancher/jimmidyson-configmap-reload
tag: v0.2.2
pullPolicy: IfNotPresent
resources: {}
secrets: secrets:
entry: entry:
fluent.conf: |- fluent.conf: |-
......
name: log-aggregator name: log-aggregator
version: 0.0.1 version: 0.0.2
appVersion: 0.1.4 appVersion: 0.1.4
home: https://github.com/rancher/log-aggregator home: https://github.com/rancher/log-aggregator
description: Deploy flexvolume driver log-aggregator to collect log. description: Deploy flexvolume driver log-aggregator to collect log.
......
name: log-aggregator-linux
version: 0.0.1
appVersion: 0.1.4
home: https://github.com/rancher/log-aggregator
description: Deploy flexvolume driver log-aggregator to collect log.
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
keywords:
- fluentd
- flexvolume driver
- logging
- linux
maintainers:
- name: michelia
email: support@rancher.com
engine: gotpl
apiVersion: {{ template "daemonset_api_version" . }} apiVersion: {{ template "daemonset_api_version" . }}
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: {{ template "log-aggregator.fullname" . }} name: {{ template "log-aggregator.fullname" . }}-linux
labels: labels:
app: {{ template "log-aggregator.name" . }} app: {{ template "log-aggregator.name" . }}
chart: {{ template "log-aggregator.version" . }} chart: {{ template "log-aggregator.version" . }}
...@@ -26,7 +26,6 @@ spec: ...@@ -26,7 +26,6 @@ spec:
chart: {{ template "log-aggregator.version" . }} chart: {{ template "log-aggregator.version" . }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
spec: spec:
serviceAccountName: {{ template "log-aggregator.fullname" . }}
containers: containers:
- name: log-aggregator - name: log-aggregator
image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }} image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
...@@ -43,8 +42,9 @@ spec: ...@@ -43,8 +42,9 @@ spec:
resources: resources:
{{ toYaml .Values.resources | indent 10 }} {{ toYaml .Values.resources | indent 10 }}
terminationGracePeriodSeconds: 10 terminationGracePeriodSeconds: 10
{{- if .Values.nodeSelector }}
nodeSelector: nodeSelector:
{{- include "linux-node-selector" . | nindent 8 }}
{{- if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | indent 8 }} {{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }} {{- end }}
tolerations: tolerations:
......
nameOverride: log-aggregator
labels: {}
## Log Aggregator container image
##
image:
repository: rancher/log-aggregator
tag: v0.1.5
nodeSelector: {}
# updateStrategy:
# type: RollingUpdate
tolerations:
- effect: NoSchedule
operator: Exists
## Resource limits & requests
## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# requests:
# memory: 400Mi
## flexvolume dir
flexVolumeDir: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
name: log-aggregator-windows
version: 0.0.1
appVersion: 0.1.4
home: https://github.com/rancher/log-aggregator
description: Deploy flexvolume driver log-aggregator to collect log.
icon: https://raw.githubusercontent.com/fluent/fluentd-docs/master/public/logo/Fluentd_square.png
keywords:
- fluentd
- flexvolume driver
- logging
- windows
maintainers:
- name: michelia
email: support@rancher.com
engine: gotpl
{{- if .Values.enabled -}}
apiVersion: {{ template "daemonset_api_version" . }}
kind: DaemonSet
metadata:
name: {{ template "log-aggregator.fullname" . }}-windows
labels:
app: {{ template "log-aggregator.name" . }}
chart: {{ template "log-aggregator.version" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.labels }}
{{ toYaml .Values.labels | indent 4 }}
{{- end }}
spec:
{{- if .Values.updateStrategy }}
updateStrategy:
{{ toYaml .Values.updateStrategy | indent 4 }}
{{- end }}
selector:
matchLabels:
app: {{ template "log-aggregator.name" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ template "log-aggregator.name" . }}
chart: {{ template "log-aggregator.version" . }}
release: {{ .Release.Name }}
spec:
containers:
- name: log-aggregator
image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
securityContext:
privileged: true
volumeMounts:
- name: flexvolume-driver
mountPath: /flexmnt
{{- if .Values.env }}
env:
{{ toYaml .Values.env | indent 10 }}
{{- end }}
resources:
{{ toYaml .Values.resources | indent 10 }}
terminationGracePeriodSeconds: 10
nodeSelector:
{{- include "windows-node-selector" . | nindent 8 }}
{{- if .Values.nodeSelector }}
{{ toYaml .Values.nodeSelector | indent 8 }}
{{- end }}
tolerations:
{{- if .Values.tolerations }}
{{ toYaml .Values.tolerations | indent 8 }}
{{- end }}
volumes:
- name: flexvolume-driver
hostPath:
path: {{ .Values.flexVolumeDir }}
{{- end }}
\ No newline at end of file
nameOverride: log-aggregator
labels: {}
## Log Aggregator container image
##
image:
repository: rancher/log-aggregator
tag: v0.1.5
nodeSelector: {}
# updateStrategy:
# type: RollingUpdate
tolerations:
- effect: NoSchedule
operator: Exists
## Resource limits & requests
## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# requests:
# memory: 400Mi
## flexvolume dir
flexVolumeDir: C:/var/lib/kubelet/volumeplugins
\ No newline at end of file
dependencies:
- name: log-aggregator-linux
version: 0.0.1
condition: log-aggregator.log-aggregator-linux.enabled
repository: "file://./charts/log-aggregator-linux"
- name: log-aggregator-windows
version: 0.0.1
condition: log-aggregator.log-aggregator-windows.enabled
repository: "file://./charts/log-aggregator-window"
\ No newline at end of file
...@@ -35,14 +35,3 @@ Create chart name and version as used by the chart label. ...@@ -35,14 +35,3 @@ Create chart name and version as used by the chart label.
{{- $version := .Chart.Version | replace "+" "_" -}} {{- $version := .Chart.Version | replace "+" "_" -}}
{{- printf "%s-%s" $name $version -}} {{- printf "%s-%s" $name $version -}}
{{- end -}} {{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "log-aggregator.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "log-aggregator.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "log-aggregator.fullname" . }}
labels:
app: {{ template "log-aggregator.name" . }}
chart: {{ template "log-aggregator.version" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
kubernetes.io/cluster-service: "true"
{{- end -}}
enabledRBAC: true log-aggregator-linux:
enabled: true
labels: {} log-aggregator-windows:
## Log Aggregator container image enabled: false
## \ No newline at end of file
image:
repository: rancher/log-aggregator
tag: v0.1.5
nodeSelector: {}
# updateStrategy:
# type: RollingUpdate
tolerations:
- effect: NoSchedule
operator: Exists
## Resource limits & requests
## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# requests:
# memory: 400Mi
serviceAccount:
# Specifies whether a ServiceAccount should be created
create: true
## flexvolume dir
flexVolumeDir: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
dependencies: dependencies:
- name: fluentd - name: fluentd
version: 0.0.1 version: 0.0.2
condition: fluentd.enabled condition: fluentd.enabled
repository: "file://./charts/fluentd/" repository: "file://./charts/fluentd/"
- name: log-aggregator - name: log-aggregator
version: 0.0.1 version: 0.0.2
condition: log-aggregator.enabled condition: log-aggregator.enabled
repository: "file://./charts/log-aggregator/" repository: "file://./charts/log-aggregator/"
- name: fluentd-tester - name: fluentd-tester
version: 0.0.1 version: 0.0.2
condition: fluentd-tester.enabled condition: fluentd-tester.enabled
repository: "file://./charts/fluentd-tester/" repository: "file://./charts/fluentd-tester/"
\ No newline at end of file
...@@ -42,3 +42,19 @@ ...@@ -42,3 +42,19 @@
{{- "" -}} {{- "" -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- define "linux-node-selector" -}}
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
beta.kubernetes.io/os: linux
{{- else -}}
kubernetes.io/os: linux
{{- end -}}
{{- end -}}
{{- define "windows-node-selector" -}}
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
beta.kubernetes.io/os: windows
{{- else -}}
kubernetes.io/os: windows
{{- end -}}
{{- end -}}
\ No newline at end of file
...@@ -4,6 +4,5 @@ fluentd-tester: ...@@ -4,6 +4,5 @@ fluentd-tester:
enabled: false enabled: false
log-aggregator: log-aggregator:
enabled: false enabled: false
flexVolumeDir: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
global: global:
systemDefaultRegistry: "" systemDefaultRegistry: ""
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment