code: func DownloadConfig(client clientset.Interface, kubeletVersion *version.Version, kubeletDir string) error {
  
  	// Download the ConfigMap from the cluster based on what version the kubelet is
  	configMapName := kubeadmconstants.GetKubeletConfigMapName(kubeletVersion)
  
  	fmt.Printf("[kubelet-start] Downloading configuration for the kubelet from the %q ConfigMap in the %s namespace\n",
  		configMapName, metav1.NamespaceSystem)
  
  	kubeletCfg, err := client.CoreV1().ConfigMaps(metav1.NamespaceSystem).Get(configMapName, metav1.GetOptions{})
  	// If the ConfigMap wasn't found and the kubelet version is v1.10.x, where we didn't support the config file yet
  	// just return, don't error out
  	if apierrors.IsNotFound(err) && kubeletVersion.Minor() == 10 {
  		return nil
  	}
  	if err != nil {
  		return err
  	}
  
  	return writeConfigBytesToDisk([]byte(kubeletCfg.Data[kubeadmconstants.KubeletBaseConfigurationConfigMapKey]), kubeletDir)
  }
docs: // DownloadConfig downloads the kubelet configuration from a ConfigMap and writes it to disk.
  // Used at "kubeadm join" time