Documentation
¶
Index ¶
Constants ¶
View Source
const ( // ManagedResourceName is the name of the ManagedResource containing the resource specifications. ManagedResourceName = "shoot-core-kube-controller-manager" // NodeMonitorGraceDurationK8sGreaterEqual127 is the default node monitoring grace duration used with k8s versions >= 1.27 NodeMonitorGraceDurationK8sGreaterEqual127 = 40 * time.Second )
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 Interface ¶
type Interface interface {
component.DeployWaiter
// SetReplicaCount sets the replica count for the kube-controller-manager.
SetReplicaCount(replicas int32)
// SetRuntimeConfig sets the runtime config for the kube-controller-manager.
SetRuntimeConfig(runtimeConfig map[string]bool)
// 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.
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
// IsScaleDownDisabled - if true, pod requests can be scaled up, but never down
IsScaleDownDisabled bool
// 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
// RuntimeConfig contains information about enabled or disabled APIs.
RuntimeConfig map[string]bool
// ManagedResourceLabels are labels added to the ManagedResource.
ManagedResourceLabels map[string]string
}
Values are the values for the kube-controller-manager deployment.
Click to show internal directories.
Click to hide internal directories.