k3s/cluster/addons/cluster-monitoring/google/heapster-controller.yaml

150 lines
4.8 KiB
YAML
Raw Normal View History

{% set base_metrics_memory = "140Mi" -%}
2016-05-23 20:14:36 +00:00
{% set metrics_memory = base_metrics_memory -%}
2016-06-10 14:17:17 +00:00
{% set base_metrics_cpu = "80m" -%}
{% set metrics_cpu = base_metrics_cpu -%}
{% set base_eventer_memory = "190Mi" -%}
2016-05-23 20:14:36 +00:00
{% set eventer_memory = base_eventer_memory -%}
{% set metrics_memory_per_node = 4 -%}
2016-06-10 14:17:17 +00:00
{% set metrics_cpu_per_node = 0.5 -%}
{% set eventer_memory_per_node = 500 -%}
2016-01-22 09:29:38 +00:00
{% set num_nodes = pillar.get('num_nodes', -1) -%}
{% set nanny_memory = "90Mi" -%}
{% set nanny_memory_per_node = 200 -%}
2016-01-22 09:29:38 +00:00
{% if num_nodes >= 0 -%}
{% set metrics_memory = (200 + num_nodes * metrics_memory_per_node)|string + "Mi" -%}
2016-06-10 14:17:17 +00:00
{% set metrics_cpu = (80 + num_nodes * metrics_cpu_per_node)|string + "m" -%}
{% set eventer_memory = (200 * 1024 + num_nodes * eventer_memory_per_node)|string + "Ki" -%}
{% set nanny_memory = (90 * 1024 + num_nodes * nanny_memory_per_node)|string + "Ki" -%}
2015-10-21 20:11:43 +00:00
{% endif -%}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
2016-09-14 07:16:09 +00:00
name: heapster-v1.2.0
namespace: kube-system
labels:
k8s-app: heapster
2015-02-26 18:40:08 +00:00
kubernetes.io/cluster-service: "true"
2016-09-14 07:16:09 +00:00
version: v1.2.0
spec:
2015-02-26 18:40:08 +00:00
replicas: 1
selector:
matchLabels:
k8s-app: heapster
2016-09-14 07:16:09 +00:00
version: v1.2.0
template:
metadata:
labels:
k8s-app: heapster
2016-09-14 07:16:09 +00:00
version: v1.2.0
2016-08-19 12:47:56 +00:00
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]'
spec:
containers:
2016-09-14 07:16:09 +00:00
- image: gcr.io/google_containers/heapster:v1.2.0
2015-02-26 18:40:08 +00:00
name: heapster
livenessProbe:
httpGet:
path: /healthz
2016-09-02 09:50:32 +00:00
port: 8082
scheme: HTTP
initialDelaySeconds: 180
timeoutSeconds: 5
resources:
2015-12-04 15:21:12 +00:00
# keep request = limit to keep this container in guaranteed class
limits:
2016-06-10 14:17:17 +00:00
cpu: {{ metrics_cpu }}
2016-03-14 14:21:38 +00:00
memory: {{ metrics_memory }}
2015-12-04 15:21:12 +00:00
requests:
2016-06-10 14:17:17 +00:00
cpu: {{ metrics_cpu }}
2016-03-14 14:21:38 +00:00
memory: {{ metrics_memory }}
command:
- /heapster
- --source=kubernetes.summary_api:''
- --sink=gcm
volumeMounts:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
2016-09-14 07:16:09 +00:00
- image: gcr.io/google_containers/heapster:v1.2.0
name: eventer
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
2016-03-14 14:21:38 +00:00
memory: {{ eventer_memory }}
requests:
cpu: 100m
2016-03-14 14:21:38 +00:00
memory: {{ eventer_memory }}
command:
- /eventer
- --source=kubernetes:''
- --sink=gcl
volumeMounts:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
2016-09-02 08:17:06 +00:00
- image: gcr.io/google_containers/addon-resizer:1.6
name: heapster-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
command:
- /pod_nanny
2016-06-10 14:17:17 +00:00
- --cpu={{ base_metrics_cpu }}
- --extra-cpu={{ metrics_cpu_per_node }}m
2016-05-23 20:14:36 +00:00
- --memory={{ base_metrics_memory }}
- --extra-memory={{metrics_memory_per_node}}Mi
- --threshold=5
2016-09-14 07:16:09 +00:00
- --deployment=heapster-v1.2.0
- --container=heapster
- --poll-period=300000
- --estimator=exponential
2016-09-02 08:17:06 +00:00
- image: gcr.io/google_containers/addon-resizer:1.6
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
command:
- /pod_nanny
- --cpu=100m
- --extra-cpu=0m
2016-05-23 20:14:36 +00:00
- --memory={{base_eventer_memory}}
- --extra-memory={{eventer_memory_per_node}}Ki
- --threshold=5
2016-09-14 07:16:09 +00:00
- --deployment=heapster-v1.2.0
- --container=eventer
- --poll-period=300000
- --estimator=exponential
volumes:
- name: ssl-certs
hostPath:
path: "/etc/ssl/certs"