heapster.j2 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. containers:
  22. - name: heapster
  23. image: {{openshift_metrics_image_prefix}}metrics-heapster:{{openshift_metrics_image_version}}
  24. ports:
  25. - containerPort: 8082
  26. name: "http-endpoint"
  27. command:
  28. - "heapster-wrapper.sh"
  29. - "--wrapper.allowed_users_file=/secrets/heapster.allowed-users"
  30. - "--source=kubernetes.summary_api:${MASTER_URL}?useServiceAccount=true&kubeletHttps=true&kubeletPort=10250"
  31. - "--tls_cert=/secrets/heapster.cert"
  32. - "--tls_key=/secrets/heapster.key"
  33. - "--tls_client_ca=/secrets/heapster.client-ca"
  34. - "--allowed_users=%allowed_users%"
  35. - "--metric_resolution={{openshift_metrics_resolution}}"
  36. {% if not openshift_metrics_heapster_standalone %}
  37. - "--wrapper.username_file=/hawkular-account/hawkular-metrics.username"
  38. - "--wrapper.password_file=/hawkular-account/hawkular-metrics.password"
  39. - "--wrapper.endpoint_check=https://hawkular-metrics:443/hawkular/metrics/status"
  40. - "--sink=hawkular:https://hawkular-metrics:443?tenant=_system&labelToTenant=pod_namespace&labelNodeId={{openshift_metrics_node_id}}&caCert=/hawkular-cert/hawkular-metrics-ca.certificate&user=%username%&pass=%password%&filter=label(container_name:^system.slice.*|^user.slice)"
  41. {% endif %}
  42. env:
  43. - name: STARTUP_TIMEOUT
  44. value: "{{ openshift_metrics_startup_timeout }}"
  45. {% if ((openshift_metrics_heapster_limits_cpu is defined and openshift_metrics_heapster_limits_cpu is not none)
  46. or (openshift_metrics_heapster_limits_memory is defined and openshift_metrics_heapster_limits_memory is not none)
  47. or (openshift_metrics_heapster_requests_cpu is defined and openshift_metrics_heapster_requests_cpu is not none)
  48. or (openshift_metrics_heapster_requests_memory is defined and openshift_metrics_heapster_requests_memory is not none))
  49. %}
  50. resources:
  51. {% if (openshift_metrics_heapster_limits_cpu is not none
  52. or openshift_metrics_heapster_limits_memory is not none)
  53. %}
  54. limits:
  55. {% if openshift_metrics_heapster_limits_cpu is not none %}
  56. cpu: "{{openshift_metrics_heapster_limits_cpu}}"
  57. {% endif %}
  58. {% if openshift_metrics_heapster_limits_memory is not none %}
  59. memory: "{{openshift_metrics_heapster_limits_memory}}"
  60. {% endif %}
  61. {% endif %}
  62. {% if (openshift_metrics_heapster_requests_cpu is not none
  63. or openshift_metrics_heapster_requests_memory is not none)
  64. %}
  65. requests:
  66. {% if openshift_metrics_heapster_requests_cpu is not none %}
  67. cpu: "{{openshift_metrics_heapster_requests_cpu}}"
  68. {% endif %}
  69. {% if openshift_metrics_heapster_requests_memory is not none %}
  70. memory: "{{openshift_metrics_heapster_requests_memory}}"
  71. {% endif %}
  72. {% endif %}
  73. {% endif %}
  74. volumeMounts:
  75. - name: heapster-secrets
  76. mountPath: "/secrets"
  77. {% if not openshift_metrics_heapster_standalone %}
  78. - name: hawkular-metrics-certificate
  79. mountPath: "/hawkular-cert"
  80. - name: hawkular-metrics-account
  81. mountPath: "/hawkular-account"
  82. readinessProbe:
  83. exec:
  84. command:
  85. - "/opt/heapster-readiness.sh"
  86. {% endif %}
  87. volumes:
  88. - name: heapster-secrets
  89. secret:
  90. secretName: heapster-secrets
  91. {% if not openshift_metrics_heapster_standalone %}
  92. - name: hawkular-metrics-certificate
  93. secret:
  94. secretName: hawkular-metrics-certificate
  95. - name: hawkular-metrics-account
  96. secret:
  97. secretName: hawkular-metrics-account
  98. {% endif %}