mux.j2 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. apiVersion: "v1"
  2. kind: "DeploymentConfig"
  3. metadata:
  4. name: "{{deploy_name}}"
  5. labels:
  6. provider: openshift
  7. component: "{{component}}"
  8. logging-infra: "{{logging_component}}"
  9. spec:
  10. replicas: {{replicas|default(0)}}
  11. selector:
  12. provider: openshift
  13. component: "{{component}}"
  14. logging-infra: "{{logging_component}}"
  15. strategy:
  16. rollingParams:
  17. intervalSeconds: 1
  18. timeoutSeconds: 600
  19. updatePeriodSeconds: 1
  20. type: Rolling
  21. template:
  22. metadata:
  23. name: "{{deploy_name}}"
  24. labels:
  25. logging-infra: "{{logging_component}}"
  26. provider: openshift
  27. component: "{{component}}"
  28. spec:
  29. serviceAccountName: aggregated-logging-fluentd
  30. {% if mux_node_selector is iterable and mux_node_selector | length > 0 %}
  31. nodeSelector:
  32. {% for key, value in mux_node_selector.iteritems() %}
  33. {{key}}: "{{value}}"
  34. {% endfor %}
  35. {% endif %}
  36. containers:
  37. - name: "mux"
  38. image: {{image}}
  39. imagePullPolicy: Always
  40. {% if (mux_memory_limit is defined and mux_memory_limit is not none) or (mux_cpu_limit is defined and mux_cpu_limit is not none) %}
  41. resources:
  42. limits:
  43. {% if mux_cpu_limit is not none %}
  44. cpu: "{{mux_cpu_limit}}"
  45. {% endif %}
  46. {% if mux_memory_limit is not none %}
  47. memory: "{{mux_memory_limit}}"
  48. {% endif %}
  49. {% endif %}
  50. ports:
  51. - containerPort: "{{ openshift_logging_mux_port }}"
  52. name: mux-forward
  53. volumeMounts:
  54. - name: config
  55. mountPath: /etc/fluent/configs.d/user
  56. readOnly: true
  57. - name: certs
  58. mountPath: /etc/fluent/keys
  59. readOnly: true
  60. - name: dockerhostname
  61. mountPath: /etc/docker-hostname
  62. readOnly: true
  63. - name: localtime
  64. mountPath: /etc/localtime
  65. readOnly: true
  66. - name: muxcerts
  67. mountPath: /etc/fluent/muxkeys
  68. readOnly: true
  69. env:
  70. - name: "K8S_HOST_URL"
  71. value: "{{openshift_logging_master_url}}"
  72. - name: "ES_HOST"
  73. value: "{{openshift_logging_es_host}}"
  74. - name: "ES_PORT"
  75. value: "{{openshift_logging_es_port}}"
  76. - name: "ES_CLIENT_CERT"
  77. value: "{{openshift_logging_es_client_cert}}"
  78. - name: "ES_CLIENT_KEY"
  79. value: "{{openshift_logging_es_client_key}}"
  80. - name: "ES_CA"
  81. value: "{{openshift_logging_es_ca}}"
  82. - name: "OPS_HOST"
  83. value: "{{ops_host}}"
  84. - name: "OPS_PORT"
  85. value: "{{ops_port}}"
  86. - name: "OPS_CLIENT_CERT"
  87. value: "{{openshift_logging_es_ops_client_cert}}"
  88. - name: "OPS_CLIENT_KEY"
  89. value: "{{openshift_logging_es_ops_client_key}}"
  90. - name: "OPS_CA"
  91. value: "{{openshift_logging_es_ops_ca}}"
  92. - name: "USE_JOURNAL"
  93. value: "false"
  94. - name: "JOURNAL_SOURCE"
  95. value: "{{openshift_logging_fluentd_journal_source | default('')}}"
  96. - name: "JOURNAL_READ_FROM_HEAD"
  97. value: "{{openshift_logging_fluentd_journal_read_from_head|lower}}"
  98. - name: FORWARD_LISTEN_HOST
  99. value: "{{ openshift_logging_mux_hostname }}"
  100. - name: FORWARD_LISTEN_PORT
  101. value: "{{ openshift_logging_mux_port }}"
  102. - name: USE_MUX
  103. value: "true"
  104. - name: MUX_ALLOW_EXTERNAL
  105. value: "{{ openshift_logging_mux_allow_external| default('false') }}"
  106. volumes:
  107. - name: config
  108. configMap:
  109. name: logging-mux
  110. - name: certs
  111. secret:
  112. secretName: logging-fluentd
  113. - name: dockerhostname
  114. hostPath:
  115. path: /etc/hostname
  116. - name: localtime
  117. hostPath:
  118. path: /etc/localtime
  119. - name: muxcerts
  120. secret:
  121. secretName: logging-mux