code: func GetDNSImage(cfg *kubeadmapi.ClusterConfiguration, imageName string) string {
  	// DNS uses default image repository by default
  	dnsImageRepository := cfg.ImageRepository
  	// unless an override is specified
  	if cfg.DNS.ImageRepository != "" {
  		dnsImageRepository = cfg.DNS.ImageRepository
  	}
  	// DNS uses an imageTag that corresponds to the DNS version matching the Kubernetes version
  	dnsImageTag := constants.GetDNSVersion(cfg.DNS.Type)
  
  	// unless an override is specified
  	if cfg.DNS.ImageTag != "" {
  		dnsImageTag = cfg.DNS.ImageTag
  	}
  	return GetGenericImage(dnsImageRepository, imageName, dnsImageTag)
  }
docs: // GetDNSImage generates and returns the image for the DNS, that can be CoreDNS or kube-dns.
  // Given that kube-dns uses 3 containers, an additional imageName parameter was added