func GetOrderedKubeletConfigFlagString()

in pkg/agent/utils.go [335:368]


func GetOrderedKubeletConfigFlagString(config *datamodel.NodeBootstrappingConfiguration) string {
	k := config.KubeletConfig
	cs := config.ContainerService
	profile := config.AgentPoolProfile
	kubeletConfigFileToggleEnabled := config.EnableKubeletConfigFile
	/* NOTE(mainred): kubeConfigFile now relies on CustomKubeletConfig, while custom configuration is not
	compatible with CustomKubeletConfig. When custom configuration is set we want to override every
	configuration with the customized one. */
	kubeletCustomConfigurations := getKubeletCustomConfiguration(cs.Properties)
	if kubeletCustomConfigurations != nil {
		return getOrderedKubeletConfigFlagWithCustomConfigurationString(kubeletCustomConfigurations, k)
	}

	if k == nil {
		return ""
	}
	// Always force remove of dynamic-config-dir.
	kubeletConfigFileEnabled := IsKubeletConfigFileEnabled(cs, profile, kubeletConfigFileToggleEnabled)
	keys := []string{}
	ommitedKubletConfigFlags := datamodel.GetCommandLineOmittedKubeletConfigFlags()
	for key := range k {
		if !kubeletConfigFileEnabled || !TranslatedKubeletConfigFlags[key] {
			if !ommitedKubletConfigFlags[key] {
				keys = append(keys, key)
			}
		}
	}
	sort.Strings(keys)
	var buf bytes.Buffer
	for _, key := range keys {
		buf.WriteString(fmt.Sprintf("%s=%s ", key, k[key]))
	}
	return buf.String()
}