controller

package
v1.5.6 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2019 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FinalizerDeleteInstance = "machine-delete-finalizer"
	FinalizerDeleteNode     = "machine-node-delete-finalizer"

	ControllerName = "machine_controller"

	// AnnotationMachineUninitialized indicates that a machine is not yet
	// ready to be worked on by the machine-controller. The machine-controller
	// will ignore all machines that have this anotation with any value
	// Its value should consist of one or more initializers, separated by a comma
	AnnotationMachineUninitialized = "machine-controller.kubermatic.io/initializers"

	NodeOwnerLabelName = "machine-controller/owned-by"

	// AnnotationAutoscalerIdentifier is used by the cluster-autoscaler
	// cluster-api provider to match Nodes to Machines
	AnnotationAutoscalerIdentifier = "cluster.k8s.io/machine"
)

Variables

This section is empty.

Functions

func Add added in v1.5.0

func Add(
	ctx context.Context,
	mgr manager.Manager,
	kubeClient kubernetes.Interface,
	numWorkers int,
	metrics *MetricsCollection,
	prometheusRegistry prometheus.Registerer,
	kubeconfigProvider KubeconfigProvider,
	providerData *cloudprovidertypes.ProviderData,
	joinClusterTimeout *time.Duration,
	externalCloudProvider bool,
	name string,
	bootstrapTokenServiceAccountName *types.NamespacedName,
	skipEvictionAfter time.Duration,
	nodeSettings NodeSettings) error

Types

type KubeconfigProvider

type KubeconfigProvider interface {
	GetKubeconfig() (*clientcmdapi.Config, error)
}

type MachineCollector

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

func NewMachineCollector

func NewMachineCollector(ctx context.Context, client ctrlruntimeclient.Client) *MachineCollector

func (MachineCollector) Collect

func (mc MachineCollector) Collect(ch chan<- prometheus.Metric)

Collect implements the prometheus.Collector interface.

func (MachineCollector) Describe

func (mc MachineCollector) Describe(ch chan<- *prometheus.Desc)

Describe implements the prometheus.Collector interface.

type MetricsCollection

type MetricsCollection struct {
	Workers prometheus.Gauge
	Errors  prometheus.Counter
}

MetricsCollection is a struct of all metrics used in this controller.

func NewMachineControllerMetrics

func NewMachineControllerMetrics() *MetricsCollection

NewMachineControllerMetrics creates new MachineControllerMetrics with default values initialized, so metrics always show up.

type NodeSettings added in v1.2.0

type NodeSettings struct {
	// Translates to --cluster-dns on the kubelet.
	ClusterDNSIPs []net.IP
	// If set, this proxy will be configured on all nodes.
	HTTPProxy string
	// If set this will be set as NO_PROXY on the node.
	NoProxy string
	// If set, those registries will be configured as insecure on the container runtime.
	InsecureRegistries []string
	// If set, these mirrors will be take for pulling all required images on the node.
	RegistryMirrors []string
	// Translates to --pod-infra-container-image on the kubelet. If not set, the kubelet will default it.
	PauseImage string
	// The hyperkube image to use. Currently only Container Linux uses it.
	HyperkubeImage string
}

type Reconciler added in v1.5.0

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

Reconciler is the controller implementation for machine resources

func (*Reconciler) ReadinessChecks added in v1.5.0

func (r *Reconciler) ReadinessChecks() map[string]healthcheck.Check

func (*Reconciler) Reconcile added in v1.5.0

func (r *Reconciler) Reconcile(request reconcile.Request) (reconcile.Result, error)

Jump to

Keyboard shortcuts

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