add helm-tiller as addon
Change-Id: If55918227e84d128229bdaf83291e3688a633848
diff --git a/README.rst b/README.rst
index ddf734c..6ff7840 100644
--- a/README.rst
+++ b/README.rst
@@ -32,6 +32,18 @@
cni:
image: calico/cni
+Enable helm-tiller addons
+
+.. code-block:: yaml
+
+ parameters:
+ kubernetes:
+ master:
+ addons:
+ helm:
+ enabled: true
+
+
Pass aditional parameters to daemons:
.. code-block:: yaml
diff --git a/kubernetes/files/kube-addons/helm/helm-tiller-deploy.yml b/kubernetes/files/kube-addons/helm/helm-tiller-deploy.yml
new file mode 100644
index 0000000..8c452e0
--- /dev/null
+++ b/kubernetes/files/kube-addons/helm/helm-tiller-deploy.yml
@@ -0,0 +1,63 @@
+{%- from "kubernetes/map.jinja" import master with context %}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ annotations:
+ labels:
+ app: helm
+ name: tiller
+ name: tiller-deploy
+ namespace: kube-system
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: helm
+ name: tiller
+ template:
+ metadata:
+ labels:
+ app: helm
+ name: tiller
+ spec:
+ containers:
+ - image: {{ master.addons.helm.tiller_image }}
+ imagePullPolicy: IfNotPresent
+ resources:
+ requests:
+ memory: "128Mi"
+ cpu: "250m"
+ limits:
+ memory: "256Mi"
+ cpu: "500m"
+ livenessProbe:
+ failureThreshold: 3
+ httpGet:
+ path: /liveness
+ port: 44135
+ scheme: HTTP
+ initialDelaySeconds: 1
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ name: tiller
+ ports:
+ - containerPort: 44134
+ name: tiller
+ protocol: TCP
+ readinessProbe:
+ failureThreshold: 3
+ httpGet:
+ path: /readiness
+ port: 44135
+ scheme: HTTP
+ initialDelaySeconds: 1
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ resources: {}
+ terminationMessagePath: /dev/termination-log
+ dnsPolicy: ClusterFirst
+ restartPolicy: Always
+ securityContext: {}
+ terminationGracePeriodSeconds: 30
diff --git a/kubernetes/master/kube-addons.sls b/kubernetes/master/kube-addons.sls
index 99bbcef..af5bd98 100644
--- a/kubernetes/master/kube-addons.sls
+++ b/kubernetes/master/kube-addons.sls
@@ -8,6 +8,17 @@
- group: root
- mode: 0755
+{%- if master.addons.helm.enabled %}
+/etc/kubernetes/addons/helm/helm-tiller-deploy.yml:
+ file.managed:
+ - source: salt://kubernetes/files/kube-addons/helm/helm-tiller-deploy.yml
+ - template: jinja
+ - group: root
+ - dir_mode: 755
+ - makedirs: True
+
+{% endif %}
+
{%- if master.addons.dns.enabled %}
/etc/kubernetes/addons/dns/kubedns-svc.yaml:
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index 0f8abad..96b56e3 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -43,6 +43,9 @@
enabled: True
heapster_influxdb:
enabled: False
+ helm:
+ enabled: False
+ tiller_image: gcr.io/kubernetes-helm/tiller:v2.2.3
token:
admin: ${_param:kubernetes_admin_token}
kubelet: ${_param:kubernetes_kubelet_token}
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index beb7bd2..e500b66 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -39,6 +39,9 @@
enabled: True
heapster_influxdb:
enabled: False
+ helm:
+ enabled: False
+ tiller_image: gcr.io/kubernetes-helm/tiller:v2.2.3.
token:
admin: ${_param:kubernetes_admin_token}
kubelet: ${_param:kubernetes_kubelet_token}
diff --git a/tests/pillar/master_cluster.sls b/tests/pillar/master_cluster.sls
index abc18dd..83c8fd3 100644
--- a/tests/pillar/master_cluster.sls
+++ b/tests/pillar/master_cluster.sls
@@ -18,6 +18,9 @@
dashboard:
enabled: true
public_ip: 185.22.97.131
+ helm:
+ enabled: False
+ tiller_image: gcr.io/kubernetes-helm/tiller:v2.2.3
admin:
password: password
username: admin