heapster-controller-combined.yaml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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. - --sink=gcm:?metrics=autoscaling
  76. - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1
  77. name: eventer
  78. command:
  79. - /eventer
  80. - --source=kubernetes:''
  81. - --sink=gcl
  82. - image: k8s.gcr.io/addon-resizer:1.8.5
  83. name: heapster-nanny
  84. resources:
  85. limits:
  86. cpu: 50m
  87. memory: {{ nanny_memory }}
  88. requests:
  89. cpu: 50m
  90. memory: {{ nanny_memory }}
  91. volumeMounts:
  92. - name: heapster-config-volume
  93. mountPath: /etc/config
  94. env:
  95. - name: MY_POD_NAME
  96. valueFrom:
  97. fieldRef:
  98. fieldPath: metadata.name
  99. - name: MY_POD_NAMESPACE
  100. valueFrom:
  101. fieldRef:
  102. fieldPath: metadata.namespace
  103. command:
  104. - /pod_nanny
  105. - --config-dir=/etc/config
  106. - --cpu={{ base_metrics_cpu }}
  107. - --extra-cpu={{ metrics_cpu_per_node }}m
  108. - --memory={{ base_metrics_memory }}
  109. - --extra-memory={{ metrics_memory_per_node }}Mi
  110. - --threshold=5
  111. - --deployment=heapster-v1.6.0-beta.1
  112. - --container=heapster
  113. - --poll-period=300000
  114. - --estimator=exponential
  115. # Specifies the smallest cluster (defined in number of nodes)
  116. # resources will be scaled to.
  117. - --minClusterSize={{ heapster_min_cluster_size }}
  118. - image: k8s.gcr.io/addon-resizer:1.8.5
  119. name: eventer-nanny
  120. resources:
  121. limits:
  122. cpu: 50m
  123. memory: {{ nanny_memory }}
  124. requests:
  125. cpu: 50m
  126. memory: {{ nanny_memory }}
  127. volumeMounts:
  128. - name: eventer-config-volume
  129. mountPath: /etc/config
  130. env:
  131. - name: MY_POD_NAME
  132. valueFrom:
  133. fieldRef:
  134. fieldPath: metadata.name
  135. - name: MY_POD_NAMESPACE
  136. valueFrom:
  137. fieldRef:
  138. fieldPath: metadata.namespace
  139. command:
  140. - /pod_nanny
  141. - --config-dir=/etc/config
  142. - --cpu=100m
  143. - --extra-cpu=0m
  144. - --memory={{ base_eventer_memory }}
  145. - --extra-memory={{ eventer_memory_per_node }}Ki
  146. - --threshold=5
  147. - --deployment=heapster-v1.6.0-beta.1
  148. - --container=eventer
  149. - --poll-period=300000
  150. - --estimator=exponential
  151. volumes:
  152. - name: heapster-config-volume
  153. configMap:
  154. name: heapster-config
  155. - name: eventer-config-volume
  156. configMap:
  157. name: eventer-config
  158. serviceAccountName: heapster
  159. tolerations:
  160. - key: "CriticalAddonsOnly"
  161. operator: "Exists"