code: func (g *KubeVersionGetter) ClusterVersion() (string, *versionutil.Version, error) {
  	clusterVersionInfo, err := g.client.Discovery().ServerVersion()
  	if err != nil {
  		return "", nil, errors.Wrap(err, "Couldn't fetch cluster version from the API Server")
  	}
  	fmt.Fprintf(g.w, "[upgrade/versions] Cluster version: %s\n", clusterVersionInfo.String())
  
  	clusterVersion, err := versionutil.ParseSemantic(clusterVersionInfo.String())
  	if err != nil {
  		return "", nil, errors.Wrap(err, "Couldn't parse cluster version")
  	}
  	return clusterVersionInfo.String(), clusterVersion, nil
  }
docs: // ClusterVersion gets API server version