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

107 lines
3.1 KiB
YAML
Raw Normal View History

2017-03-20 13:34:43 +00:00
{% set base_metrics_memory = "140Mi" -%}
{% set base_metrics_cpu = "80m" -%}
{% set metrics_memory_per_node = 4 -%}
{% set metrics_cpu_per_node = 0.5 -%}
{% set num_nodes = pillar.get('num_nodes', -1) -%}
{% set nanny_memory = "90Mi" -%}
{% set nanny_memory_per_node = 200 -%}
{% if num_nodes >= 0 -%}
{% set nanny_memory = (90 * 1024 + num_nodes * nanny_memory_per_node)|string + "Ki" -%}
{% endif -%}
apiVersion: v1
kind: ServiceAccount
metadata:
name: heapster
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
---
2017-03-20 13:34:43 +00:00
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
2017-06-28 14:40:29 +00:00
name: heapster-v1.4.0
2017-03-20 13:34:43 +00:00
namespace: kube-system
labels:
k8s-app: heapster
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
2017-06-28 14:40:29 +00:00
version: v1.4.0
2017-03-20 13:34:43 +00:00
spec:
replicas: 1
selector:
matchLabels:
k8s-app: heapster
2017-06-28 14:40:29 +00:00
version: v1.4.0
2017-03-20 13:34:43 +00:00
template:
metadata:
labels:
k8s-app: heapster
2017-06-28 14:40:29 +00:00
version: v1.4.0
2017-03-20 13:34:43 +00:00
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
spec:
containers:
2017-06-28 14:40:29 +00:00
- image: gcr.io/google_containers/heapster-amd64:v1.4.0
2017-03-20 13:34:43 +00:00
name: heapster
livenessProbe:
httpGet:
path: /healthz
port: 8082
scheme: HTTP
initialDelaySeconds: 180
timeoutSeconds: 5
command:
- /heapster
- --source=kubernetes.summary_api:''
- --sink=stackdriver
# TODO: add --disable_export when it's merged into Heapster release
volumeMounts:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
- name: usr-ca-certs
mountPath: /usr/share/ca-certificates
readOnly: true
- image: gcr.io/google_containers/addon-resizer:1.7
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
- --cpu={{ base_metrics_cpu }}
- --extra-cpu={{ metrics_cpu_per_node }}m
- --memory={{ base_metrics_memory }}
- --extra-memory={{metrics_memory_per_node}}Mi
- --threshold=5
2017-06-28 14:40:29 +00:00
- --deployment=heapster-v1.4.0
2017-03-20 13:34:43 +00:00
- --container=heapster
- --poll-period=300000
- --estimator=exponential
volumes:
- name: ssl-certs
hostPath:
path: "/etc/ssl/certs"
- name: usr-ca-certs
hostPath:
path: "/usr/share/ca-certificates"
serviceAccountName: heapster
2017-03-20 13:34:43 +00:00
tolerations:
- key: "CriticalAddonsOnly"
operator: "Exists"