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

controller

package
v1.54.4 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2023 License: Apache-2.0 Imports: 60 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"

	CloudInitNotReadyError = "cloud-init configuration to %s machine: %v is not ready yet"
)

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,
	kubeconfigProvider KubeconfigProvider,
	providerData *cloudprovidertypes.ProviderData,
	joinClusterTimeout *time.Duration,
	name string,
	bootstrapTokenServiceAccountName *types.NamespacedName,
	skipEvictionAfter time.Duration,
	nodeSettings NodeSettings,
	useOSM bool,
	nodePortRange string,
	overrideBootstrapKubeletAPIServer string,
) error

Types

type KubeconfigProvider

type KubeconfigProvider interface {
	GetKubeconfig(context.Context) (*clientcmdapi.Config, error)
	GetBearerToken() string
}

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.

func (*MetricsCollection) MustRegister added in v1.21.0

func (mc *MetricsCollection) MustRegister(registerer prometheus.Registerer)

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
	// Translates to feature gates on the kubelet.
	// Default: RotateKubeletServerCertificate=true
	KubeletFeatureGates map[string]bool
	// Used to set kubelet flag --cloud-provider=external
	ExternalCloudProvider bool
	// container runtime to install
	ContainerRuntime containerruntime.Config
	// Registry credentials secret object reference
	RegistryCredentialsSecretRef 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(ctx context.Context) map[string]healthcheck.Check

func (*Reconciler) Reconcile added in v1.5.0

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

Jump to

Keyboard shortcuts

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