@@ -152,9 +152,13 @@ function basePrep {
152152 echo " Golden image; skipping dependencies installation"
153153 fi
154154
155- # Container runtime already installed on Azure Linux OS Guard
156- if ! isAzureLinuxOSGuard " $OS " " $OS_VARIANT " ; then
155+ # Container runtime already installed on Azure Linux OS Guard; an explicit containerd override can bypass FULL_INSTALL_REQUIRED for other Linux distros
156+ if isAzureLinuxOSGuard " $OS " " $OS_VARIANT " ; then
157+ echo " Skipping installContainerRuntime because containerd is already available"
158+ elif [ " $FULL_INSTALL_REQUIRED " = " true" ] || [ -n " ${CONTAINERD_PACKAGE_URL} " ]; then
157159 logs_to_events " AKS.CSE.installContainerRuntime" installContainerRuntime
160+ else
161+ echo " Skipping installContainerRuntime because containerd is already available"
158162 fi
159163 if [ " ${TELEPORT_ENABLED} " = " true" ]; then
160164 logs_to_events " AKS.CSE.installTeleportdPlugin" installTeleportdPlugin
@@ -174,6 +178,9 @@ function basePrep {
174178 SHOULD_ENFORCE_KUBE_PMC_INSTALL=$( should_enforce_kube_pmc_install)
175179 logs_to_events " AKS.CSE.configureKubeletAndKubectl" configureKubeletAndKubectl
176180
181+ # pre-warm kubelet by checking its version.
182+ nohup /bin/sh -c ' /opt/bin/kubelet --version >/dev/null 2>&1' > /dev/null 2>&1 &
183+
177184 createKubeManifestDir
178185
179186 if [ " ${HAS_CUSTOM_SEARCH_DOMAIN} " = " true" ]; then
@@ -198,6 +205,10 @@ function basePrep {
198205 logs_to_events " AKS.CSE.configureSystemdUseDomains" configureSystemdUseDomains
199206 fi
200207
208+ if [ " ${SHOULD_CONFIG_CONTAINERD_ULIMITS} " = " true" ]; then
209+ logs_to_events " AKS.CSE.setContainerdUlimits" configureContainerdUlimits
210+ fi
211+
201212 # containerd should not be configured until cni has been configured first
202213 logs_to_events " AKS.CSE.ensureContainerd" ensureContainerd
203214
272283
273284 logs_to_events " AKS.CSE.ensureSysctl" ensureSysctl || exit $ERR_SYSCTL_RELOAD
274285
275- if [ " ${SHOULD_CONFIG_CONTAINERD_ULIMITS} " = " true" ]; then
276- logs_to_events " AKS.CSE.setContainerdUlimits" configureContainerdUlimits
277- fi
278-
279- if [ " ${ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE} " = " true" ]; then
280- logs_to_events " AKS.CSE.ensureNoDupOnPromiscuBridge" ensureNoDupOnPromiscuBridge
281- fi
282-
283286 if ! isAzureLinuxOSGuard " $OS " " $OS_VARIANT " ; then
284287 if [ " $OS " = " $UBUNTU_OS_NAME " ] || isMarinerOrAzureLinux " $OS " ; then
285288 logs_to_events " AKS.CSE.ubuntuSnapshotUpdate" ensureSnapshotUpdate
298301 logs_to_events " AKS.CSE.ensureContainerd.ensureArtifactStreaming" ensureArtifactStreaming || exit $ERR_ARTIFACT_STREAMING_INSTALL
299302 fi
300303
301- if [ " ${SHOULD_ENABLE_LOCALDNS} " = " true" ]; then
302- logs_to_events " AKS.CSE.enableLocalDNS" enableLocalDNS || exit $ERR_LOCALDNS_FAIL
303- fi
304-
305304 if [ " ${ID} " != " mariner" ] && [ " ${ID} " != " azurelinux" ]; then
306305 echo " Recreating man-db auto-update flag file and kicking off man-db update process at $( date) "
307306 createManDbAutoUpdateFlagFile
@@ -355,11 +354,6 @@ function nodePrep {
355354 # By default, never reboot new nodes.
356355 REBOOTREQUIRED=false
357356
358- # Clean up GPU drivers if not a GPU node or if skipping driver install
359- if [ " ${GPU_NODE} " != " true" ] || [ " ${skip_nvidia_driver_install} " = " true" ]; then
360- logs_to_events " AKS.CSE.cleanUpGPUDrivers" cleanUpGPUDrivers
361- fi
362-
363357 # Install and configure GPU drivers if this is a GPU node
364358 if [ " ${GPU_NODE} " = " true" ] && [ " ${skip_nvidia_driver_install} " != " true" ]; then
365359 echo $( date) ,$( hostname) , " Start configuring GPU drivers"
@@ -488,10 +482,28 @@ function nodePrep {
488482 exit $VALIDATION_ERR
489483 fi
490484
485+ checkServiceHealth containerd || exit $ERR_SYSTEMCTL_START_FAIL
486+ if [ " ${ENABLE_SECURE_TLS_BOOTSTRAPPING} " = " true" ]; then
487+ checkServiceHealth secure-tls-bootstrap || exit $ERR_SYSTEMCTL_START_FAIL
488+ fi
489+
491490 logs_to_events " AKS.CSE.ensureKubelet" ensureKubelet
492491
492+ if [ " ${ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE} " = " true" ]; then
493+ logs_to_events " AKS.CSE.ensureNoDupOnPromiscuBridge" ensureNoDupOnPromiscuBridge
494+ fi
495+
496+ if [ " ${SHOULD_ENABLE_LOCALDNS} " = " true" ]; then
497+ logs_to_events " AKS.CSE.enableLocalDNS" enableLocalDNS || exit $ERR_LOCALDNS_FAIL
498+ fi
499+
493500 logs_to_events " AKS.CSE.configureNodeExporter" configureNodeExporter
494501
502+ # Clean up GPU drivers if not a GPU node or if skipping driver install
503+ if [ " ${GPU_NODE} " != " true" ] || [ " ${skip_nvidia_driver_install} " = " true" ]; then
504+ logs_to_events " AKS.CSE.cleanUpGPUDrivers" cleanUpGPUDrivers
505+ fi
506+
495507 if $REBOOTREQUIRED ; then
496508 echo ' reboot required, rebooting node in 1 minute'
497509 /bin/bash -c " shutdown -r 1 &"
0 commit comments