Documentation
¶
Index ¶
- Variables
- func AddIstioIngressGateway(ctx context.Context, cl client.Client, istioDeployer istio.Interface, ...) error
- func DeployGardenerAPIServer(ctx context.Context, runtimeClient client.Client, runtimeNamespace string, ...) error
- func DeployGardenerResourceManager(ctx context.Context, c client.Client, secretsManager secretsmanager.Interface, ...) error
- func DeployKubeAPIServer(ctx context.Context, runtimeClient client.Client, runtimeNamespace string, ...) error
- func GetIstioNamespaceForZone(defaultNamespace string, zone string) string
- func GetIstioZoneLabels(labels map[string]string, zone *string) map[string]string
- func GetResourcesForEncryptionFromConfig(encryptionConfig *gardencorev1beta1.EncryptionConfig) []string
- func IsZonalIstioExtension(labels map[string]string) (bool, string)
- func NewEtcdDruid(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NewFluentBit(c client.Client, gardenNamespaceName string, enabled bool, ...) (deployer component.DeployWaiter, err error)
- func NewFluentOperator(c client.Client, gardenNamespaceName string, enabled bool, ...) (deployer component.DeployWaiter, err error)
- func NewFluentOperatorCustomResources(c client.Client, gardenNamespaceName string, enabled bool, suffix string, ...) (deployer component.DeployWaiter, err error)
- func NewGardenerAPIServer(ctx context.Context, runtimeClient client.Client, runtimeNamespace string, ...) (gardenerapiserver.Interface, error)
- func NewHVPA(c client.Client, gardenNamespaceName string, enabled bool, ...) (deployer component.DeployWaiter, err error)
- func NewIstio(ctx context.Context, cl client.Client, chartRenderer chartrenderer.Interface, ...) (istio.Interface, error)
- func NewKubeAPIServer(ctx context.Context, runtimeClientSet kubernetes.Interface, ...) (kubeapiserver.Interface, error)
- func NewKubeControllerManager(log logr.Logger, runtimeClientSet kubernetes.Interface, ...) (kubecontrollermanager.Interface, error)
- func NewKubeStateMetrics(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NewNginxIngress(c client.Client, namespaceName string, targetNamespace string, ...) (component.DeployWaiter, error)
- func NewPlutono(c client.Client, namespace string, secretsManager secretsmanager.Interface, ...) (plutono.Interface, error)
- func NewPrometheusOperator(c client.Client, gardenNamespaceName string, priorityClassName string) (deployer component.DeployWaiter, err error)
- func NewRuntimeGardenerResourceManager(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NewTargetGardenerResourceManager(c client.Client, namespaceName string, secretsManager secretsmanager.Interface, ...) (resourcemanager.Interface, error)
- func NewVali(c client.Client, namespace string, secretsManager secretsmanager.Interface, ...) (vali.Interface, error)
- func NewVerticalPodAutoscaler(c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, ...) (component.DeployWaiter, error)
- func NormalizeResources(resources []string) []string
- func ShouldEnforceSpreadAcrossHosts(ctx context.Context, cl client.Client, zones []string) (bool, error)
- func SnapshotEtcd(ctx context.Context, secretsManager secretsmanager.Interface, ...) error
Constants ¶
This section is empty.
Variables ¶
var ( // TimeoutWaitForGardenerResourceManagerBootstrapping is the maximum time the bootstrap process for the // gardener-resource-manager may take. // Exposed for testing. TimeoutWaitForGardenerResourceManagerBootstrapping = 2 * time.Minute // IntervalWaitForGardenerResourceManagerBootstrapping is the interval how often it's checked whether the bootstrap // process for the gardener-resource-manager has completed. // Exposed for testing. IntervalWaitForGardenerResourceManagerBootstrapping = 5 * time.Second )
var ImageVector = imagevector.ImageVector()
ImageVector is an alias for imagevector.ImageVector(). Exposed for testing.
Functions ¶
func AddIstioIngressGateway ¶
func AddIstioIngressGateway( ctx context.Context, cl client.Client, istioDeployer istio.Interface, namespace string, annotations map[string]string, labels map[string]string, externalTrafficPolicy *corev1.ServiceExternalTrafficPolicyType, serviceExternalIP *string, zone *string, dualStack bool, ) error
AddIstioIngressGateway adds an Istio ingress gateway to the given deployer. It uses the first Ingress Gateway to fill out common chart values. Hence, it is assumed that at least one Ingress Gateway was added to the given `istioDeployer` before calling this function.
func DeployGardenerAPIServer ¶ added in v1.76.0
func DeployGardenerAPIServer( ctx context.Context, runtimeClient client.Client, runtimeNamespace string, gardenerAPIServer gardenerapiserver.Interface, resourcesToEncrypt []string, encryptedResources []string, etcdEncryptionKeyRotationPhase gardencorev1beta1.CredentialsRotationPhase, ) error
DeployGardenerAPIServer deploys the Gardener API server.
func DeployGardenerResourceManager ¶
func DeployGardenerResourceManager( ctx context.Context, c client.Client, secretsManager secretsmanager.Interface, gardenerResourceManager resourcemanager.Interface, namespace string, determineReplicas func(ctx context.Context) (int32, error), getAPIServerAddress func() string, ) error
DeployGardenerResourceManager deploys the gardener-resource-manager
func DeployKubeAPIServer ¶
func DeployKubeAPIServer( ctx context.Context, runtimeClient client.Client, runtimeNamespace string, kubeAPIServer kubeapiserver.Interface, apiServerConfig *gardencorev1beta1.KubeAPIServerConfig, serverCertificateConfig kubeapiserver.ServerCertificateConfig, sniConfig kubeapiserver.SNIConfig, externalHostname string, externalServer string, nodeNetworkCIDR *string, resourcesToEncrypt []string, encryptedResources []string, etcdEncryptionKeyRotationPhase gardencorev1beta1.CredentialsRotationPhase, serviceAccountKeyRotationPhase gardencorev1beta1.CredentialsRotationPhase, wantScaleDown bool, ) error
DeployKubeAPIServer deploys the Kubernetes API server.
func GetIstioNamespaceForZone ¶
GetIstioNamespaceForZone returns the namespace to use for a given zone. In case the zone name is too long the first five characters of the hash of the zone are used as zone identifiers.
func GetIstioZoneLabels ¶
GetIstioZoneLabels returns the labels to be used for istio with the mandatory zone label set.
func GetResourcesForEncryptionFromConfig ¶ added in v1.86.0
func GetResourcesForEncryptionFromConfig(encryptionConfig *gardencorev1beta1.EncryptionConfig) []string
GetResourcesForEncryptionFromConfig returns the list of resources requiring encryption from the EncryptionConfig.
func IsZonalIstioExtension ¶
IsZonalIstioExtension indicates whether the namespace related to the given labels is a zonal istio extension. It also returns the zone.
func NewEtcdDruid ¶
func NewEtcdDruid( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, imageVectorOverwrites map[string]string, etcdConfig *config.ETCDConfig, priorityClassName string, ) ( component.DeployWaiter, error, )
NewEtcdDruid instantiates a new `etcd-druid` component.
func NewFluentBit ¶ added in v1.77.0
func NewFluentBit( c client.Client, gardenNamespaceName string, enabled bool, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewFluentBit instantiates a new `Fluent-bit` component.
func NewFluentOperator ¶
func NewFluentOperator( c client.Client, gardenNamespaceName string, enabled bool, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewFluentOperator instantiates a new `Fluent Operator` component.
func NewFluentOperatorCustomResources ¶
func NewFluentOperatorCustomResources( c client.Client, gardenNamespaceName string, enabled bool, suffix string, centralLoggingConfigurations []component.CentralLoggingConfiguration, output *fluentbitv1alpha2.ClusterOutput, ) ( deployer component.DeployWaiter, err error, )
NewFluentOperatorCustomResources instantiates a new `Fluent Operator Custom Resources` component.
func NewGardenerAPIServer ¶ added in v1.76.0
func NewGardenerAPIServer( ctx context.Context, runtimeClient client.Client, runtimeNamespace string, objectMeta metav1.ObjectMeta, runtimeVersion *semver.Version, secretsManager secretsmanager.Interface, apiServerConfig *operatorv1alpha1.GardenerAPIServerConfig, autoscalingConfig apiserver.AutoscalingConfig, auditWebhookConfig *apiserver.AuditWebhook, topologyAwareRoutingEnabled bool, clusterIdentity string, ) ( gardenerapiserver.Interface, error, )
NewGardenerAPIServer returns a deployer for the gardener-apiserver.
func NewHVPA ¶
func NewHVPA( c client.Client, gardenNamespaceName string, enabled bool, kubernetesVersion *semver.Version, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewHVPA instantiates a new `hvpa-controller` component.
func NewIstio ¶
func NewIstio( ctx context.Context, cl client.Client, chartRenderer chartrenderer.Interface, namePrefix string, ingressNamespace string, priorityClassName string, istiodEnabled bool, labels map[string]string, toKubeAPIServerPolicyLabel string, lbAnnotations map[string]string, externalTrafficPolicy *corev1.ServiceExternalTrafficPolicyType, serviceExternalIP *string, servicePorts []corev1.ServicePort, proxyProtocolEnabled bool, vpnEnabled bool, zones []string, dualStack bool, ) ( istio.Interface, error, )
NewIstio returns a deployer for Istio.
func NewKubeAPIServer ¶
func NewKubeAPIServer( ctx context.Context, runtimeClientSet kubernetes.Interface, resourceConfigClient client.Client, runtimeNamespace string, objectMeta metav1.ObjectMeta, runtimeVersion *semver.Version, targetVersion *semver.Version, secretsManager secretsmanager.Interface, namePrefix string, apiServerConfig *gardencorev1beta1.KubeAPIServerConfig, autoscalingConfig apiserver.AutoscalingConfig, serviceNetworkCIDR string, vpnConfig kubeapiserver.VPNConfig, priorityClassName string, isWorkerless bool, staticTokenKubeconfigEnabled *bool, auditWebhookConfig *apiserver.AuditWebhook, authenticationWebhookConfig *kubeapiserver.AuthenticationWebhook, authorizationWebhookConfig *kubeapiserver.AuthorizationWebhook, resourcesToStoreInETCDEvents []schema.GroupResource, fastRollout bool, ) ( kubeapiserver.Interface, error, )
NewKubeAPIServer returns a deployer for the kube-apiserver.
func NewKubeControllerManager ¶
func NewKubeControllerManager( log logr.Logger, runtimeClientSet kubernetes.Interface, runtimeNamespace string, runtimeVersion *semver.Version, targetVersion *semver.Version, secretsManager secretsmanager.Interface, namePrefix string, config *gardencorev1beta1.KubeControllerManagerConfig, priorityClassName string, isWorkerless bool, hvpaConfig *kubecontrollermanager.HVPAConfig, podNetwork *net.IPNet, serviceNetwork *net.IPNet, clusterSigningDuration *time.Duration, controllerWorkers kubecontrollermanager.ControllerWorkers, controllerSyncPeriods kubecontrollermanager.ControllerSyncPeriods, ) ( kubecontrollermanager.Interface, error, )
NewKubeControllerManager returns a deployer for the kube-controller-manager.
func NewKubeStateMetrics ¶
func NewKubeStateMetrics( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, priorityClassName string, ) ( component.DeployWaiter, error, )
NewKubeStateMetrics instantiates a new `kube-state-metrics` component.
func NewNginxIngress ¶ added in v1.75.0
func NewNginxIngress( c client.Client, namespaceName string, targetNamespace string, kubernetesVersion *semver.Version, config map[string]string, loadBalancerAnnotations map[string]string, loadBalancerSourceRanges []string, priorityClassName string, pspDisabled bool, vpaEnabled bool, clusterType component.ClusterType, externalTrafficPolicy corev1.ServiceExternalTrafficPolicyType, ingressClass string, ) ( component.DeployWaiter, error, )
NewNginxIngress returns a deployer for nginx-ingress-controller.
func NewPlutono ¶ added in v1.76.0
func NewPlutono( c client.Client, namespace string, secretsManager secretsmanager.Interface, clusterType component.ClusterType, replicas int32, authSecretName, ingressHost, priorityClassName string, includeIstioDashboards, isWorkerless bool, isGardenCluster, nodeLocalDNSEnabled, vpnHighAvailabilityEnabled, vpaEnabled bool, wildcardCertName *string, ) ( plutono.Interface, error, )
NewPlutono returns a deployer for the plutono.
func NewPrometheusOperator ¶ added in v1.88.0
func NewPrometheusOperator( c client.Client, gardenNamespaceName string, priorityClassName string, ) ( deployer component.DeployWaiter, err error, )
NewPrometheusOperator instantiates a new prometheus-operator component.
func NewRuntimeGardenerResourceManager ¶
func NewRuntimeGardenerResourceManager( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, secretsManager secretsmanager.Interface, logLevel, logFormat string, secretNameServerCA string, priorityClassName string, defaultNotReadyToleration *int64, defaultUnreachableToleration *int64, defaultSeccompProfileEnabled bool, endpointSliceHintsEnabled bool, additionalNetworkPolicyNamespaceSelectors []metav1.LabelSelector, zones []string, ) ( component.DeployWaiter, error, )
NewRuntimeGardenerResourceManager instantiates a new `gardener-resource-manager` component configured to reconcile objects in the runtime (seed) cluster.
func NewTargetGardenerResourceManager ¶
func NewTargetGardenerResourceManager( c client.Client, namespaceName string, secretsManager secretsmanager.Interface, clusterIdentity *string, defaultNotReadyTolerationSeconds *int64, defaultUnreachableTolerationSeconds *int64, kubernetesVersion *semver.Version, logLevel, logFormat string, namePrefix string, podTopologySpreadConstraintsEnabled bool, priorityClassName string, schedulingProfile *gardencorev1beta1.SchedulingProfile, secretNameServerCA string, systemComponentsToleration []corev1.Toleration, topologyAwareRoutingEnabled bool, kubernetesServiceHost *string, isWorkerless bool, targetNamespaces []string, ) ( resourcemanager.Interface, error, )
NewTargetGardenerResourceManager instantiates a new `gardener-resource-manager` component configured to reconcile object in a target (shoot) cluster.
func NewVali ¶ added in v1.74.0
func NewVali( c client.Client, namespace string, secretsManager secretsmanager.Interface, clusterType component.ClusterType, replicas int32, isShootNodeLoggingEnabled bool, priorityClassName string, storage *resource.Quantity, ingressHost string, hvpaEnabled bool, maintenanceTimeWindow *hvpav1alpha1.MaintenanceTimeWindow, ) ( vali.Interface, error, )
NewVali returns new Vali deployer
func NewVerticalPodAutoscaler ¶
func NewVerticalPodAutoscaler( c client.Client, gardenNamespaceName string, runtimeVersion *semver.Version, secretsManager secretsmanager.Interface, enabled bool, secretNameServerCA string, priorityClassNameAdmissionController string, priorityClassNameRecommender string, priorityClassNameUpdater string, ) ( component.DeployWaiter, error, )
NewVerticalPodAutoscaler instantiates a new `vertical-pod-autoscaler` component.
func NormalizeResources ¶ added in v1.86.0
NormalizeResources returns the list of resources after trimming the suffix '.' if present. This is needed for core resources which can be specified as '<resource>.' as well.
func ShouldEnforceSpreadAcrossHosts ¶ added in v1.87.0
func ShouldEnforceSpreadAcrossHosts(ctx context.Context, cl client.Client, zones []string) (bool, error)
ShouldEnforceSpreadAcrossHosts checks whether all given zones have at least two nodes so that Istio can be spread across hosts in each zone.
func SnapshotEtcd ¶
func SnapshotEtcd(ctx context.Context, secretsManager secretsmanager.Interface, etcdMain etcd.Interface) error
SnapshotEtcd performs a full snapshot on ETCD main.
Types ¶
This section is empty.