Multicluster structure holds the remote kube Controllers and multicluster specific attributes.
func NewMulticluster(kc kubernetes.Interface, secretNamespace string, watchedNamespace string, domainSuffix string, resyncPeriod time.Duration, serviceController *aggregate.Controller, xds model.XDSUpdater, meshNetworks *meshconfig.MeshNetworks) (*Multicluster, error)
NewMulticluster initializes data structure to store multicluster information It also starts the secret controller
AddMemberCluster is passed to the secret controller as a callback to be called when a remote cluster is added. This function needs to set up all the handlers to watch for resources being added, deleted or changed on remote clusters.
DeleteMemberCluster is passed to the secret controller as a callback to be called when a remote cluster is deleted. Also must clear the cache so remote resources are removed.
Hot reload mesh networks for remote clusters