123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- ---
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: fluentd
- namespace: observe
- ---
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRole
- metadata:
- name: fluentd
- rules:
- - apiGroups:
- - ""
- resources:
- - namespaces
- - pods
- verbs:
- - get
- - list
- - watch
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: fluentd
- roleRef:
- kind: ClusterRole
- name: fluentd
- apiGroup: rbac.authorization.k8s.io
- subjects:
- - kind: ServiceAccount
- name: fluentd
- # This namespace setting will limit fluentd to watching/listing/getting pods in the default namespace. If you want it to be able to log your kube-system namespace as well, comment the line out.
- namespace: observe
- ---
- apiVersion: apps/v1
- kind: DaemonSet
- metadata:
- name: fluentd
- namespace: observe
- labels:
- k8s-app: fluentd-logging
- version: v1
- spec:
- selector:
- matchLabels:
- k8s-app: fluentd-logging
- version: v1
- template:
- metadata:
- labels:
- k8s-app: fluentd-logging
- version: v1
- spec:
- serviceAccountName: fluentd
- tolerations:
- - key: node-role.kubernetes.io/control-plane
- effect: NoSchedule
- - key: node-role.kubernetes.io/master
- effect: NoSchedule
- containers:
- - name: fluentd
- image: fluent/fluentd-kubernetes-daemonset:v1-debian-elasticsearch
- env:
- - name: K8S_NODE_NAME
- valueFrom:
- fieldRef:
- fieldPath: spec.nodeName
- - name: FLUENT_ELASTICSEARCH_HOST
- value: "elasticsearch-master.observe.svc.cluster.local"
- - name: FLUENT_ELASTICSEARCH_PORT
- value: "9200"
- - name: FLUENT_ELASTICSEARCH_SCHEME
- value: "https"
- # Option to configure elasticsearch plugin with self signed certs
- # ================================================================
- - name: FLUENT_ELASTICSEARCH_SSL_VERIFY
- value: "false"
- # Option to configure elasticsearch plugin with tls
- # ================================================================
- - name: FLUENT_ELASTICSEARCH_SSL_VERSION
- value: "TLSv1_2"
- # X-Pack Authentication
- # =====================
- - name: FLUENT_ELASTICSEARCH_USER
- value: "elastic"
- - name: FLUENT_ELASTICSEARCH_PASSWORD
- value: "12356789"
- # Logz.io Authentication
- # ======================
- #- name: LOGZIO_LOGTYPE
- #value: "kubernetes"
- resources:
- limits:
- memory: 500Mi
- requests:
- cpu: 200m
- memory: 200Mi
- volumeMounts:
- - name: varlog
- mountPath: /var/log
- # When actual pod logs in /var/lib/docker/containers, the following lines should be used.
- # - name: dockercontainerlogdirectory
- # mountPath: /var/lib/docker/containers
- # readOnly: true
- # When actual pod logs in /var/log/pods, the following lines should be used.
- - name: dockercontainerlogdirectory
- mountPath: /var/log/pods
- readOnly: true
- terminationGracePeriodSeconds: 30
- volumes:
- - name: varlog
- hostPath:
- path: /var/log
- # When actual pod logs in /var/lib/docker/containers, the following lines should be used.
- # - name: dockercontainerlogdirectory
- # hostPath:
- # path: /var/lib/docker/containers
- # When actual pod logs in /var/log/pods, the following lines should be used.
- - name: dockercontainerlogdirectory
- hostPath:
- path: /var/log/pods
|