@@ -1144,7 +1144,7 @@ def configure_apiserver(etcd_connection_string, leader_etcd_version):
1144
1144
api_opts ['etcd-certfile' ] = etcd_cert
1145
1145
api_opts ['etcd-servers' ] = etcd_connection_string
1146
1146
1147
- admission_control = [
1147
+ admission_control_pre_1_9 = [
1148
1148
'Initializers' ,
1149
1149
'NamespaceLifecycle' ,
1150
1150
'LimitRanger' ,
@@ -1153,19 +1153,35 @@ def configure_apiserver(etcd_connection_string, leader_etcd_version):
1153
1153
'DefaultTolerationSeconds'
1154
1154
]
1155
1155
1156
+ admission_control = [
1157
+ 'NamespaceLifecycle' ,
1158
+ 'LimitRanger' ,
1159
+ 'ServiceAccount' ,
1160
+ 'PersistentVolumeLabel' ,
1161
+ 'DefaultStorageClass' ,
1162
+ 'DefaultTolerationSeconds' ,
1163
+ 'MutatingAdmissionWebhook' ,
1164
+ 'ValidatingAdmissionWebhook' ,
1165
+ 'ResourceQuota'
1166
+ ]
1167
+
1156
1168
auth_mode = hookenv .config ('authorization-mode' )
1157
1169
if 'Node' in auth_mode :
1158
1170
admission_control .append ('NodeRestriction' )
1159
1171
1160
1172
api_opts ['authorization-mode' ] = auth_mode
1161
1173
1162
- if get_version ('kube-apiserver' ) < (1 , 6 ):
1174
+ kube_version = get_version ('kube-apiserver' )
1175
+ if kube_version < (1 , 6 ):
1163
1176
hookenv .log ('Removing DefaultTolerationSeconds from admission-control' )
1164
- admission_control .remove ('DefaultTolerationSeconds' )
1165
- if get_version ( 'kube-apiserver' ) < (1 , 7 ):
1177
+ admission_control_pre_1_9 .remove ('DefaultTolerationSeconds' )
1178
+ if kube_version < (1 , 7 ):
1166
1179
hookenv .log ('Removing Initializers from admission-control' )
1167
- admission_control .remove ('Initializers' )
1168
- api_opts ['admission-control' ] = ',' .join (admission_control )
1180
+ admission_control_pre_1_9 .remove ('Initializers' )
1181
+ if kube_version < (1 , 9 ):
1182
+ api_opts ['admission-control' ] = ',' .join (admission_control_pre_1_9 )
1183
+ else :
1184
+ api_opts ['admission-control' ] = ',' .join (admission_control )
1169
1185
1170
1186
configure_kubernetes_service ('kube-apiserver' , api_opts , 'api-extra-args' )
1171
1187
restart_apiserver ()
0 commit comments