heapster-controller.yaml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. apiVersion: v1
  2. kind: ServiceAccount
  3. metadata:
  4. name: heapster
  5. namespace: kube-system
  6. labels:
  7. addonmanager.kubernetes.io/mode: Reconcile
  8. ---
  9. apiVersion: v1
  10. kind: ConfigMap
  11. metadata:
  12. name: heapster-config
  13. namespace: kube-system
  14. labels:
  15. addonmanager.kubernetes.io/mode: EnsureExists
  16. data:
  17. NannyConfiguration: |-
  18. apiVersion: nannyconfig/v1alpha1
  19. kind: NannyConfiguration
  20. ---
  21. apiVersion: v1
  22. kind: ConfigMap
  23. metadata:
  24. name: eventer-config
  25. namespace: kube-system
  26. labels:
  27. addonmanager.kubernetes.io/mode: EnsureExists
  28. data:
  29. NannyConfiguration: |-
  30. apiVersion: nannyconfig/v1alpha1
  31. kind: NannyConfiguration
  32. ---
  33. apiVersion: apps/v1
  34. kind: Deployment
  35. metadata:
  36. name: heapster-v1.6.0-beta.1
  37. namespace: kube-system
  38. labels:
  39. k8s-app: heapster
  40. addonmanager.kubernetes.io/mode: Reconcile
  41. version: v1.6.0-beta.1
  42. spec:
  43. replicas: 1
  44. selector:
  45. matchLabels:
  46. k8s-app: heapster
  47. version: v1.6.0-beta.1
  48. template:
  49. metadata:
  50. labels:
  51. k8s-app: heapster
  52. version: v1.6.0-beta.1
  53. annotations:
  54. scheduler.alpha.kubernetes.io/critical-pod: ''
  55. seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
  56. spec:
  57. priorityClassName: system-cluster-critical
  58. securityContext:
  59. supplementalGroups: [ 65534 ]
  60. fsGroup: 65534
  61. containers:
  62. - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1
  63. name: heapster
  64. livenessProbe:
  65. httpGet:
  66. path: /healthz
  67. port: 8082
  68. scheme: HTTP
  69. initialDelaySeconds: 180
  70. timeoutSeconds: 5
  71. command:
  72. - /heapster
  73. - --source=kubernetes.summary_api:''
  74. - --sink=influxdb:http://monitoring-influxdb:8086
  75. - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1
  76. name: eventer
  77. command:
  78. - /eventer
  79. - --source=kubernetes:''
  80. - --sink=influxdb:http://monitoring-influxdb:8086
  81. - image: k8s.gcr.io/addon-resizer:1.8.5
  82. name: heapster-nanny
  83. resources:
  84. limits:
  85. cpu: 50m
  86. memory: {{ nanny_memory }}
  87. requests:
  88. cpu: 50m
  89. memory: {{ nanny_memory }}
  90. env:
  91. - name: MY_POD_NAME
  92. valueFrom:
  93. fieldRef:
  94. fieldPath: metadata.name
  95. - name: MY_POD_NAMESPACE
  96. valueFrom:
  97. fieldRef:
  98. fieldPath: metadata.namespace
  99. volumeMounts:
  100. - name: heapster-config-volume
  101. mountPath: /etc/config
  102. command:
  103. - /pod_nanny
  104. - --config-dir=/etc/config
  105. - --cpu={{ base_metrics_cpu }}
  106. - --extra-cpu={{ metrics_cpu_per_node }}m
  107. - --memory={{ base_metrics_memory }}
  108. - --extra-memory={{ metrics_memory_per_node }}Mi
  109. - --threshold=5
  110. - --deployment=heapster-v1.6.0-beta.1
  111. - --container=heapster
  112. - --poll-period=300000
  113. - --estimator=exponential
  114. # Specifies the smallest cluster (defined in number of nodes)
  115. # resources will be scaled to.
  116. - --minClusterSize={{ heapster_min_cluster_size }}
  117. - image: k8s.gcr.io/addon-resizer:1.8.5
  118. name: eventer-nanny
  119. resources:
  120. limits:
  121. cpu: 50m
  122. memory: {{ nanny_memory }}
  123. requests:
  124. cpu: 50m
  125. memory: {{ nanny_memory }}
  126. env:
  127. - name: MY_POD_NAME
  128. valueFrom:
  129. fieldRef:
  130. fieldPath: metadata.name
  131. - name: MY_POD_NAMESPACE
  132. valueFrom:
  133. fieldRef:
  134. fieldPath: metadata.namespace
  135. volumeMounts:
  136. - name: eventer-config-volume
  137. mountPath: /etc/config
  138. command:
  139. - /pod_nanny
  140. - --config-dir=/etc/config
  141. - --cpu=100m
  142. - --extra-cpu=0m
  143. - --memory={{ base_eventer_memory }}
  144. - --extra-memory={{ eventer_memory_per_node }}Ki
  145. - --threshold=5
  146. - --deployment=heapster-v1.6.0-beta.1
  147. - --container=eventer
  148. - --poll-period=300000
  149. - --estimator=exponential
  150. volumes:
  151. - name: heapster-config-volume
  152. configMap:
  153. name: heapster-config
  154. - name: eventer-config-volume
  155. configMap:
  156. name: eventer-config
  157. serviceAccountName: heapster
  158. tolerations:
  159. - key: "CriticalAddonsOnly"
  160. operator: "Exists"