heapster.j2 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. apiVersion: "v1"
  2. kind: "ReplicationController"
  3. metadata:
  4. name: heapster
  5. labels:
  6. metrics-infra: heapster
  7. name: heapster
  8. spec:
  9. selector:
  10. name: heapster
  11. replicas: {{replica_count}}
  12. template:
  13. version: v1
  14. metadata:
  15. name: heapster
  16. labels:
  17. metrics-infra: heapster
  18. name: heapster
  19. spec:
  20. serviceAccountName: heapster
  21. {% if node_selector is iterable and node_selector | length > 0 %}
  22. nodeSelector:
  23. {% for key, value in node_selector.iteritems() %}
  24. {{key}}: "{{value}}"
  25. {% endfor %}
  26. {% endif %}
  27. containers:
  28. - name: heapster
  29. image: {{openshift_metrics_image_prefix}}metrics-heapster:{{openshift_metrics_image_version}}
  30. ports:
  31. - containerPort: 8082
  32. name: "http-endpoint"
  33. command:
  34. - "heapster-wrapper.sh"
  35. - "--wrapper.allowed_users_file=/secrets/heapster.allowed-users"
  36. - "--source=kubernetes.summary_api:${MASTER_URL}?useServiceAccount=true&kubeletHttps=true&kubeletPort=10250"
  37. - "--tls_cert=/heapster-certs/tls.crt"
  38. - "--tls_key=/heapster-certs/tls.key"
  39. - "--tls_client_ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
  40. - "--allowed_users=%allowed_users%"
  41. - "--metric_resolution={{openshift_metrics_resolution}}"
  42. {% if not openshift_metrics_heapster_standalone %}
  43. - "--wrapper.username_file=/hawkular-account/hawkular-metrics.username"
  44. - "--wrapper.password_file=/hawkular-account/hawkular-metrics.password"
  45. - "--wrapper.endpoint_check=https://hawkular-metrics:443/hawkular/metrics/status"
  46. - "--sink=hawkular:https://hawkular-metrics:443?tenant=_system&labelToTenant=pod_namespace&labelNodeId={{openshift_metrics_node_id}}&caCert=/hawkular-metrics-certs/tls.crt&user=%username%&pass=%password%&filter=label(container_name:^system.slice.*|^user.slice)"
  47. {% endif %}
  48. env:
  49. - name: STARTUP_TIMEOUT
  50. value: "{{ openshift_metrics_startup_timeout }}"
  51. {% if ((openshift_metrics_heapster_limits_cpu is defined and openshift_metrics_heapster_limits_cpu is not none)
  52. or (openshift_metrics_heapster_limits_memory is defined and openshift_metrics_heapster_limits_memory is not none)
  53. or (openshift_metrics_heapster_requests_cpu is defined and openshift_metrics_heapster_requests_cpu is not none)
  54. or (openshift_metrics_heapster_requests_memory is defined and openshift_metrics_heapster_requests_memory is not none))
  55. %}
  56. resources:
  57. {% if (openshift_metrics_heapster_limits_cpu is not none
  58. or openshift_metrics_heapster_limits_memory is not none)
  59. %}
  60. limits:
  61. {% if openshift_metrics_heapster_limits_cpu is not none %}
  62. cpu: "{{openshift_metrics_heapster_limits_cpu}}"
  63. {% endif %}
  64. {% if openshift_metrics_heapster_limits_memory is not none %}
  65. memory: "{{openshift_metrics_heapster_limits_memory}}"
  66. {% endif %}
  67. {% endif %}
  68. {% if (openshift_metrics_heapster_requests_cpu is not none
  69. or openshift_metrics_heapster_requests_memory is not none)
  70. %}
  71. requests:
  72. {% if openshift_metrics_heapster_requests_cpu is not none %}
  73. cpu: "{{openshift_metrics_heapster_requests_cpu}}"
  74. {% endif %}
  75. {% if openshift_metrics_heapster_requests_memory is not none %}
  76. memory: "{{openshift_metrics_heapster_requests_memory}}"
  77. {% endif %}
  78. {% endif %}
  79. {% endif %}
  80. volumeMounts:
  81. - name: heapster-secrets
  82. mountPath: "/secrets"
  83. - name: heapster-certs
  84. mountPath: "/heapster-certs"
  85. {% if not openshift_metrics_heapster_standalone %}
  86. - name: hawkular-metrics-certs
  87. mountPath: "/hawkular-metrics-certs"
  88. - name: hawkular-metrics-account
  89. mountPath: "/hawkular-account"
  90. readinessProbe:
  91. exec:
  92. command:
  93. - "/opt/heapster-readiness.sh"
  94. {% endif %}
  95. volumes:
  96. - name: heapster-secrets
  97. secret:
  98. secretName: heapster-secrets
  99. - name: heapster-certs
  100. secret:
  101. secretName: heapster-certs
  102. {% if not openshift_metrics_heapster_standalone %}
  103. - name: hawkular-metrics-certs
  104. secret:
  105. secretName: hawkular-metrics-certs
  106. - name: hawkular-metrics-account
  107. secret:
  108. secretName: hawkular-metrics-account
  109. {% endif %}