@@ -24,7 +24,7 @@ ln -sf /pki/front-proxy-client/tls.crt /etc/kubernetes/pki/front-proxy-client.ke
2424# Update secrets and component configs
2525# ------------------------------------------------------------------------------
2626
27- cat > kubeadmcfg.yaml << EOT
27+ cat > kubeadmcfg.yaml << EOT
2828apiVersion: "kubeadm.k8s.io/v1beta2"
2929kind: ClusterConfiguration
3030imageRepository: k8s.gcr.io
3333
3434{{- if .Values.apiServer.enabled }}{{" \n" }}
3535# generate sa key
36- if [ -z " $( kubectl get secret " ${FULL_NAME} -pki-sa" -o jsonpath= ' {.data} ' ) " ] ; then
36+ if ! kubectl get secret " ${FULL_NAME} -pki-sa" > /dev/null ; then
3737 kubeadm init phase certs sa
38- kubectl patch secret " ${FULL_NAME} -pki-sa" --type merge \
39- -p " {\" data\" :{\" sa.pub\" :\" $( base64 /etc/kubernetes/pki/sa.pub | tr -d ' \n' ) \" , \" sa.key\" :\" $( base64 /etc/kubernetes/pki/sa.key | tr -d ' \n' ) \" }}"
38+ kubectl create secret generic " ${FULL_NAME} -pki-sa" --from-file=/etc/kubernetes/pki/sa.pub --from-file=/etc/kubernetes/pki/sa.key
4039fi
4140{{- end }}
4241
4342# generate cluster-admin kubeconfig
4443rm -f /etc/kubernetes/admin.conf
4544kubeadm init phase kubeconfig admin --config kubeadmcfg.yaml
46- kubectl patch secret " ${FULL_NAME} -admin-conf " --type merge \
47- -p " { \" data \" :{ \" admin. conf\" : \" $( base64 /etc/kubernetes/admin.conf | tr -d ' \n ' ) \" }} "
45+ kubectl --kubeconfig=/etc/kubernetes/admin.conf config set clusters.kubernetes.server " https:// ${FULL_NAME} -apiserver:6443 "
46+ kubectl create secret generic " ${FULL_NAME} - admin- conf" --from-file= /etc/kubernetes/admin.conf --dry-run=client -o yaml | kubectl apply -f -
4847
4948{{- if .Values.controllerManager.enabled }}{{" \n" }}
5049# generate controller-manager kubeconfig
5150rm -f /etc/kubernetes/controller-manager.conf
5251kubeadm init phase kubeconfig controller-manager --config kubeadmcfg.yaml
53- kubectl patch secret " ${FULL_NAME} -controller-manager-conf " --type merge \
54- -p " { \" data \" :{ \" controller-manager. conf\" : \" $( base64 /etc/kubernetes/controller-manager.conf | tr -d ' \n ' ) \" }} "
52+ kubectl --kubeconfig=/etc/kubernetes/controller-manager.conf config set clusters.kubernetes.server " https:// ${FULL_NAME} -apiserver:6443 "
53+ kubectl create secret generic " ${FULL_NAME} - controller-manager- conf" --from-file= /etc/kubernetes/controller-manager.conf --dry-run=client -o yaml | kubectl apply -f -
5554{{- end }}
5655
57-
5856{{- if .Values.scheduler.enabled }}{{" \n" }}
5957# generate scheduler kubeconfig
6058rm -f /etc/kubernetes/scheduler.conf
6159kubeadm init phase kubeconfig scheduler --config kubeadmcfg.yaml
62- kubectl patch secret " ${FULL_NAME} -scheduler-conf " --type merge \
63- -p " { \" data \" :{ \" scheduler. conf\" : \" $( base64 /etc/kubernetes/scheduler.conf | tr -d ' \n ' ) \" }} "
60+ kubectl --kubeconfig=/etc/kubernetes/scheduler.conf config set clusters.kubernetes.server " https:// ${FULL_NAME} -apiserver:6443 "
61+ kubectl create secret generic " ${FULL_NAME} - scheduler- conf" --from-file= /etc/kubernetes/scheduler.conf --dry-run=client -o yaml | kubectl apply -f -
6462{{- end }}
6563
6664# wait for cluster
@@ -80,20 +78,18 @@ kubectl --kubeconfig /etc/kubernetes/admin.conf patch configmap -n kube-system k
8078 -p ' {"data":{"ClusterStatus":"apiEndpoints: {}\napiVersion: kubeadm.k8s.io/v1beta2\nkind: ClusterStatus"}}'
8179
8280# upload configuration
83- kubeadm init phase upload-config kubelet --config /config/kubeadmcfg.yaml -v1 2>&1 \
84- | while read line; do echo " $line " | grep ' Preserving the CRISocket information for the control-plane node' && killall kubeadm || echo " $line " ; done
81+ kubeadm init phase upload-config kubelet --config /config/kubeadmcfg.yaml -v1 2>&1 |
82+ while read line; do echo " $line " | grep ' Preserving the CRISocket information for the control-plane node' && killall kubeadm || echo " $line " ; done
8583
8684# setup bootstrap-tokens
8785kubeadm init phase bootstrap-token --config /config/kubeadmcfg.yaml --skip-token-print
8886
8987# correct apiserver address for the external clients
90- if [ -n " $CONTROL_PLANE_ENDPOINT " ]; then
91- tmp=" $( mktemp -d) "
92- kubectl --kubeconfig /etc/kubernetes/admin.conf get configmap -n kube-public cluster-info -o jsonpath=' {.data.kubeconfig}' > " $tmp /kubeconfig"
93- kubectl --kubeconfig " $tmp /kubeconfig" config set clusters..server " https://${CONTROL_PLANE_ENDPOINT} "
94- kubectl create configmap cluster-info --from-file=" $tmp /kubeconfig" --dry-run=client -o yaml | kubectl --kubeconfig /etc/kubernetes/admin.conf apply -n kube-public -f -
95- rm -rf " $tmp "
96- fi
88+ tmp=" $( mktemp -d) "
89+ kubectl --kubeconfig " $tmp /kubeconfig" config set clusters..server " https://${CONTROL_PLANE_ENDPOINT:- ${FULL_NAME} -apiserver: 6443} "
90+ kubectl --kubeconfig " $tmp /kubeconfig" config set clusters..certificate-authority-data " $( base64 /etc/kubernetes/pki/ca.crt | tr -d ' \n' ) "
91+ kubectl create configmap cluster-info --from-file=" $tmp /kubeconfig" --dry-run=client -o yaml | kubectl --kubeconfig /etc/kubernetes/admin.conf apply -n kube-public -f -
92+ rm -rf " $tmp "
9793
9894{{- if .Values.coredns.enabled }}{{" \n" }}
9995# install coredns addon
0 commit comments