Add fluent-bit support to kuberzero-logging, istio fixes
This commit is contained in:
parent
123d7ce946
commit
7310235fa2
1
charts/fluent-bit
Symbolic link
1
charts/fluent-bit
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../helm-charts/charts/fluent-bit
|
@ -45,11 +45,11 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 2000m
|
# cpu: 2000m
|
||||||
memory: 1024Mi
|
memory: 1024Mi
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
memory: 128Mi
|
memory: 64Mi
|
||||||
strategy:
|
strategy:
|
||||||
rollingUpdate:
|
rollingUpdate:
|
||||||
maxSurge: 100%
|
maxSurge: 100%
|
||||||
@ -115,11 +115,11 @@ spec:
|
|||||||
image: node-agent-k8s
|
image: node-agent-k8s
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
#cpu: 2000m
|
cpu: 2000m
|
||||||
memory: 1024Mi
|
memory: 1024Mi
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
memory: 64Mi
|
memory: 128Mi
|
||||||
secretVolumes:
|
secretVolumes:
|
||||||
- mountPath: /etc/istio/ingressgateway-certs
|
- mountPath: /etc/istio/ingressgateway-certs
|
||||||
name: ingressgateway-certs
|
name: ingressgateway-certs
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
Common set of labels
|
Common set of labels
|
||||||
*/ -}}
|
*/ -}}
|
||||||
{{- define "kubezero-lib.labels" -}}
|
{{- define "kubezero-lib.labels" -}}
|
||||||
helm.sh/chart: {{ include "kubezero-lib.chart . }}
|
helm.sh/chart: {{ include "kubezero-lib.chart" . }}
|
||||||
app.kubernetes.io/name: {{ include "kubezero-lib.name" . }}
|
app.kubernetes.io/name: {{ include "kubezero-lib.name" . }}
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
app.kubernetes.io/part-of: kubezero
|
app.kubernetes.io/part-of: kubezero
|
||||||
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: kubezero-logging
|
name: kubezero-logging
|
||||||
description: KubeZero Umbrella Chart for complete EFK stack
|
description: KubeZero Umbrella Chart for complete EFK stack
|
||||||
type: application
|
type: application
|
||||||
version: 0.2.0
|
version: 0.3.1
|
||||||
appVersion: 1.2.1
|
appVersion: 1.2.1
|
||||||
home: https://kubezero.com
|
home: https://kubezero.com
|
||||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||||
@ -22,4 +22,9 @@ dependencies:
|
|||||||
version: 2.5.1
|
version: 2.5.1
|
||||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||||
condition: fluentd.enabled
|
condition: fluentd.enabled
|
||||||
|
- name: fluent-bit
|
||||||
|
version: 0.6.3
|
||||||
|
repository: https://zero-down-time.github.io/kubezero/
|
||||||
|
# repository: https://fluent.github.io/helm-charts
|
||||||
|
condition: fluent-bit.enabled
|
||||||
kubeVersion: ">= 1.16.0"
|
kubeVersion: ">= 1.16.0"
|
||||||
|
8
charts/kubezero-logging/values-fluentbit.yaml
Normal file
8
charts/kubezero-logging/values-fluentbit.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fluent-bit:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
url: fluentd.example.com
|
||||||
|
|
@ -125,7 +125,7 @@ fluentd:
|
|||||||
id_key id
|
id_key id
|
||||||
remove_keys id
|
remove_keys id
|
||||||
|
|
||||||
# This pipeline incl. eg. GeoIP
|
# KubeZero pipeline incl. GeoIP etc.
|
||||||
pipeline fluentd
|
pipeline fluentd
|
||||||
|
|
||||||
host "#{ENV['OUTPUT_HOST']}"
|
host "#{ENV['OUTPUT_HOST']}"
|
||||||
@ -193,3 +193,109 @@ fluentd:
|
|||||||
# </grok>
|
# </grok>
|
||||||
# </parse>
|
# </parse>
|
||||||
# </filter>
|
# </filter>
|
||||||
|
|
||||||
|
|
||||||
|
fluent-bit:
|
||||||
|
enabled: true
|
||||||
|
test:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
config:
|
||||||
|
outputs: |
|
||||||
|
[OUTPUT]
|
||||||
|
Match *
|
||||||
|
Name forward
|
||||||
|
Host fluentd
|
||||||
|
Port 24224
|
||||||
|
tls on
|
||||||
|
tls.verify off
|
||||||
|
Shared_Key cloudbender
|
||||||
|
|
||||||
|
inputs: |
|
||||||
|
[INPUT]
|
||||||
|
Name tail
|
||||||
|
Path /var/log/containers/*.log
|
||||||
|
Parser cri
|
||||||
|
Tag kube.*
|
||||||
|
Mem_Buf_Limit 5MB
|
||||||
|
Skip_Long_Lines On
|
||||||
|
Refresh_Interval 10
|
||||||
|
DB /var/log/flb_kube.db
|
||||||
|
DB.Sync Normal
|
||||||
|
|
||||||
|
filters: |
|
||||||
|
[FILTER]
|
||||||
|
Name kubernetes
|
||||||
|
Match kube.*
|
||||||
|
Merge_Log On
|
||||||
|
Keep_Log Off
|
||||||
|
K8S-Logging.Parser On
|
||||||
|
K8S-Logging.Exclude On
|
||||||
|
|
||||||
|
[FILTER]
|
||||||
|
Name lua
|
||||||
|
Match kube.*
|
||||||
|
script /fluent-bit/etc/functions.lua
|
||||||
|
call dedot
|
||||||
|
|
||||||
|
customParsers: |
|
||||||
|
[PARSER]
|
||||||
|
# http://rubular.com/r/tjUt3Awgg4
|
||||||
|
Name cri
|
||||||
|
Format regex
|
||||||
|
Regex ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*) (?<log>.*)$
|
||||||
|
Time_Key time
|
||||||
|
Time_Format %Y-%m-%dT%H:%M:%S.%L%z
|
||||||
|
# Decode_Field_As json log
|
||||||
|
|
||||||
|
service: |
|
||||||
|
[SERVICE]
|
||||||
|
Flush 5
|
||||||
|
Daemon Off
|
||||||
|
Log_Level warn
|
||||||
|
Parsers_File parsers.conf
|
||||||
|
Parsers_File custom_parsers.conf
|
||||||
|
HTTP_Server On
|
||||||
|
HTTP_Listen 0.0.0.0
|
||||||
|
HTTP_Port 2020
|
||||||
|
|
||||||
|
lua: |
|
||||||
|
function dedot(tag, timestamp, record)
|
||||||
|
if record["kubernetes"] == nil then
|
||||||
|
return 0, 0, 0
|
||||||
|
end
|
||||||
|
dedot_keys(record["kubernetes"]["annotations"])
|
||||||
|
dedot_keys(record["kubernetes"]["labels"])
|
||||||
|
return 1, timestamp, record
|
||||||
|
end
|
||||||
|
|
||||||
|
function dedot_keys(map)
|
||||||
|
if map == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local new_map = {}
|
||||||
|
local changed_keys = {}
|
||||||
|
for k, v in pairs(map) do
|
||||||
|
local dedotted = string.gsub(k, "%.", "_")
|
||||||
|
if dedotted ~= k then
|
||||||
|
new_map[dedotted] = v
|
||||||
|
changed_keys[k] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for k in pairs(changed_keys) do
|
||||||
|
map[k] = nil
|
||||||
|
end
|
||||||
|
for k, v in pairs(new_map) do
|
||||||
|
map[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
namespace: monitoring
|
||||||
|
selector:
|
||||||
|
release: metrics
|
||||||
|
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
@ -129,7 +129,9 @@ kubezero:
|
|||||||
logging:
|
logging:
|
||||||
enabled: {{ .Values.logging.enabled }}
|
enabled: {{ .Values.logging.enabled }}
|
||||||
values:
|
values:
|
||||||
|
{{- if .Values.logging.elastic_password }}
|
||||||
elastic_password: {{ .Values.logging.elastic_password }}
|
elastic_password: {{ .Values.logging.elastic_password }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.logging.version }}
|
{{- if .Values.logging.version }}
|
||||||
version: {{ .Values.logging.version }}
|
version: {{ .Values.logging.version }}
|
||||||
@ -176,6 +178,16 @@ kubezero:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
fluent-bit:
|
||||||
|
enabled: {{ index .Values.logging "fluent-bit" "enabled" }}
|
||||||
|
metrics:
|
||||||
|
enabled: {{ .Values.metrics.enabled }}
|
||||||
|
{{- if index .Values.logging "fluent-bit" "config" }}
|
||||||
|
config:
|
||||||
|
{{- with index .Values.logging "fluent-bit" "config" }}
|
||||||
|
{{- toYaml . | nindent 10 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
argo-cd:
|
argo-cd:
|
||||||
controller:
|
controller:
|
||||||
|
@ -37,6 +37,8 @@ logging:
|
|||||||
enabled: false
|
enabled: false
|
||||||
fluentd:
|
fluentd:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
fluent-bit:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
argo-cd:
|
argo-cd:
|
||||||
server: {}
|
server: {}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
|
CHARTS=${1:-'.*'}
|
||||||
# all credits go to the argoproj Helm guys https://github.com/argoproj/argo-helm
|
# all credits go to the argoproj Helm guys https://github.com/argoproj/argo-helm
|
||||||
|
|
||||||
SRCROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
SRCROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||||
@ -16,10 +17,10 @@ helm repo add jetstack https://charts.jetstack.io
|
|||||||
helm repo add uswitch https://uswitch.github.io/kiam-helm-charts/charts/
|
helm repo add uswitch https://uswitch.github.io/kiam-helm-charts/charts/
|
||||||
helm repo update
|
helm repo update
|
||||||
|
|
||||||
for dir in $(find $SRCROOT/charts -mindepth 1 -maxdepth 1 -type d);
|
for dir in $(find -L $SRCROOT/charts -mindepth 1 -maxdepth 1 -type d);
|
||||||
do
|
do
|
||||||
name=$(basename $dir)
|
name=$(basename $dir)
|
||||||
|
[[ $name =~ $CHARTS ]] || continue
|
||||||
if [ $(helm dep list $dir 2>/dev/null| wc -l) -gt 1 ]
|
if [ $(helm dep list $dir 2>/dev/null| wc -l) -gt 1 ]
|
||||||
then
|
then
|
||||||
echo "Processing chart dependencies"
|
echo "Processing chart dependencies"
|
||||||
|
Loading…
Reference in New Issue
Block a user