kubecontrollermanager

package
v1.72.1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2023 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// LabelRole is a constant for the value of a label with key 'role'.
	LabelRole = "controller-manager"
)

Variables

View Source
var (
	// IntervalWaitForDeployment is the interval used while waiting for the Deployments to become healthy or deleted.
	IntervalWaitForDeployment = 5 * time.Second
	// TimeoutWaitForDeployment is the timeout used while waiting for the Deployments to become healthy or deleted.
	TimeoutWaitForDeployment = 3 * time.Minute
	// Until is an alias for retry.Until. Exposed for tests.
	Until = retry.Until
)

Functions

func CentralLoggingConfiguration

func CentralLoggingConfiguration() (component.CentralLoggingConfig, error)

CentralLoggingConfiguration returns a fluent-bit parser and filter for the kube-controller-manager logs.

Types

type ControllerSyncPeriods

type ControllerSyncPeriods struct {
	// ResourceQuota is the sync period for the ResourceQuota controller.
	ResourceQuota *time.Duration
}

ControllerSyncPeriods is used for configuring the sync periods for controllers.

type ControllerWorkers

type ControllerWorkers struct {
	// StatefulSet is the number of workers for the StatefulSet controller.
	StatefulSet *int
	// Deployment is the number of workers for the Deployment controller.
	Deployment *int
	// ReplicaSet is the number of workers for the ReplicaSet controller.
	ReplicaSet *int
	// Endpoint is the number of workers for the Endpoint controller.
	Endpoint *int
	// GarbageCollector is the number of workers for the GarbageCollector controller.
	GarbageCollector *int
	// Namespace is the number of workers for the Namespace controller. Set it to '0' in order to disable the controller
	// (only works when cluster is workerless).
	Namespace *int
	// ResourceQuota is the number of workers for the ResourceQuota controller. Set it to '0' in order to disable the
	// controller (only works when cluster is workerless).
	ResourceQuota *int
	// ServiceEndpoint is the number of workers for the ServiceEndpoint controller.
	ServiceEndpoint *int
	// ServiceAccountToken is the number of workers for the ServiceAccountToken controller. Set it to '0' in order to
	// disable the controller (only works when cluster is workerless).
	ServiceAccountToken *int
}

ControllerWorkers is used for configuring the workers for controllers.

type HVPAConfig

type HVPAConfig struct {
	// Enabled states whether an HVPA object shall be deployed.
	Enabled bool
	// The update mode to use for scale down.
	ScaleDownUpdateMode *string
}

HVPAConfig contains information for configuring the HVPA object for the etcd.

type Interface

type Interface interface {
	component.DeployWaiter
	component.MonitoringComponent
	// SetReplicaCount sets the replica count for the kube-controller-manager.
	SetReplicaCount(replicas int32)
	// WaitForControllerToBeActive checks whether kube-controller-manager has
	// recently written to the Endpoint object holding the leader information. If yes, it is active.
	WaitForControllerToBeActive(ctx context.Context) error
	// SetShootClient sets the shoot client used to deploy resources into the Shoot API server.
	SetShootClient(c client.Client)
}

Interface contains functions for a kube-controller-manager deployer.

func New

func New(
	log logr.Logger,
	seedClient kubernetes.Interface,
	namespace string,
	secretsManager secretsmanager.Interface,
	values Values,
) Interface

New creates a new instance of DeployWaiter for the kube-controller-manager.

type Values

type Values struct {
	// RuntimeVersion is the Kubernetes version of the runtime cluster.
	RuntimeVersion *semver.Version
	// TargetVersion is the Kubernetes version of the target cluster.
	TargetVersion *semver.Version
	// Image is the image of the kube-controller-manager.
	Image string
	// Replicas is the number of replicas for the kube-controller-manager deployment.
	Replicas int32
	// PriorityClassName is the name of the priority class.
	PriorityClassName string
	// Config is the configuration of the kube-controller-manager.
	Config *gardencorev1beta1.KubeControllerManagerConfig
	// NamePrefix is the prefix for the resource names.
	NamePrefix string
	// HVPAConfig is the configuration for HVPA.
	HVPAConfig *HVPAConfig
	// IsWorkerless specifies whether the cluster has worker nodes.
	IsWorkerless bool
	// PodNetwork is the pod CIDR of the target cluster.
	PodNetwork *net.IPNet
	// ServiceNetwork is the service CIDR of the target cluster.
	ServiceNetwork *net.IPNet
	// ClusterSigningDuration is the value for the `--cluster-signing-duration` flag.
	ClusterSigningDuration *time.Duration
	// ControllerWorkers is used for configuring the workers for controllers.
	ControllerWorkers ControllerWorkers
	// ControllerSyncPeriods is used for configuring the sync periods for controllers.
	ControllerSyncPeriods ControllerSyncPeriods
}

Values are the values for the kube-controller-manager deployment.

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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