in pkg/agent/baker.go [332:356]
func validateAndSetWindowsNodeBootstrappingConfiguration(config *datamodel.NodeBootstrappingConfiguration) {
if IsTLSBootstrappingEnabledWithHardCodedToken(config.KubeletClientTLSBootstrapToken) {
// backfill proper flags for Windows agent node TLS bootstrapping
if config.KubeletConfig == nil {
config.KubeletConfig = make(map[string]string)
}
config.KubeletConfig["--bootstrap-kubeconfig"] = "c:\\k\\bootstrap-config"
config.KubeletConfig["--cert-dir"] = "c:\\k\\pki"
}
if config.KubeletConfig != nil {
kubeletFlags := config.KubeletConfig
delete(kubeletFlags, "--dynamic-config-dir")
if IsKubernetesVersionGe(config.ContainerService.Properties.OrchestratorProfile.OrchestratorVersion, "1.24.0") {
kubeletFlags["--feature-gates"] = removeFeatureGateString(kubeletFlags["--feature-gates"], "DynamicKubeletConfig")
} else if IsKubernetesVersionGe(config.ContainerService.Properties.OrchestratorProfile.OrchestratorVersion, "1.11.0") {
kubeletFlags["--feature-gates"] = addFeatureGateString(kubeletFlags["--feature-gates"], "DynamicKubeletConfig", false)
}
if IsKubeletServingCertificateRotationEnabled(config) {
kubeletFlags["--feature-gates"] = addFeatureGateString(kubeletFlags["--feature-gates"], "RotateKubeletServerCertificate", true)
}
}
}