diff --git a/roles/kubernetes-apps/helm/defaults/main.yml b/roles/kubernetes-apps/helm/defaults/main.yml index 1042b985c..d4fc904d9 100644 --- a/roles/kubernetes-apps/helm/defaults/main.yml +++ b/roles/kubernetes-apps/helm/defaults/main.yml @@ -45,3 +45,9 @@ tiller_namespace: kube-system # Limit the maximum number of revisions saved per release. Use 0 for no limit. # tiller_max_history: 0 + +# The name of the tiller service account +tiller_service_account: tiller + +# The number of tiller pod replicas. If not defined, tiller defaults to a single replica +# tiller_replicas: 1 diff --git a/roles/kubernetes-apps/helm/tasks/main.yml b/roles/kubernetes-apps/helm/tasks/main.yml index 754ef74eb..83bedb38b 100644 --- a/roles/kubernetes-apps/helm/tasks/main.yml +++ b/roles/kubernetes-apps/helm/tasks/main.yml @@ -59,7 +59,7 @@ {% if helm_skip_refresh %} --skip-refresh{% endif %} {% if helm_stable_repo_url is defined %} --stable-repo-url {{ helm_stable_repo_url }}{% endif %} --upgrade --tiller-image={{ tiller_image_repo }}:{{ tiller_image_tag }} - {% if rbac_enabled %} --service-account=tiller{% endif %} + {% if rbac_enabled %} --service-account={{ tiller_service_account }}{% endif %} {% if tiller_node_selectors is defined %} --node-selectors {{ tiller_node_selectors }}{% endif %} --override spec.template.spec.priorityClassName={% if tiller_namespace == 'kube-system' %}system-cluster-critical{% else %}k8s-cluster-critical{% endif %} {% if tiller_override is defined and tiller_override %} --override {{ tiller_override }}{% endif %} @@ -68,6 +68,7 @@ {% if tiller_secure_release_info %} --override 'spec.template.spec.containers[0].command'='{/tiller,--storage=secret}' {% endif %} --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' {% if tiller_wait %} --wait{% endif %} + {% if tiller_replicas is defined %} --replicas {{ tiller_replicas | int }}{% endif %} --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | {{ bin_dir }}/kubectl apply -f - @@ -87,7 +88,7 @@ {{ bin_dir }}/helm init --upgrade --tiller-image={{ tiller_image_repo }}:{{ tiller_image_tag }} --tiller-namespace={{ tiller_namespace }} {% if helm_skip_refresh %} --skip-refresh{% endif %} {% if helm_stable_repo_url is defined %} --stable-repo-url {{ helm_stable_repo_url }}{% endif %} - {% if rbac_enabled %} --service-account=tiller{% endif %} + {% if rbac_enabled %} --service-account={{ tiller_service_account }}{% endif %} {% if tiller_node_selectors is defined %} --node-selectors {{ tiller_node_selectors }}{% endif %} --override spec.template.spec.priorityClassName={% if tiller_namespace == 'kube-system' %}system-cluster-critical{% else %}k8s-cluster-critical{% endif %} {% if tiller_override is defined and tiller_override %} --override {{ tiller_override }}{% endif %} @@ -96,6 +97,7 @@ {% if tiller_secure_release_info %} --override 'spec.template.spec.containers[0].command'='{/tiller,--storage=secret}' {% endif %} --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' {% if tiller_wait %} --wait{% endif %} + {% if tiller_replicas is defined %} --replicas {{ tiller_replicas | int }}{% endif %} --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | {{ bin_dir }}/kubectl apply -f - diff --git a/tests/files/packet_centos7-calico-ha.yml b/tests/files/packet_centos7-calico-ha.yml index 526f12899..d0b488dc1 100644 --- a/tests/files/packet_centos7-calico-ha.yml +++ b/tests/files/packet_centos7-calico-ha.yml @@ -12,3 +12,6 @@ dns_min_replicas: 1 typha_enabled: true calico_backend: kdd typha_secure: true + +# Test helm 2 install +helm_version: v2.16.7