Documentation ¶
Index ¶
Constants ¶
const ( UserAgentName = "Cluster-Controller" // Following labels come from k8s.io/kubernetes/pkg/kubelet/apis LabelZoneFailureDomain = "failure-domain.beta.kubernetes.io/zone" LabelZoneRegion = "failure-domain.beta.kubernetes.io/region" )
Variables ¶
This section is empty.
Functions ¶
func StartClusterController ¶
func StartClusterController(config *restclient.Config, fedNamespace, clusterNamespace string, stopChan <-chan struct{}, clusterMonitorPeriod time.Duration)
StartClusterController starts a new cluster controller.
Types ¶
type ClusterClient ¶
type ClusterClient struct {
// contains filtered or unexported fields
}
ClusterClient provides methods for determining the status and zones of a particular FederatedCluster.
func NewClusterClientSet ¶
func NewClusterClientSet(c *fedv1a1.FederatedCluster, kubeClient kubeclientset.Interface, crClient crclientset.Interface, fedNamespace, clusterNamespace string) (*ClusterClient, error)
NewClusterClientSet returns a ClusterClient for the given FederatedCluster. The kubeClient and crClient are used to configure the ClusterClient's internal client with information from a kubeconfig stored in a kubernetes secret and an API endpoint from the cluster-registry.
func (*ClusterClient) GetClusterHealthStatus ¶
func (self *ClusterClient) GetClusterHealthStatus() *fedv1a1.FederatedClusterStatus
GetClusterHealthStatus gets the kubernetes cluster health status by requesting "/healthz"
func (*ClusterClient) GetClusterZones ¶
func (self *ClusterClient) GetClusterZones() (zone, region string, err error)
GetClusterZones gets the kubernetes cluster zones and region by inspecting labels on nodes in the cluster.
type ClusterController ¶
type ClusterController struct {
// contains filtered or unexported fields
}
ClusterController is responsible for maintaining the health status of each FederatedCluster in a particular namespace.
func (*ClusterController) Run ¶
func (cc *ClusterController) Run(stopChan <-chan struct{})
Run begins watching and syncing.