Help us shape the future of Go! Take the 2026 Go Developer Survey

controller

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2020 License: Apache-2.0 Imports: 49 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