Support addon Deployments, make heapster a deployment with a nanny.

pull/6/head
Quintin Lee 2016-03-11 16:43:54 -08:00
parent b50e89e323
commit 79f0cc25e8
5 changed files with 214 additions and 12 deletions

View File

@ -6,8 +6,8 @@
{% set eventer_memory = (200 * 1024 + num_nodes * 500)|string + "Ki" -%}
{% endif -%}
apiVersion: v1
kind: ReplicationController
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: heapster-v1.0.0
namespace: kube-system
@ -17,7 +17,8 @@ metadata:
spec:
replicas: 1
selector:
k8s-app: heapster
matchLabels:
k8s-app: heapster
template:
metadata:
labels:
@ -62,6 +63,62 @@ spec:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=heapster
- --poll-period=300000
- image: gcr.io/google_containers/addon-resizer:1.0
name: eventer-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=eventer
- --poll-period=300000
volumes:
- name: ssl-certs
hostPath:

View File

@ -6,8 +6,8 @@
{% set eventer_memory = (200 * 1024 + num_nodes * 500)|string + "Ki" -%}
{% endif -%}
apiVersion: v1
kind: ReplicationController
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: heapster-v1.0.0
namespace: kube-system
@ -17,7 +17,8 @@ metadata:
spec:
replicas: 1
selector:
k8s-app: heapster
matchLabels:
k8s-app: heapster
template:
metadata:
labels:
@ -63,6 +64,62 @@ spec:
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=heapster
- --poll-period=300000
- image: gcr.io/google_containers/addon-resizer:1.0
name: eventer-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=eventer
- --poll-period=300000
volumes:
- name: ssl-certs
hostPath:

View File

@ -6,8 +6,8 @@
{% set eventer_memory = (200 * 1024 + num_nodes * 500)|string + "Ki" -%}
{% endif -%}
apiVersion: v1
kind: ReplicationController
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: heapster-v1.0.0
namespace: kube-system
@ -17,7 +17,8 @@ metadata:
spec:
replicas: 1
selector:
k8s-app: heapster
matchLabels:
k8s-app: heapster
template:
metadata:
labels:
@ -54,3 +55,60 @@ spec:
- /eventer
- --source=kubernetes:''
- --sink=influxdb:http://monitoring-influxdb:8086
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=heapster
- --poll-period=300000
- image: gcr.io/google_containers/addon-resizer:1.0
name: eventer-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=eventer
- --poll-period=300000

View File

@ -4,8 +4,8 @@
{% set metrics_memory = (200 + num_nodes * 4)|string + "Mi" -%}
{% endif -%}
apiVersion: v1
kind: ReplicationController
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: heapster-v1.0.0
namespace: kube-system
@ -15,7 +15,8 @@ metadata:
spec:
replicas: 1
selector:
k8s-app: heapster
matchLabels:
k8s-app: heapster
template:
metadata:
labels:
@ -37,3 +38,31 @@ spec:
- /heapster
- --source=kubernetes.summary_api:''
- --metric_resolution=60s
- image: gcr.io/google_containers/addon-resizer:1.0
name: heapster-nanny
resources:
limits:
cpu: 50m
memory: 100Mi
requests:
cpu: 50m
memory: 100Mi
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
- --memory=200Mi
- --extra-memory=3Mi
- --threshold=5
- --deployment=heapster-v1.0.0-beta1
- --container=heapster
- --poll-period=300000

View File

@ -475,6 +475,7 @@ function update-addons() {
local -r addon_path=$1
# be careful, reconcile-objects uses global variables
reconcile-objects ${addon_path} ReplicationController "-" &
reconcile-objects ${addon_path} Deployment "-" &
# We don't expect names to be versioned for the following kinds, so
# we match the entire name, ignoring version suffix.