code: func detectTooOldKubelets(newK8sVersion *version.Version, kubeletVersions map[string]uint16) error {
  	tooOldKubeletVersions := []string{}
  	for versionStr := range kubeletVersions {
  
  		kubeletVersion, err := version.ParseSemantic(versionStr)
  		if err != nil {
  			return errors.Errorf("couldn't parse kubelet version %s", versionStr)
  		}
  
  		if newK8sVersion.Minor() > kubeletVersion.Minor()+MaximumAllowedMinorVersionKubeletSkew {
  			tooOldKubeletVersions = append(tooOldKubeletVersions, versionStr)
  		}
  	}
  	if len(tooOldKubeletVersions) == 0 {
  		return nil
  	}
  
  	return errors.Errorf("There are kubelets in this cluster that are too old that have these versions %v", tooOldKubeletVersions)
  }
docs: // detectTooOldKubelets errors out if the kubelet versions are so old that an unsupported skew would happen if the cluster was upgraded