diff options
Diffstat (limited to 'roles/openshift_logging_fluentd')
-rw-r--r-- | roles/openshift_logging_fluentd/defaults/main.yml | 3 | ||||
-rw-r--r-- | roles/openshift_logging_fluentd/tasks/main.yaml | 30 | ||||
-rw-r--r-- | roles/openshift_logging_fluentd/templates/fluentd.j2 | 37 | ||||
-rw-r--r-- | roles/openshift_logging_fluentd/vars/main.yml | 2 |
4 files changed, 55 insertions, 17 deletions
diff --git a/roles/openshift_logging_fluentd/defaults/main.yml b/roles/openshift_logging_fluentd/defaults/main.yml index 228196d74..a53bbd2df 100644 --- a/roles/openshift_logging_fluentd/defaults/main.yml +++ b/roles/openshift_logging_fluentd/defaults/main.yml @@ -28,7 +28,6 @@ openshift_logging_fluentd_ops_host: "{{ openshift_logging_fluentd_app_host }}" openshift_logging_fluentd_ops_port: "{{ openshift_logging_fluentd_app_port }}" ### Used by "hosted" and "secure-aggregator" deployments -#openshift_logging_fluentd_use_journal: "{{ openshift_hosted_logging_use_journal }}" openshift_logging_fluentd_journal_source: "{{ openshift_hosted_logging_journal_source | default('') }}" openshift_logging_fluentd_journal_read_from_head: "{{ openshift_hosted_logging_journal_read_from_head | default('') }}" @@ -57,3 +56,5 @@ openshift_logging_fluentd_es_copy: false #fluentd_config_contents: #fluentd_throttle_contents: #fluentd_secureforward_contents: + +openshift_logging_fluentd_file_buffer_limit: 1Gi diff --git a/roles/openshift_logging_fluentd/tasks/main.yaml b/roles/openshift_logging_fluentd/tasks/main.yaml index 8194223e8..74b4d7db4 100644 --- a/roles/openshift_logging_fluentd/tasks/main.yaml +++ b/roles/openshift_logging_fluentd/tasks/main.yaml @@ -1,7 +1,7 @@ --- - fail: msg: Only one Fluentd nodeselector key pair should be provided - when: "{{ openshift_logging_fluentd_nodeselector.keys() | count }} > 1" + when: openshift_logging_fluentd_nodeselector.keys() | count > 1 - fail: msg: Application logs destination is required @@ -15,19 +15,23 @@ msg: Invalid deployment type, one of ['hosted', 'secure-aggregator', 'secure-host'] allowed when: not openshift_logging_fluentd_deployment_type in __allowed_fluentd_types -- include: determine_version.yaml +- debug: + msg: openshift_logging_fluentd_use_journal is deprecated. Fluentd will automatically detect which logging driver is being used. + when: openshift_logging_fluentd_use_journal is defined -- set_fact: - openshift_logging_fluentd_use_journal: "{{ openshift_hosted_logging_use_journal }}" - when: - - openshift_hosted_logging_use_journal is defined - - openshift_logging_fluentd_use_journal is not defined +- debug: + msg: openshift_hosted_logging_use_journal is deprecated. Fluentd will automatically detect which logging driver is being used. + when: openshift_hosted_logging_use_journal is defined -- set_fact: - openshift_logging_fluentd_use_journal: "{{ __fluentd_use_journal }}" - when: - - openshift_hosted_logging_use_journal is not defined - - openshift_logging_fluentd_use_journal is not defined +- fail: + msg: Invalid openshift_logging_mux_client_mode [{{ openshift_logging_mux_client_mode }}], one of {{ __allowed_mux_client_modes }} allowed + when: openshift_logging_mux_client_mode is defined and not openshift_logging_mux_client_mode in __allowed_mux_client_modes + +- debug: + msg: WARNING Use of openshift_logging_mux_client_mode=minimal is not recommended due to current scaling issues + when: openshift_logging_mux_client_mode is defined and openshift_logging_mux_client_mode == 'minimal' + +- include: determine_version.yaml # allow passing in a tempdir - name: Create temp directory for doing work in @@ -100,7 +104,7 @@ - copy: src: secure-forward.conf dest: "{{ tempdir }}/secure-forward.conf" - when: fluentd_securefoward_contents is undefined + when: fluentd_secureforward_contents is undefined changed_when: no diff --git a/roles/openshift_logging_fluentd/templates/fluentd.j2 b/roles/openshift_logging_fluentd/templates/fluentd.j2 index e185938e3..39dffba19 100644 --- a/roles/openshift_logging_fluentd/templates/fluentd.j2 +++ b/roles/openshift_logging_fluentd/templates/fluentd.j2 @@ -62,6 +62,13 @@ spec: - name: dockerdaemoncfg mountPath: /etc/docker readOnly: true + - name: filebufferstorage + mountPath: /var/lib/fluentd +{% if openshift_logging_mux_client_mode is defined %} + - name: muxcerts + mountPath: /etc/fluent/muxkeys + readOnly: true +{% endif %} env: - name: "K8S_HOST_URL" value: "{{ openshift_logging_fluentd_master_url }}" @@ -87,12 +94,30 @@ spec: value: "{{ openshift_logging_fluentd_ops_ca }}" - name: "ES_COPY" value: "false" - - name: "USE_JOURNAL" - value: "{{ openshift_logging_fluentd_use_journal | lower }}" - name: "JOURNAL_SOURCE" value: "{{ openshift_logging_fluentd_journal_source | default('') }}" - name: "JOURNAL_READ_FROM_HEAD" value: "{{ openshift_logging_fluentd_journal_read_from_head | lower }}" + - name: "BUFFER_QUEUE_LIMIT" + value: "{{ openshift_logging_fluentd_buffer_queue_limit }}" + - name: "BUFFER_SIZE_LIMIT" + value: "{{ openshift_logging_fluentd_buffer_size_limit }}" + - name: "FLUENTD_CPU_LIMIT" + valueFrom: + resourceFieldRef: + containerName: "{{ daemonset_container_name }}" + resource: limits.cpu + - name: "FLUENTD_MEMORY_LIMIT" + valueFrom: + resourceFieldRef: + containerName: "{{ daemonset_container_name }}" + resource: limits.memory + - name: "FILE_BUFFER_LIMIT" + value: "{{ openshift_logging_fluentd_file_buffer_limit | default('1Gi') }}" +{% if openshift_logging_mux_client_mode is defined %} + - name: "MUX_CLIENT_MODE" + value: "{{ openshift_logging_mux_client_mode }}" +{% endif %} volumes: - name: runlogjournal hostPath: @@ -121,3 +146,11 @@ spec: - name: dockerdaemoncfg hostPath: path: /etc/docker +{% if openshift_logging_mux_client_mode is defined %} + - name: muxcerts + secret: + secretName: logging-mux +{% endif %} + - name: filebufferstorage + hostPath: + path: "/var/lib/fluentd" diff --git a/roles/openshift_logging_fluentd/vars/main.yml b/roles/openshift_logging_fluentd/vars/main.yml index f601b738e..ec8e565c3 100644 --- a/roles/openshift_logging_fluentd/vars/main.yml +++ b/roles/openshift_logging_fluentd/vars/main.yml @@ -2,4 +2,4 @@ __latest_fluentd_version: "3_5" __allowed_fluentd_versions: ["3_5", "3_6"] __allowed_fluentd_types: ["hosted", "secure-aggregator", "secure-host"] -__fluentd_use_journal: "{{ (docker_log_driver == 'journald') | ternary(True, False) if docker_log_driver is defined else (openshift.docker.log_driver == 'journald') | ternary(True, False) if openshift.docker.log_driver is defined else openshift.docker.options | search('--log-driver=journald') if openshift.docker.options is defined else default(omit) }}" +__allowed_mux_client_modes: ["minimal", "maximal"] |