kubefedcluster

package
v0.1.0-rc6-latest Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2019 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
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"

	// Common ClusterConditions for KubeFedClusterStatus
	ClusterReady              = "ClusterReady"
	HealthzOk                 = "/healthz responded with ok"
	ClusterNotReady           = "ClusterNotReady"
	HealthzNotOk              = "/healthz responded without ok"
	ClusterNotReachableReason = "ClusterNotReachable"
	ClusterNotReachableMsg    = "cluster is not reachable"
	ClusterReachableReason    = "ClusterReachable"
	ClusterReachableMsg       = "cluster is reachable"
)

Variables

This section is empty.

Functions

func StartClusterController

func StartClusterController(config *util.ControllerConfig, clusterHealthCheckConfig *util.ClusterHealthCheckConfig, stopChan <-chan struct{}) error

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 KubeFedCluster.

func NewClusterClientSet

func NewClusterClientSet(c *fedv1b1.KubeFedCluster, client generic.Client, fedNamespace string, timeout time.Duration) (*ClusterClient, error)

NewClusterClientSet returns a ClusterClient for the given KubeFedCluster. The kubeClient is used to configure the ClusterClient's internal client with information from a kubeconfig stored in a kubernetes secret.

func (*ClusterClient) GetClusterHealthStatus

func (self *ClusterClient) GetClusterHealthStatus() (*fedv1b1.KubeFedClusterStatus, error)

GetClusterHealthStatus gets the kubernetes cluster health status by requesting "/healthz"

func (*ClusterClient) GetClusterZones

func (self *ClusterClient) GetClusterZones() ([]string, string, 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 KubeFedCluster in a particular namespace.

func (*ClusterController) RecordError

func (cc *ClusterController) RecordError(cluster runtime.Object, errorCode string, err error)

func (*ClusterController) Run

func (cc *ClusterController) Run(stopChan <-chan struct{})

Run begins watching and syncing.

type ClusterData

type ClusterData struct {
	// contains filtered or unexported fields
}

ClusterData stores cluster client and previous health check probe results of individual cluster.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL