123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: heapster
- namespace: kube-system
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- ---
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: heapster-config
- namespace: kube-system
- labels:
- addonmanager.kubernetes.io/mode: EnsureExists
- data:
- NannyConfiguration: |-
- apiVersion: nannyconfig/v1alpha1
- kind: NannyConfiguration
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: heapster-v1.6.0-beta.1
- namespace: kube-system
- labels:
- k8s-app: heapster
- 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:
- # On GCP, container.googleapis.com/instance_id node annotation is used to provide instance_id label for Stackdriver
- - /heapster
- - --source=kubernetes.summary_api:?host_id_annotation=container.googleapis.com/instance_id
- - --sink=stackdriver:?cluster_name={{ cluster_name }}&use_old_resources={{ use_old_resources }}&use_new_resources={{ use_new_resources }}&min_interval_sec=100&batch_export_timeout_sec=110&cluster_location={{ cluster_location }}
- # BEGIN_PROMETHEUS_TO_SD
- - name: prom-to-sd
- image: k8s.gcr.io/prometheus-to-sd:v0.5.0
- command:
- - /monitor
- - --source=heapster:http://localhost:8082?whitelisted=stackdriver_requests_count,stackdriver_timeseries_count
- - --stackdriver-prefix={{ prometheus_to_sd_prefix }}/addons
- - --api-override={{ prometheus_to_sd_endpoint }}
- - --pod-id=$(POD_NAME)
- - --namespace-id=$(POD_NAMESPACE)
- env:
- - name: POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- # END_PROMETHEUS_TO_SD
- - image: k8s.gcr.io/addon-resizer:1.8.5
- 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 }}
- volumes:
- - name: heapster-config-volume
- configMap:
- name: heapster-config
- serviceAccountName: heapster
- tolerations:
- - key: "CriticalAddonsOnly"
- operator: "Exists"
|