apiVersion: v1 kind: ServiceAccount metadata: name: heapster namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile --- apiVersion: v1 kind: ConfigMap metadata: name: heapster-config namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: EnsureExists data: NannyConfiguration: |- apiVersion: nannyconfig/v1alpha1 kind: NannyConfiguration --- apiVersion: v1 kind: ConfigMap metadata: name: eventer-config namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: EnsureExists data: NannyConfiguration: |- apiVersion: nannyconfig/v1alpha1 kind: NannyConfiguration --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: heapster-v1.6.0-beta.1 namespace: kube-system labels: k8s-app: heapster kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile version: v1.6.0-beta.1 spec: replicas: 1 selector: matchLabels: k8s-app: heapster version: v1.6.0-beta.1 template: metadata: labels: k8s-app: heapster version: v1.6.0-beta.1 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' seccomp.security.alpha.kubernetes.io/pod: 'docker/default' spec: priorityClassName: system-cluster-critical securityContext: supplementalGroups: [ 65534 ] fsGroup: 65534 containers: - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 name: heapster livenessProbe: httpGet: path: /healthz port: 8082 scheme: HTTP initialDelaySeconds: 180 timeoutSeconds: 5 command: - /heapster - --source=kubernetes.summary_api:'' - --sink=gcm - image: k8s.gcr.io/heapster-amd64:v1.6.0-beta.1 name: eventer command: - /eventer - --source=kubernetes:'' - --sink=gcl - image: k8s.gcr.io/addon-resizer:1.8.4 name: heapster-nanny resources: limits: cpu: 50m memory: {{ nanny_memory }} requests: cpu: 50m memory: {{ nanny_memory }} volumeMounts: - name: heapster-config-volume mountPath: /etc/config env: - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: MY_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace command: - /pod_nanny - --config-dir=/etc/config - --cpu={{ base_metrics_cpu }} - --extra-cpu={{ metrics_cpu_per_node }}m - --memory={{ base_metrics_memory }} - --extra-memory={{metrics_memory_per_node}}Mi - --threshold=5 - --deployment=heapster-v1.6.0-beta.1 - --container=heapster - --poll-period=300000 - --estimator=exponential # Specifies the smallest cluster (defined in number of nodes) # resources will be scaled to. - --minClusterSize={{ heapster_min_cluster_size }} - image: k8s.gcr.io/addon-resizer:1.8.4 name: eventer-nanny resources: limits: cpu: 50m memory: {{ nanny_memory }} requests: cpu: 50m memory: {{ nanny_memory }} env: - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: MY_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace volumeMounts: - name: eventer-config-volume mountPath: /etc/config command: - /pod_nanny - --config-dir=/etc/config - --cpu=100m - --extra-cpu=0m - --memory={{base_eventer_memory}} - --extra-memory={{eventer_memory_per_node}}Ki - --threshold=5 - --deployment=heapster-v1.6.0-beta.1 - --container=eventer - --poll-period=300000 - --estimator=exponential volumes: - name: heapster-config-volume configMap: name: heapster-config - name: eventer-config-volume configMap: name: eventer-config serviceAccountName: heapster tolerations: - key: "CriticalAddonsOnly" operator: "Exists"