6161
6262echo " kubelet.sh: ${await} has arrived" 2>&1
6363
64+ if [ -f " /run/config/kubelet-config.json" ]; then
65+ echo " Found kubelet configuration from /run/config/kubelet-config.json"
66+ else
67+ echo " Generate kubelet configuration to /run/config/kubelet-config.json"
68+ : ${KUBE_CLUSTER_DNS:= ' "10.96.0.10"' }
69+ cat > /run/config/kubelet-config.json << EOF
70+ {
71+ "kind": "KubeletConfiguration",
72+ "apiVersion": "kubelet.config.k8s.io/v1beta1",
73+ "staticPodPath": "/etc/kubernetes/manifests",
74+ "clusterDNS": [
75+ ${KUBE_CLUSTER_DNS}
76+ ],
77+ "clusterDomain": "cluster.local",
78+ "cgroupsPerQOS": false,
79+ "enforceNodeAllocatable": [],
80+ "kubeReservedCgroup": "podruntime",
81+ "systemReservedCgroup": "systemreserved",
82+ "cgroupRoot": "kubepods"
83+ }
84+ EOF
85+ fi
86+
6487mkdir -p /etc/kubernetes/manifests
6588
6689# If using --cgroups-per-qos then need to use --cgroup-root=/ and not
@@ -71,19 +94,13 @@ mkdir -p /etc/kubernetes/manifests
7194# - /usr/bin/kubelet.sh
7295# - --cgroup-root=/
7396# - --cgroups-per-qos
74- exec kubelet --kubeconfig=/etc/kubernetes/kubelet.conf \
75- --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf \
76- --pod-manifest-path=/etc/kubernetes/manifests \
77- --allow-privileged=true \
78- --cluster-dns=10.96.0.10 \
79- --cluster-domain=cluster.local \
80- --cgroups-per-qos=false \
81- --enforce-node-allocatable= \
82- --network-plugin=cni \
83- --cni-conf-dir=/etc/cni/net.d \
84- --cni-bin-dir=/opt/cni/bin \
85- --cadvisor-port=0 \
86- --kube-reserved-cgroup=podruntime \
87- --system-reserved-cgroup=systemreserved \
88- --cgroup-root=kubepods \
89- $KUBELET_ARGS $@
97+ exec kubelet \
98+ --config=/run/config/kubelet-config.json \
99+ --kubeconfig=/etc/kubernetes/kubelet.conf \
100+ --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf \
101+ --allow-privileged=true \
102+ --network-plugin=cni \
103+ --cni-conf-dir=/etc/cni/net.d \
104+ --cni-bin-dir=/opt/cni/bin \
105+ --cadvisor-port=0 \
106+ $KUBELET_ARGS $@
0 commit comments