Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.0.0] Persistence volume #429

Merged
merged 8 commits into from
Feb 26, 2020
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion deploy/helm/sumologic/conf/events/events.conf
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
verify_ssl "#{ENV['VERIFY_SSL']}"
proxy_uri "#{ENV['PROXY_URI']}"
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/events
{{- else }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
@id sumologic.endpoint.logs
@include logs.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/logs.containers
{{- else }}
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm/sumologic/conf/logs/logs.source.generic.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@id sumologic.endpoint.logs.generic
@include logs.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/logs.generic
{{- else }}
Expand Down
4 changes: 2 additions & 2 deletions deploy/helm/sumologic/conf/logs/logs.source.systemd.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
@id sumologic.endpoint.logs.kubelet
@include logs.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/logs.kubelet
{{- else }}
Expand Down Expand Up @@ -53,7 +53,7 @@
@id sumologic.endpoint.logs.systemd
@include logs.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/logs.systemd
{{- else }}
Expand Down
16 changes: 8 additions & 8 deletions deploy/helm/sumologic/conf/metrics/metrics.conf
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_APISERVER']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.apiserver
{{- else }}
Expand All @@ -57,7 +57,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_KUBELET']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.kubelet
{{- else }}
Expand All @@ -72,7 +72,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_KUBELET']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.container
{{- else }}
Expand All @@ -87,7 +87,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_KUBE_CONTROLLER_MANAGER']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.controller
{{- else }}
Expand All @@ -102,7 +102,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_KUBE_SCHEDULER']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.scheduler
{{- else }}
Expand All @@ -117,7 +117,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_KUBE_STATE']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.state
{{- else }}
Expand All @@ -132,7 +132,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS_NODE_EXPORTER']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.node
{{- else }}
Expand All @@ -147,7 +147,7 @@
endpoint "#{ENV['SUMO_ENDPOINT_METRICS']}"
@include metrics.output.conf
<buffer>
{{- if eq .Values.sumologic.fluentd.buffer "file" }}
{{- if or .Values.sumologic.fluentd.persistence.enabled (eq .Values.sumologic.fluentd.buffer "file") }}
@type file
path /fluentd/buffer/metrics.all
{{- else }}
Expand Down
18 changes: 18 additions & 0 deletions deploy/helm/sumologic/templates/events-service-headless.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if eq .Values.sumologic.eventCollectionEnabled true }}
apiVersion: v1
kind: Service
metadata:
name: {{ printf "%s-events-headless" (include "sumologic.fullname" .) }}
labels:
app: {{ printf "%s-events" (include "sumologic.labels.app" .) }}
{{- include "sumologic.labels.common" . | nindent 4 }}
spec:
selector:
app: {{ printf "%s-events" (include "sumologic.labels.app" .) }}
clusterIP: None
ports:
- name: metrics
port: 24231
targetPort: 24231
protocol: TCP
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{{- if eq .Values.sumologic.eventCollectionEnabled true }}
apiVersion: apps/v1
kind: Deployment
kind: StatefulSet
metadata:
name: {{ printf "%s-events" (include "sumologic.fullname" .) }}
labels:
Expand All @@ -10,20 +10,22 @@ spec:
selector:
matchLabels:
app: {{ printf "%s-events" (include "sumologic.labels.app" .) }}
serviceName: {{ printf "%s-events-headless" (include "sumologic.fullname" .) }}
podManagementPolicy: "Parallel"
template:
metadata:
labels:
app: {{ printf "%s-events" (include "sumologic.labels.app" .) }}
{{- include "sumologic.labels.common" . | nindent 8 }}
spec:
serviceAccountName: {{ template "sumologic.fullname" . }}
{{- if .Values.eventsDeployment.nodeSelector }}
{{- if .Values.eventsStatefulset.nodeSelector }}
nodeSelector:
{{ toYaml .Values.eventsDeployment.nodeSelector | indent 8 }}
{{ toYaml .Values.eventsStatefulset.nodeSelector | indent 8 }}
{{- end }}
{{- if .Values.eventsDeployment.tolerations }}
{{- if .Values.eventsStatefulset.tolerations }}
tolerations:
{{ toYaml .Values.eventsDeployment.tolerations | indent 8 }}
{{ toYaml .Values.eventsStatefulset.tolerations | indent 8 }}
{{- end }}
volumes:
- name: pos-files
Expand All @@ -33,17 +35,23 @@ spec:
- name: config-volume
configMap:
name: {{ printf "%s-events" (include "sumologic.fullname" .) }}
securityContext:
fsGroup: {{ .Values.sumologic.fluentd.securityContext.fsGroup }}
containers:
- name: fluentd-events
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.eventsDeployment.resources | nindent 10 }}
{{- toYaml .Values.eventsStatefulset.resources | nindent 10 }}
volumeMounts:
- name: config-volume
mountPath: /fluentd/etc/
- name: pos-files
mountPath: /mnt/pos/
{{- if .Values.sumologic.fluentd.persistence.enabled }}
- name: buffer
mountPath: "/fluentd/buffer"
{{- end}}
livenessProbe:
httpGet:
path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D
Expand Down Expand Up @@ -75,4 +83,15 @@ spec:
value: {{ .Values.sumologic.queueChunkLimitSize | quote }}
- name: TOTAL_LIMIT_SIZE
value: {{ .Values.sumologic.totalLimitSize | quote }}
{{- if .Values.sumologic.fluentd.persistence.enabled }}
volumeClaimTemplates:
- metadata:
name: buffer
spec:
accessModes: [{{ .Values.sumologic.fluentd.persistence.accessMode }}]
storageClassName: {{ .Values.sumologic.fluentd.persistence.storageClass }}
resources:
requests:
storage: {{ .Values.sumologic.fluentd.persistence.size }}
{{- end }}
{{- end }}
24 changes: 24 additions & 0 deletions deploy/helm/sumologic/templates/service-headless.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "sumologic.fullname" . }}-headless
labels:
app: {{ template "sumologic.labels.app" . }}
{{- include "sumologic.labels.common" . | nindent 4 }}
spec:
selector:
app: {{ template "sumologic.labels.app" . }}
clusterIP: None
ports:
- name: prom-write
port: 9888
targetPort: 9888
protocol: TCP
- name: fluent-bit
port: 24321
targetPort: 24321
protocol: TCP
- name: metrics
port: 24231
targetPort: 24231
protocol: TCP
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: apps/v1
kind: Deployment
kind: StatefulSet
metadata:
name: {{ template "sumologic.fullname" . }}
labels:
Expand All @@ -9,21 +9,23 @@ spec:
selector:
matchLabels:
app: {{ template "sumologic.labels.app" . }}
replicas: {{ .Values.deployment.replicaCount }}
serviceName: {{ template "sumologic.fullname" . }}-headless
podManagementPolicy: "Parallel"
replicas: {{ .Values.statefulset.replicaCount }}
template:
metadata:
labels:
app: {{ template "sumologic.labels.app" . }}
{{- include "sumologic.labels.common" . | nindent 8 }}
spec:
serviceAccountName: {{ template "sumologic.fullname" . }}
{{- if .Values.deployment.nodeSelector }}
{{- if .Values.statefulset.nodeSelector }}
nodeSelector:
{{ toYaml .Values.deployment.nodeSelector | indent 8 }}
{{ toYaml .Values.statefulset.nodeSelector | indent 8 }}
{{- end }}
{{- if .Values.deployment.tolerations }}
{{- if .Values.statefulset.tolerations }}
tolerations:
{{ toYaml .Values.deployment.tolerations | indent 8 }}
{{ toYaml .Values.statefulset.tolerations | indent 8 }}
{{- end }}
volumes:
- name: pos-files
Expand All @@ -33,12 +35,14 @@ spec:
- name: config-volume
configMap:
name: {{ template "sumologic.fullname" . }}
securityContext:
fsGroup: {{ .Values.sumologic.fluentd.securityContext.fsGroup }}
containers:
- name: fluentd
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.deployment.resources | nindent 10 }}
{{- toYaml .Values.statefulset.resources | nindent 10 }}
ports:
- name: prom-write
containerPort: 9888
Expand All @@ -64,6 +68,10 @@ spec:
mountPath: /fluentd/etc/
- name: pos-files
mountPath: /mnt/pos/
{{- if .Values.sumologic.fluentd.persistence.enabled }}
- name: buffer
mountPath: "/fluentd/buffer"
{{- end}}
env:
- name: SUMO_ENDPOINT_METRICS
valueFrom:
Expand Down Expand Up @@ -156,4 +164,15 @@ spec:
- name: EXCLUDE_HOST_REGEX
value: {{ .Values.sumologic.excludeHostRegex | quote }}
- name: EXCLUDE_POD_REGEX
value: {{ .Values.sumologic.excludePodRegex | quote }}
value: {{ .Values.sumologic.excludePodRegex | quote }}
{{- if .Values.sumologic.fluentd.persistence.enabled }}
volumeClaimTemplates:
- metadata:
name: buffer
spec:
accessModes: [{{ .Values.sumologic.fluentd.persistence.accessMode }}]
storageClassName: {{ .Values.sumologic.fluentd.persistence.storageClass }}
resources:
requests:
storage: {{ .Values.sumologic.fluentd.persistence.size }}
{{- end }}
23 changes: 21 additions & 2 deletions deploy/helm/sumologic/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ image:

nameOverride: ""

deployment:
statefulset:
nodeSelector: {}
tolerations: {}
replicaCount: 3
Expand All @@ -17,7 +17,7 @@ deployment:
memory: 768Mi
cpu: 0.5

eventsDeployment:
eventsStatefulset:
nodeSelector: {}
tolerations: {}
resources:
Expand Down Expand Up @@ -180,6 +180,25 @@ sumologic:
maxReplicas: 10
targetCPUUtilizationPercentage: 50

securityContext:
## The group ID of all processes in the statefulset containers. By default this needs to be fluent(999).
fsGroup: 999

## Persist data to a persistent volume; When enabled, fluentd uses the file buffer instead of memory buffer.
persistence:
enabled: false

## 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, Azure & OpenStack)
##
# storageClass: "-"
# annotations: {}
accessMode: ReadWriteOnce
size: 10Gi

k8sMetadataFilter:
## Option to control the enabling of metadata filter plugin watch.
## ref: https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter#configuration
Expand Down