From ac18f6cf8b9d12297b52d42492e995f9805d1740 Mon Sep 17 00:00:00 2001
From: Robert Everson <robert@reverson.net>
Date: Thu, 2 Aug 2018 11:10:40 -0700
Subject: [PATCH] Add support for admission controllers in 1.10 and above

---
 roles/kubernetes/master/templates/kubeadm-config.yaml.j2      | 4 ++++
 .../master/templates/manifests/kube-apiserver.manifest.j2     | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/roles/kubernetes/master/templates/kubeadm-config.yaml.j2 b/roles/kubernetes/master/templates/kubeadm-config.yaml.j2
index 0852a37b4..4479eb95f 100644
--- a/roles/kubernetes/master/templates/kubeadm-config.yaml.j2
+++ b/roles/kubernetes/master/templates/kubeadm-config.yaml.j2
@@ -34,7 +34,11 @@ apiServerExtraArgs:
   bind-address: {{ kube_apiserver_bind_address }}
   insecure-bind-address: {{ kube_apiserver_insecure_bind_address }}
   insecure-port: "{{ kube_apiserver_insecure_port }}"
+{% if kube_version | version_compare('v1.10', '<') %}
   admission-control: {{ kube_apiserver_admission_control | join(',') }}
+{% else %}
+  enable-admission-plugins: {{ kube_apiserver_admission_control | join(',') }} 
+{% endif %}
   apiserver-count: "{{ kube_apiserver_count }}"
 {% if kube_version | version_compare('v1.9', '>=') %}
   endpoint-reconciler-type: lease
diff --git a/roles/kubernetes/master/templates/manifests/kube-apiserver.manifest.j2 b/roles/kubernetes/master/templates/manifests/kube-apiserver.manifest.j2
index c688e1285..02a550d7b 100644
--- a/roles/kubernetes/master/templates/manifests/kube-apiserver.manifest.j2
+++ b/roles/kubernetes/master/templates/manifests/kube-apiserver.manifest.j2
@@ -45,7 +45,11 @@ spec:
 {% if kube_version | version_compare('v1.9', '>=') %}
     - --endpoint-reconciler-type=lease
 {% endif %}
+{% if kube_version | version_compare('v1.10', '<') %}
     - --admission-control={{ kube_apiserver_admission_control | join(',') }}
+{% else %}
+    - --enable-admission-plugins={{ kube_apiserver_admission_control | join(',') }} 
+{% endif %}
     - --service-cluster-ip-range={{ kube_service_addresses }}
     - --service-node-port-range={{ kube_apiserver_node_port_range }}
     - --client-ca-file={{ kube_cert_dir }}/ca.pem
-- 
GitLab