fluentd.j2 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. apiVersion: extensions/v1beta1
  2. kind: "DaemonSet"
  3. metadata:
  4. name: "{{ daemonset_name }}"
  5. labels:
  6. provider: openshift
  7. component: "{{ daemonset_component }}"
  8. logging-infra: "{{ daemonset_component }}"
  9. spec:
  10. selector:
  11. matchLabels:
  12. provider: openshift
  13. component: "{{ daemonset_component }}"
  14. updateStrategy:
  15. type: RollingUpdate
  16. rollingUpdate:
  17. minReadySeconds: 600
  18. template:
  19. metadata:
  20. name: "{{ daemonset_container_name }}"
  21. labels:
  22. logging-infra: "{{ daemonset_component }}"
  23. provider: openshift
  24. component: "{{ daemonset_component }}"
  25. spec:
  26. serviceAccountName: "{{ daemonset_serviceAccount }}"
  27. nodeSelector:
  28. {{ fluentd_nodeselector_key }}: "{{ fluentd_nodeselector_value }}"
  29. containers:
  30. - name: "{{ daemonset_container_name }}"
  31. image: "{{ openshift_logging_image_prefix }}{{ daemonset_name }}:{{ openshift_logging_image_version }}"
  32. imagePullPolicy: Always
  33. securityContext:
  34. privileged: true
  35. resources:
  36. limits:
  37. cpu: {{ openshift_logging_fluentd_cpu_limit }}
  38. memory: {{ openshift_logging_fluentd_memory_limit }}
  39. volumeMounts:
  40. - name: runlogjournal
  41. mountPath: /run/log/journal
  42. - name: varlog
  43. mountPath: /var/log
  44. - name: varlibdockercontainers
  45. mountPath: /var/lib/docker/containers
  46. readOnly: true
  47. - name: config
  48. mountPath: /etc/fluent/configs.d/user
  49. readOnly: true
  50. - name: certs
  51. mountPath: /etc/fluent/keys
  52. readOnly: true
  53. - name: dockerhostname
  54. mountPath: /etc/docker-hostname
  55. readOnly: true
  56. - name: localtime
  57. mountPath: /etc/localtime
  58. readOnly: true
  59. - name: dockercfg
  60. mountPath: /etc/sysconfig/docker
  61. readOnly: true
  62. - name: dockerdaemoncfg
  63. mountPath: /etc/docker
  64. readOnly: true
  65. {% if openshift_logging_use_mux_client | bool %}
  66. - name: muxcerts
  67. mountPath: /etc/fluent/muxkeys
  68. readOnly: true
  69. {% endif %}
  70. env:
  71. - name: "K8S_HOST_URL"
  72. value: "{{ openshift_logging_fluentd_master_url }}"
  73. - name: "ES_HOST"
  74. value: "{{ app_host }}"
  75. - name: "ES_PORT"
  76. value: "{{ app_port }}"
  77. - name: "ES_CLIENT_CERT"
  78. value: "{{ openshift_logging_fluentd_app_client_cert }}"
  79. - name: "ES_CLIENT_KEY"
  80. value: "{{ openshift_logging_fluentd_app_client_key }}"
  81. - name: "ES_CA"
  82. value: "{{ openshift_logging_fluentd_app_ca }}"
  83. - name: "OPS_HOST"
  84. value: "{{ ops_host }}"
  85. - name: "OPS_PORT"
  86. value: "{{ ops_port }}"
  87. - name: "OPS_CLIENT_CERT"
  88. value: "{{ openshift_logging_fluentd_ops_client_cert }}"
  89. - name: "OPS_CLIENT_KEY"
  90. value: "{{ openshift_logging_fluentd_ops_client_key }}"
  91. - name: "OPS_CA"
  92. value: "{{ openshift_logging_fluentd_ops_ca }}"
  93. - name: "ES_COPY"
  94. value: "false"
  95. - name: "JOURNAL_SOURCE"
  96. value: "{{ openshift_logging_fluentd_journal_source | default('') }}"
  97. - name: "JOURNAL_READ_FROM_HEAD"
  98. value: "{{ openshift_logging_fluentd_journal_read_from_head | lower }}"
  99. - name: "BUFFER_QUEUE_LIMIT"
  100. value: "{{ openshift_logging_fluentd_buffer_queue_limit }}"
  101. - name: "BUFFER_SIZE_LIMIT"
  102. value: "{{ openshift_logging_fluentd_buffer_size_limit }}"
  103. - name: "FLUENTD_CPU_LIMIT"
  104. valueFrom:
  105. resourceFieldRef:
  106. containerName: "{{ daemonset_container_name }}"
  107. resource: limits.cpu
  108. - name: "FLUENTD_MEMORY_LIMIT"
  109. valueFrom:
  110. resourceFieldRef:
  111. containerName: "{{ daemonset_container_name }}"
  112. resource: limits.memory
  113. - name: "USE_MUX_CLIENT"
  114. value: "{{ openshift_logging_use_mux_client | default('false') | lower }}"
  115. volumes:
  116. - name: runlogjournal
  117. hostPath:
  118. path: /run/log/journal
  119. - name: varlog
  120. hostPath:
  121. path: /var/log
  122. - name: varlibdockercontainers
  123. hostPath:
  124. path: /var/lib/docker/containers
  125. - name: config
  126. configMap:
  127. name: logging-fluentd
  128. - name: certs
  129. secret:
  130. secretName: logging-fluentd
  131. - name: dockerhostname
  132. hostPath:
  133. path: /etc/hostname
  134. - name: localtime
  135. hostPath:
  136. path: /etc/localtime
  137. - name: dockercfg
  138. hostPath:
  139. path: /etc/sysconfig/docker
  140. - name: dockerdaemoncfg
  141. hostPath:
  142. path: /etc/docker
  143. {% if openshift_logging_use_mux_client | bool %}
  144. - name: muxcerts
  145. secret:
  146. secretName: logging-mux
  147. {% endif %}