@@ -109,7 +109,7 @@ ENABLE_ADMISSION_PLUGINS=${ENABLE_ADMISSION_PLUGINS:-"NamespaceLifecycle,LimitRa
109
109
DISABLE_ADMISSION_PLUGINS=${DISABLE_ADMISSION_PLUGINS:- " " }
110
110
ADMISSION_CONTROL_CONFIG_FILE=${ADMISSION_CONTROL_CONFIG_FILE:- " " }
111
111
112
- # START_MODE can be 'all', 'kubeletonly', or 'nokubelet '
112
+ # START_MODE can be 'all', 'kubeletonly', 'nokubelet', or 'nokubeproxy '
113
113
START_MODE=${START_MODE:- " all" }
114
114
115
115
# A list of controllers to enable
@@ -457,7 +457,6 @@ function generate_certs {
457
457
kube::util::create_serving_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " server-ca" kube-apiserver kubernetes.default kubernetes.default.svc " localhost" ${API_HOST_IP} ${API_HOST} ${FIRST_SERVICE_CLUSTER_IP}
458
458
459
459
# Create client certs signed with client-ca, given id, given CN and a number of groups
460
- kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' kube-proxy system:kube-proxy system:nodes
461
460
kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' controller system:kube-controller-manager
462
461
kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' scheduler system:kube-scheduler
463
462
kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' admin system:admin system:masters
@@ -466,11 +465,17 @@ function generate_certs {
466
465
# Create matching certificates for kube-aggregator
467
466
kube::util::create_serving_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " server-ca" kube-aggregator api.kube-public.svc " localhost" ${API_HOST_IP}
468
467
kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " request-header-ca auth-proxy system:auth-proxy
468
+
469
469
# TODO remove masters and add rolebinding
470
470
kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' kube-aggregator system:kube-aggregator system:masters
471
471
kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " kube-aggregator
472
472
}
473
473
474
+ function generate_kubeproxy_certs {
475
+ kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' kube-proxy system:kube-proxy system:nodes
476
+ kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " kube-proxy
477
+ }
478
+
474
479
function generate_kubelet_certs {
475
480
kube::util::create_client_certkey " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " ' client-ca' kubelet system:node:${HOSTNAME_OVERRIDE} system:nodes
476
481
kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " kubelet
595
600
# Create kubeconfigs for all components, using client certs
596
601
kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " admin
597
602
${CONTROLPLANE_SUDO} chown " ${USER} " " ${CERT_DIR} /client-admin.key" # make readable for kubectl
598
- kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " kube-proxy
599
603
kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " controller
600
604
kube::util::write_client_kubeconfig " ${CONTROLPLANE_SUDO} " " ${CERT_DIR} " " ${ROOT_CA_FILE} " " ${API_HOST} " " ${API_SECURE_PORT} " scheduler
601
605
813
817
done
814
818
fi >> /tmp/kube-proxy.yaml
815
819
820
+ if [[ " ${REUSE_CERTS} " != true ]]; then
821
+ generate_kubeproxy_certs
822
+ fi
823
+
816
824
sudo " ${GO_OUT} /hyperkube" proxy \
817
825
--v=${LOG_LEVEL} \
818
826
--config=/tmp/kube-proxy.yaml \
@@ -1014,7 +1022,9 @@ if [[ "${START_MODE}" != "kubeletonly" ]]; then
1014
1022
if [[ " ${EXTERNAL_CLOUD_PROVIDER:- } " == " true" ]]; then
1015
1023
start_cloud_controller_manager
1016
1024
fi
1017
- start_kubeproxy
1025
+ if [[ " ${START_MODE} " != " nokubeproxy" ]]; then
1026
+ start_kubeproxy
1027
+ fi
1018
1028
start_kubescheduler
1019
1029
start_kubedns
1020
1030
if [[ " ${ENABLE_NODELOCAL_DNS:- } " == " true" ]]; then
0 commit comments