Documentation ¶
Index ¶
- Constants
- Variables
- func CheckTunnelConnection(ctx context.Context, log logr.Logger, shootClient kubernetes.Interface, ...) (bool, error)
- func CleanVolumeAttachments(ctx context.Context, c client.Client) error
- func CloudConfigUpdatedForAllWorkerPools(workers []gardencorev1beta1.Worker, workerPoolToNodes map[string][]corev1.Node, ...) error
- func ExtractZonesFromNodeSelectorTerm(term corev1.NodeSelectorTerm) []string
- func WorkerPoolToCloudConfigSecretMetaMap(ctx context.Context, shootClient client.Client) (map[string]metav1.ObjectMeta, error)
- func WorkerPoolToNodesMap(ctx context.Context, shootClient client.Client) (map[string][]corev1.Node, error)
- type Botanist
- func (b *Botanist) APIServerSNIEnabled() bool
- func (b *Botanist) APIServerSNIPodMutatorEnabled() bool
- func (b *Botanist) CleanExtendedAPIs(ctx context.Context) error
- func (b *Botanist) CleanKubernetesResources(ctx context.Context) error
- func (b *Botanist) CleanShootNamespaces(ctx context.Context) error
- func (b *Botanist) CleanWebhooks(ctx context.Context) error
- func (b *Botanist) CleanupOrphanedDNSRecordSecrets(ctx context.Context) error
- func (b *Botanist) CreateNewServiceAccountSecrets(ctx context.Context) error
- func (b *Botanist) DefaultClusterAutoscaler() (clusterautoscaler.Interface, error)
- func (b *Botanist) DefaultClusterIdentity() clusteridentity.Interface
- func (b *Botanist) DefaultContainerRuntime() containerruntime.Interface
- func (b *Botanist) DefaultControlPlane(purpose extensionsv1alpha1.Purpose) extensionscontrolplane.Interface
- func (b *Botanist) DefaultCoreBackupEntry() corebackupentry.Interface
- func (b *Botanist) DefaultCoreDNS() (coredns.Interface, error)
- func (b *Botanist) DefaultDependencyWatchdogAccess() component.Deployer
- func (b *Botanist) DefaultEtcd(role string, class etcd.Class) (etcd.Interface, error)
- func (b *Botanist) DefaultEtcdCopyBackupsTask() etcdcopybackupstask.Interface
- func (b *Botanist) DefaultEventLogger() (component.Deployer, error)
- func (b *Botanist) DefaultExtension(ctx context.Context) (extension.Interface, error)
- func (b *Botanist) DefaultExternalDNSRecord() extensionsdnsrecord.Interface
- func (b *Botanist) DefaultGardenerAccess() component.Deployer
- func (b *Botanist) DefaultInfrastructure() infrastructure.Interface
- func (b *Botanist) DefaultIngressDNSRecord() extensionsdnsrecord.Interface
- func (b *Botanist) DefaultInternalDNSRecord() extensionsdnsrecord.Interface
- func (b *Botanist) DefaultKubeAPIServer(ctx context.Context) (kubeapiserver.Interface, error)
- func (b *Botanist) DefaultKubeAPIServerSNI() component.DeployWaiter
- func (b *Botanist) DefaultKubeAPIServerService(sniPhase component.Phase) component.DeployWaiter
- func (b *Botanist) DefaultKubeControllerManager() (kubecontrollermanager.Interface, error)
- func (b *Botanist) DefaultKubeProxy() (kubeproxy.Interface, error)
- func (b *Botanist) DefaultKubeScheduler() (kubescheduler.Interface, error)
- func (b *Botanist) DefaultKubeStateMetrics() (kubestatemetrics.Interface, error)
- func (b *Botanist) DefaultKubernetesDashboard() (kubernetesdashboard.Interface, error)
- func (b *Botanist) DefaultMetricsServer() (component.DeployWaiter, error)
- func (b *Botanist) DefaultNetwork() component.DeployMigrateWaiter
- func (b *Botanist) DefaultNetworkPolicies() component.Deployer
- func (b *Botanist) DefaultNginxIngress() (component.DeployWaiter, error)
- func (b *Botanist) DefaultNodeLocalDNS() (nodelocaldns.Interface, error)
- func (b *Botanist) DefaultNodeProblemDetector() (component.DeployWaiter, error)
- func (b *Botanist) DefaultOperatingSystemConfig() (operatingsystemconfig.Interface, error)
- func (b *Botanist) DefaultOwnerDNSRecord() extensionsdnsrecord.Interface
- func (b *Botanist) DefaultResourceManager() (resourcemanager.Interface, error)
- func (b *Botanist) DefaultShootNamespaces() component.DeployWaiter
- func (b *Botanist) DefaultShootSystem() component.DeployWaiter
- func (b *Botanist) DefaultVPNSeedServer() (vpnseedserver.Interface, error)
- func (b *Botanist) DefaultVPNShoot() (vpnshoot.Interface, error)
- func (b *Botanist) DefaultVerticalPodAutoscaler() (vpa.Interface, error)
- func (b *Botanist) DefaultWorker() worker.Interface
- func (b *Botanist) DeleteBastions(ctx context.Context) error
- func (b *Botanist) DeleteDeprecatedGrafana(ctx context.Context) error
- func (b *Botanist) DeleteGrafana(ctx context.Context) error
- func (b *Botanist) DeleteKubeAPIServer(ctx context.Context) error
- func (b *Botanist) DeleteManagedResources(ctx context.Context) error
- func (b *Botanist) DeleteOldServiceAccountSecrets(ctx context.Context) error
- func (b *Botanist) DeleteSeedMonitoring(ctx context.Context) error
- func (b *Botanist) DeleteSeedNamespace(ctx context.Context) error
- func (b *Botanist) DeployBackupEntry(ctx context.Context) error
- func (b *Botanist) DeployCloudProviderSecret(ctx context.Context) error
- func (b *Botanist) DeployClusterAutoscaler(ctx context.Context) error
- func (b *Botanist) DeployClusterIdentity(ctx context.Context) error
- func (b *Botanist) DeployContainerRuntime(ctx context.Context) error
- func (b *Botanist) DeployControlPlane(ctx context.Context) error
- func (b *Botanist) DeployControlPlaneExposure(ctx context.Context) error
- func (b *Botanist) DeployCoreDNS(ctx context.Context) error
- func (b *Botanist) DeployDependencyWatchdogAccess(ctx context.Context) error
- func (b *Botanist) DeployEtcd(ctx context.Context) error
- func (b *Botanist) DeployEtcdCopyBackupsTask(ctx context.Context) error
- func (b *Botanist) DeployExtensionsAfterKubeAPIServer(ctx context.Context) error
- func (b *Botanist) DeployExtensionsBeforeKubeAPIServer(ctx context.Context) error
- func (b *Botanist) DeployGardenerResourceManager(ctx context.Context) error
- func (b *Botanist) DeployInfrastructure(ctx context.Context) error
- func (b *Botanist) DeployKubeAPIServer(ctx context.Context) error
- func (b *Botanist) DeployKubeAPIServerSNI(ctx context.Context) error
- func (b *Botanist) DeployKubeAPIService(ctx context.Context, sniPhase component.Phase) error
- func (b *Botanist) DeployKubeControllerManager(ctx context.Context) error
- func (b *Botanist) DeployKubeProxy(ctx context.Context) error
- func (b *Botanist) DeployKubeStateMetrics(ctx context.Context) error
- func (b *Botanist) DeployKubernetesDashboard(ctx context.Context) error
- func (b *Botanist) DeployManagedResourceForAddons(ctx context.Context) error
- func (b *Botanist) DeployManagedResourceForCloudConfigExecutor(ctx context.Context) error
- func (b *Botanist) DeployNetwork(ctx context.Context) error
- func (b *Botanist) DeployNginxIngressAddon(ctx context.Context) error
- func (b *Botanist) DeployOperatingSystemConfig(ctx context.Context) error
- func (b *Botanist) DeployOrDestroyExternalDNSRecord(ctx context.Context) error
- func (b *Botanist) DeployOrDestroyIngressDNSRecord(ctx context.Context) error
- func (b *Botanist) DeployOrDestroyInternalDNSRecord(ctx context.Context) error
- func (b *Botanist) DeployOrDestroyOwnerDNSRecord(ctx context.Context) error
- func (b *Botanist) DeployOwnerDNSRecord(ctx context.Context) error
- func (b *Botanist) DeployOwnerDNSResources(ctx context.Context) error
- func (b *Botanist) DeployReferencedResources(ctx context.Context) error
- func (b *Botanist) DeploySeedGrafana(ctx context.Context) error
- func (b *Botanist) DeploySeedLogging(ctx context.Context) error
- func (b *Botanist) DeploySeedMonitoring(ctx context.Context) error
- func (b *Botanist) DeploySeedNamespace(ctx context.Context) error
- func (b *Botanist) DeploySourceBackupEntry(ctx context.Context) error
- func (b *Botanist) DeployVPNServer(ctx context.Context) error
- func (b *Botanist) DeployVerticalPodAutoscaler(ctx context.Context) error
- func (b *Botanist) DeployWorker(ctx context.Context) error
- func (b *Botanist) DestroyDNSRecords(ctx context.Context) error
- func (b *Botanist) DestroyEtcd(ctx context.Context) error
- func (b *Botanist) DestroyExtensionResourcesInParallel(ctx context.Context) error
- func (b *Botanist) DestroyExternalDNSRecord(ctx context.Context) error
- func (b *Botanist) DestroyIngressDNSRecord(ctx context.Context) error
- func (b *Botanist) DestroyInternalDNSRecord(ctx context.Context) error
- func (b *Botanist) DestroyOwnerDNSRecord(ctx context.Context) error
- func (b *Botanist) DestroyOwnerDNSResources(ctx context.Context) error
- func (b *Botanist) DestroyReferencedResources(ctx context.Context) error
- func (b *Botanist) DestroySourceBackupEntry(ctx context.Context) error
- func (b *Botanist) EnsureShootClusterIdentity(ctx context.Context) error
- func (b *Botanist) HibernateControlPlane(ctx context.Context) error
- func (b *Botanist) InitializeSecretsManagement(ctx context.Context) error
- func (b *Botanist) IsCopyOfBackupsRequired(ctx context.Context) (bool, error)
- func (b *Botanist) KeepObjectsForManagedResources(ctx context.Context) error
- func (b *Botanist) MigrateExtensionResourcesInParallel(ctx context.Context) (err error)
- func (b *Botanist) MigrateExternalDNSRecord(ctx context.Context) error
- func (b *Botanist) MigrateIngressDNSRecord(ctx context.Context) error
- func (b *Botanist) MigrateInternalDNSRecord(ctx context.Context) error
- func (b *Botanist) MigrateOwnerDNSRecord(ctx context.Context) error
- func (b *Botanist) MigrateOwnerDNSResources(ctx context.Context) error
- func (b *Botanist) NeedsExternalDNS() bool
- func (b *Botanist) NeedsIngressDNS() bool
- func (b *Botanist) NeedsInternalDNS() bool
- func (b *Botanist) ReconcileNodeLocalDNS(ctx context.Context) error
- func (b *Botanist) RenewShootAccessSecrets(ctx context.Context) error
- func (b *Botanist) RequiredExtensionsReady(ctx context.Context) error
- func (b *Botanist) RestartControlPlanePods(ctx context.Context) error
- func (b *Botanist) RestoreControlPlane(ctx context.Context) error
- func (b *Botanist) RewriteSecretsAddLabel(ctx context.Context) error
- func (b *Botanist) RewriteSecretsRemoveLabel(ctx context.Context) error
- func (b *Botanist) SNIPhase(ctx context.Context) (component.Phase, error)
- func (b *Botanist) ScaleETCDToZero(ctx context.Context) error
- func (b *Botanist) ScaleGardenerResourceManagerToOne(ctx context.Context) error
- func (b *Botanist) ScaleKubeAPIServerToOne(ctx context.Context) error
- func (b *Botanist) ScaleKubeControllerManagerToOne(ctx context.Context) error
- func (b *Botanist) ScaleUpETCD(ctx context.Context) error
- func (b *Botanist) SetNginxIngressAddress(address string, seedClient client.Client)
- func (b *Botanist) SnapshotETCDAfterRewritingSecrets(ctx context.Context) error
- func (b *Botanist) SnapshotEtcd(ctx context.Context) error
- func (b *Botanist) SourceBackupEntry() corebackupentry.Interface
- func (b *Botanist) WaitForInfrastructure(ctx context.Context) error
- func (b *Botanist) WaitForKubeControllerManagerToBeActive(ctx context.Context) error
- func (b *Botanist) WaitUntilCloudConfigUpdatedForAllWorkerPools(ctx context.Context) error
- func (b *Botanist) WaitUntilEndpointsDoNotContainPodIPs(ctx context.Context) error
- func (b *Botanist) WaitUntilEtcdsDeleted(ctx context.Context) error
- func (b *Botanist) WaitUntilEtcdsReady(ctx context.Context) error
- func (b *Botanist) WaitUntilExtensionResourcesDeleted(ctx context.Context) error
- func (b *Botanist) WaitUntilExtensionResourcesMigrated(ctx context.Context) error
- func (b *Botanist) WaitUntilManagedResourcesDeleted(ctx context.Context) error
- func (b *Botanist) WaitUntilNginxIngressServiceIsReady(ctx context.Context) error
- func (b *Botanist) WaitUntilNoPodRunning(ctx context.Context) error
- func (b *Botanist) WaitUntilNodesDeleted(ctx context.Context) error
- func (b *Botanist) WaitUntilRequiredExtensionsReady(ctx context.Context) error
- func (b *Botanist) WaitUntilSeedNamespaceDeleted(ctx context.Context) error
- func (b *Botanist) WaitUntilShootManagedResourcesDeleted(ctx context.Context) error
- func (b *Botanist) WaitUntilTunnelConnectionExists(ctx context.Context) error
- func (b *Botanist) WakeUpKubeAPIServer(ctx context.Context) error
Constants ¶
const ( // Provider is the kubernetes provider label. Provider = "provider" // KubernetesProvider is the 'kubernetes' value of the Provider label. KubernetesProvider = "kubernetes" // KubeAggregatorAutoManaged is the label whether an APIService is automanaged by kube-aggregator. KubeAggregatorAutoManaged = autoregister.AutoRegisterManagedLabel // MetadataNameField ist the `metadata.name` field for a field selector. MetadataNameField = "metadata.name" )
const CloudConfigExecutionManagedResourceName = "shoot-cloud-config-execution"
CloudConfigExecutionManagedResourceName is a constant for the name of a ManagedResource in the seed cluster in the shoot namespace which contains the cloud config user data execution script.
const (
// DNSRecordSecretPrefix is a constant for prefixing secrets referenced by DNSRecords
DNSRecordSecretPrefix = "dnsrecord"
)
const DefaultInterval = 5 * time.Second
DefaultInterval is the default interval for retry operations.
const (
// ManagedResourceName is the name of the managed resource used to deploy referenced resources to the Seed cluster.
ManagedResourceName = "referenced-resources"
)
const (
// SecretLabelKeyManagedResource is a key for a label on a secret with the value 'managed-resource'.
SecretLabelKeyManagedResource = "managed-resource"
)
Variables ¶
var ( // FinalizeAfterFiveMinutes is an option to finalize resources after five minutes. FinalizeAfterFiveMinutes = utilclient.FinalizeGracePeriodSeconds(5 * 60) // FinalizeAfterOneHour is an option to finalize resources after one hour. FinalizeAfterOneHour = utilclient.FinalizeGracePeriodSeconds(60 * 60) // ZeroGracePeriod can be used for deleting resources with no grace period. ZeroGracePeriod = client.GracePeriodSeconds(0) // GracePeriodFiveMinutes can be used for deleting resources with a grace period of five minutes. GracePeriodFiveMinutes = client.GracePeriodSeconds(5 * 60) // NotSystemComponent is a requirement that something doesn't have the GardenRole GardenRoleSystemComponent. NotSystemComponent = utils.MustNewRequirement(v1beta1constants.GardenRole, selection.NotEquals, v1beta1constants.GardenRoleSystemComponent) // NoCleanupPrevention is a requirement that the ShootNoCleanup label of something is not true. NoCleanupPrevention = utils.MustNewRequirement(v1beta1constants.ShootNoCleanup, selection.NotEquals, "true") // NotKubernetesProvider is a requirement that the Provider label of something is not KubernetesProvider. NotKubernetesProvider = utils.MustNewRequirement(Provider, selection.NotEquals, KubernetesProvider) // NotKubeAggregatorAutoManaged is a requirement that something is not auto-managed by Kube-Aggregator. NotKubeAggregatorAutoManaged = utils.MustNewRequirement(KubeAggregatorAutoManaged, selection.DoesNotExist) // CleanupSelector is a selector that excludes system components and all resources not considered for auto cleanup. CleanupSelector = labels.NewSelector().Add(NotSystemComponent).Add(NoCleanupPrevention) // NoCleanupPreventionListOption are CollectionMatching that exclude system components or non-auto cleaned up resource. NoCleanupPreventionListOption = client.MatchingLabelsSelector{Selector: CleanupSelector} // MutatingWebhookConfigurationCleanOption is the delete selector for MutatingWebhookConfigurations. MutatingWebhookConfigurationCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // ValidatingWebhookConfigurationCleanOption is the delete selector for ValidatingWebhookConfigurations. ValidatingWebhookConfigurationCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // CustomResourceDefinitionCleanOption is the delete selector for CustomResources. CustomResourceDefinitionCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // DaemonSetCleanOption is the delete selector for DaemonSets. DaemonSetCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // DeploymentCleanOption is the delete selector for Deployments. DeploymentCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // StatefulSetCleanOption is the delete selector for StatefulSets. StatefulSetCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // ServiceCleanOption is the delete selector for Services. ServiceCleanOption = utilclient.ListWith{ client.MatchingLabelsSelector{ Selector: labels.NewSelector().Add(NotKubernetesProvider, NotSystemComponent, NoCleanupPrevention), }, } // NamespaceMatchingLabelsSelector is the delete label selector for Namespaces. NamespaceMatchingLabelsSelector = utilclient.ListWith{&NoCleanupPreventionListOption} // NamespaceMatchingFieldsSelector is the delete field selector for Namespaces. NamespaceMatchingFieldsSelector = utilclient.ListWith{ client.MatchingFieldsSelector{ Selector: fields.AndSelectors( fields.OneTermNotEqualSelector(MetadataNameField, metav1.NamespacePublic), fields.OneTermNotEqualSelector(MetadataNameField, metav1.NamespaceSystem), fields.OneTermNotEqualSelector(MetadataNameField, metav1.NamespaceDefault), fields.OneTermNotEqualSelector(MetadataNameField, corev1.NamespaceNodeLease), ), }, } // APIServiceCleanOption is the delete selector for APIServices. APIServiceCleanOption = utilclient.ListWith{ client.MatchingLabelsSelector{ Selector: labels.NewSelector().Add(NotSystemComponent, NotKubeAggregatorAutoManaged), }, } // CronJobCleanOption is the delete selector for CronJobs. CronJobCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // IngressCleanOption is the delete selector for Ingresses. IngressCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // JobCleanOption is the delete selector for Jobs. JobCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // PodCleanOption is the delete selector for Pods. PodCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // ReplicaSetCleanOption is the delete selector for ReplicaSets. ReplicaSetCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // ReplicationControllerCleanOption is the delete selector for ReplicationControllers. ReplicationControllerCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // PersistentVolumeClaimCleanOption is the delete selector for PersistentVolumeClaims. PersistentVolumeClaimCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // VolumeSnapshotCleanOption is the delete selector for VolumeSnapshots. VolumeSnapshotCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // VolumeSnapshotContentCleanOption is the delete selector for VolumeSnapshotContents. VolumeSnapshotContentCleanOption = utilclient.ListWith{&NoCleanupPreventionListOption} // NamespaceErrorToleration are the errors to be tolerated during deletion. NamespaceErrorToleration = utilclient.TolerateErrors{apierrors.IsConflict} )
var ( // ExecutorScriptFn is a function for computing the cloud config user data executor script. ExecutorScriptFn = executor.Script // DownloaderGenerateRBACResourcesDataFn is a function for generating the RBAC resources data map for the cloud // config user data executor scripts downloader. DownloaderGenerateRBACResourcesDataFn = downloader.GenerateRBACResourcesData )
exposed for testing
var ( // IntervalWaitCloudConfigUpdated is the interval when waiting until the cloud config was updated for all worker pools. IntervalWaitCloudConfigUpdated = 5 * time.Second // GetTimeoutWaitCloudConfigUpdated retrieves the timeout when waiting until the cloud config was updated for all worker pools. GetTimeoutWaitCloudConfigUpdated = getTimeoutWaitCloudConfigUpdated )
exposed for testing
var ( // ChartsPath is an alias for charts.Path. Exposed for testing. ChartsPath = charts.Path )
var NewEtcd = etcd.New
NewEtcd is a function exposed for testing.
var NewEtcdCopyBackupsTask = etcdcopybackupstask.New
NewEtcdCopyBackupsTask is a function exposed for testing.
var NewNetworkPoliciesDeployer = networkpolicies.New
NewNetworkPoliciesDeployer is an alias for networkpolicies.New. Exposed for testing.
var NowFunc = time.Now
NowFunc is a function returning the current time. Exposed for testing.
var SetupPortForwarder = kubernetes.SetupPortForwarder
SetupPortForwarder is an alias for kubernetes.SetupPortForwarder, exposed for testing
var TimeoutWaitForGardenerResourceManagerBootstrapping = 2 * time.Minute
TimeoutWaitForGardenerResourceManagerBootstrapping is the maximum time the bootstrap process for the gardener-resource-manager may take. Exposed for testing.
Functions ¶
func CheckTunnelConnection ¶ added in v1.25.0
func CheckTunnelConnection(ctx context.Context, log logr.Logger, shootClient kubernetes.Interface, tunnelName string) (bool, error)
CheckTunnelConnection checks if the tunnel connection between the control plane and the shoot networks is established.
func CleanVolumeAttachments ¶ added in v1.22.0
CleanVolumeAttachments cleans up all VolumeAttachments in the cluster, waits for them to be gone and finalizes any remaining ones after five minutes.
func CloudConfigUpdatedForAllWorkerPools ¶ added in v1.16.0
func CloudConfigUpdatedForAllWorkerPools( workers []gardencorev1beta1.Worker, workerPoolToNodes map[string][]corev1.Node, workerPoolToCloudConfigSecretMeta map[string]metav1.ObjectMeta, ) error
CloudConfigUpdatedForAllWorkerPools checks if all the nodes for all the provided worker pools have successfully applied the desired version of their cloud-config user data.
func ExtractZonesFromNodeSelectorTerm ¶ added in v1.60.1
func ExtractZonesFromNodeSelectorTerm(term corev1.NodeSelectorTerm) []string
ExtractZonesFromNodeSelectorTerm extracts the zones from given term.
func WorkerPoolToCloudConfigSecretMetaMap ¶ added in v1.55.0
func WorkerPoolToCloudConfigSecretMetaMap(ctx context.Context, shootClient client.Client) (map[string]metav1.ObjectMeta, error)
WorkerPoolToCloudConfigSecretMetaMap lists all the cloud-config secrets with the given client in the shoot cluster. It returns a map whose key is the name of a worker pool and whose values are the corresponding metadata of the cloud-config script stored inside the secret's data.
func WorkerPoolToNodesMap ¶ added in v1.16.0
func WorkerPoolToNodesMap(ctx context.Context, shootClient client.Client) (map[string][]corev1.Node, error)
WorkerPoolToNodesMap lists all the nodes with the given client in the shoot cluster. It returns a map whose key is the name of a worker pool and whose values are the corresponding nodes.
Types ¶
type Botanist ¶
Botanist is a struct which has methods that perform cloud-independent operations for a Shoot cluster.
func New ¶
New takes an operation object <o> and creates a new Botanist object. It checks whether the given Shoot DNS domain is covered by a default domain, and if so, it sets the <DefaultDomainSecret> attribute on the Botanist object.
func (*Botanist) APIServerSNIEnabled ¶ added in v1.7.0
APIServerSNIEnabled returns true if APIServerSNI feature gate is enabled and the shoot uses internal and external DNS.
func (*Botanist) APIServerSNIPodMutatorEnabled ¶ added in v1.13.0
APIServerSNIPodMutatorEnabled returns false if the value of the Shoot annotation 'alpha.featuregates.shoot.gardener.cloud/apiserver-sni-pod-injector' is 'disable' or APIServerSNI feature is disabled.
func (*Botanist) CleanExtendedAPIs ¶
CleanExtendedAPIs removes API extensions like CRDs and API services from the Shoot cluster.
func (*Botanist) CleanKubernetesResources ¶
CleanKubernetesResources deletes all the Kubernetes resources in the Shoot cluster other than those stored in the exceptions map. It will check whether all the Kubernetes resources in the Shoot cluster other than those stored in the exceptions map have been deleted. It will return an error in case it has not finished yet, and nil if all resources are gone.
func (*Botanist) CleanShootNamespaces ¶
CleanShootNamespaces deletes all non-system namespaces in the Shoot cluster. It assumes that all workload resources are cleaned up in previous step(s).
func (*Botanist) CleanWebhooks ¶
CleanWebhooks deletes all Webhooks in the Shoot cluster that are not being managed by the addon manager.
func (*Botanist) CleanupOrphanedDNSRecordSecrets ¶ added in v1.38.0
CleanupOrphanedDNSRecordSecrets cleans up secrets related to DNSRecords which may be orphaned after introducing the 'dnsrecord-' prefix
func (*Botanist) CreateNewServiceAccountSecrets ¶ added in v1.48.0
CreateNewServiceAccountSecrets creates new secrets for all service accounts in the shoot cluster. This should only be executed in the 'Preparing' phase of the service account signing key rotation operation.
func (*Botanist) DefaultClusterAutoscaler ¶ added in v1.11.0
func (b *Botanist) DefaultClusterAutoscaler() (clusterautoscaler.Interface, error)
DefaultClusterAutoscaler returns a deployer for the cluster-autoscaler.
func (*Botanist) DefaultClusterIdentity ¶ added in v1.24.0
func (b *Botanist) DefaultClusterIdentity() clusteridentity.Interface
DefaultClusterIdentity returns a deployer for the shoot's cluster-identity.
func (*Botanist) DefaultContainerRuntime ¶ added in v1.10.0
func (b *Botanist) DefaultContainerRuntime() containerruntime.Interface
DefaultContainerRuntime creates the default deployer for the ContainerRuntime custom resource.
func (*Botanist) DefaultControlPlane ¶ added in v1.14.0
func (b *Botanist) DefaultControlPlane(purpose extensionsv1alpha1.Purpose) extensionscontrolplane.Interface
DefaultControlPlane creates the default deployer for the ControlPlane custom resource with the given purpose.
func (*Botanist) DefaultCoreBackupEntry ¶ added in v1.16.0
func (b *Botanist) DefaultCoreBackupEntry() corebackupentry.Interface
DefaultCoreBackupEntry creates the default deployer for the core.gardener.cloud/v1beta1.BackupEntry resource.
func (*Botanist) DefaultCoreDNS ¶ added in v1.32.0
DefaultCoreDNS returns a deployer for the CoreDNS.
func (*Botanist) DefaultDependencyWatchdogAccess ¶ added in v1.38.0
DefaultDependencyWatchdogAccess returns an instance of the Deployer which reconciles the resources so that DependencyWatchdogAccess can access a shoot cluster.
func (*Botanist) DefaultEtcd ¶ added in v1.13.0
DefaultEtcd returns a deployer for the etcd.
func (*Botanist) DefaultEtcdCopyBackupsTask ¶ added in v1.37.0
func (b *Botanist) DefaultEtcdCopyBackupsTask() etcdcopybackupstask.Interface
DefaultEtcdCopyBackupsTask creates the default deployer for the EtcdCopyBackupsTask resource.
func (*Botanist) DefaultEventLogger ¶ added in v1.53.0
DefaultEventLogger returns a deployer for the shoot-event-logger.
func (*Botanist) DefaultExtension ¶ added in v1.16.0
DefaultExtension creates the default deployer for the Extension custom resources.
func (*Botanist) DefaultExternalDNSRecord ¶ added in v1.27.0
func (b *Botanist) DefaultExternalDNSRecord() extensionsdnsrecord.Interface
DefaultExternalDNSRecord creates the default deployer for the external DNSRecord resource.
func (*Botanist) DefaultGardenerAccess ¶ added in v1.38.0
DefaultGardenerAccess returns an instance of the Deployer which reconciles the resources so that GardenerAccess can access a shoot cluster.
func (*Botanist) DefaultInfrastructure ¶ added in v1.8.0
func (b *Botanist) DefaultInfrastructure() infrastructure.Interface
DefaultInfrastructure creates the default deployer for the Infrastructure custom resource.
func (*Botanist) DefaultIngressDNSRecord ¶ added in v1.27.0
func (b *Botanist) DefaultIngressDNSRecord() extensionsdnsrecord.Interface
DefaultIngressDNSRecord creates the default deployer for the ingress DNSRecord resource.
func (*Botanist) DefaultInternalDNSRecord ¶ added in v1.27.0
func (b *Botanist) DefaultInternalDNSRecord() extensionsdnsrecord.Interface
DefaultInternalDNSRecord creates the default deployer for the internal DNSRecord resource.
func (*Botanist) DefaultKubeAPIServer ¶ added in v1.28.0
DefaultKubeAPIServer returns a deployer for the kube-apiserver.
func (*Botanist) DefaultKubeAPIServerSNI ¶ added in v1.7.0
func (b *Botanist) DefaultKubeAPIServerSNI() component.DeployWaiter
DefaultKubeAPIServerSNI returns a deployer for the kube-apiserver SNI.
func (*Botanist) DefaultKubeAPIServerService ¶ added in v1.7.0
func (b *Botanist) DefaultKubeAPIServerService(sniPhase component.Phase) component.DeployWaiter
DefaultKubeAPIServerService returns a deployer for the kube-apiserver service.
func (*Botanist) DefaultKubeControllerManager ¶ added in v1.12.0
func (b *Botanist) DefaultKubeControllerManager() (kubecontrollermanager.Interface, error)
DefaultKubeControllerManager returns a deployer for the kube-controller-manager.
func (*Botanist) DefaultKubeProxy ¶ added in v1.41.0
DefaultKubeProxy returns a deployer for the kube-proxy.
func (*Botanist) DefaultKubeScheduler ¶ added in v1.10.0
func (b *Botanist) DefaultKubeScheduler() (kubescheduler.Interface, error)
DefaultKubeScheduler returns a deployer for the kube-scheduler.
func (*Botanist) DefaultKubeStateMetrics ¶ added in v1.51.0
func (b *Botanist) DefaultKubeStateMetrics() (kubestatemetrics.Interface, error)
DefaultKubeStateMetrics returns a deployer for the kube-state-metrics.
func (*Botanist) DefaultKubernetesDashboard ¶ added in v1.63.0
func (b *Botanist) DefaultKubernetesDashboard() (kubernetesdashboard.Interface, error)
DefaultKubernetesDashboard returns a deployer for kubernetes-dashboard.
func (*Botanist) DefaultMetricsServer ¶ added in v1.13.0
func (b *Botanist) DefaultMetricsServer() (component.DeployWaiter, error)
DefaultMetricsServer returns a deployer for the metrics-server.
func (*Botanist) DefaultNetwork ¶ added in v1.7.0
func (b *Botanist) DefaultNetwork() component.DeployMigrateWaiter
DefaultNetwork creates the default deployer for the Network custom resource.
func (*Botanist) DefaultNetworkPolicies ¶ added in v1.22.0
DefaultNetworkPolicies returns a deployer for the network policies that deny all traffic and allow certain components to use annotations to declare their desire to transmit/receive traffic to/from other Pods/IP addresses.
func (*Botanist) DefaultNginxIngress ¶ added in v1.63.0
func (b *Botanist) DefaultNginxIngress() (component.DeployWaiter, error)
DefaultNginxIngress returns a deployer for the nginxingress.
func (*Botanist) DefaultNodeLocalDNS ¶ added in v1.39.0
func (b *Botanist) DefaultNodeLocalDNS() (nodelocaldns.Interface, error)
DefaultNodeLocalDNS returns a deployer for the node-local-dns.
func (*Botanist) DefaultNodeProblemDetector ¶ added in v1.39.0
func (b *Botanist) DefaultNodeProblemDetector() (component.DeployWaiter, error)
DefaultNodeProblemDetector returns a deployer for the NodeProblemDetector.
func (*Botanist) DefaultOperatingSystemConfig ¶ added in v1.17.0
func (b *Botanist) DefaultOperatingSystemConfig() (operatingsystemconfig.Interface, error)
DefaultOperatingSystemConfig creates the default deployer for the OperatingSystemConfig custom resource.
func (*Botanist) DefaultOwnerDNSRecord ¶ added in v1.32.0
func (b *Botanist) DefaultOwnerDNSRecord() extensionsdnsrecord.Interface
DefaultOwnerDNSRecord creates the default deployer for the owner DNSRecord resource.
func (*Botanist) DefaultResourceManager ¶ added in v1.17.0
func (b *Botanist) DefaultResourceManager() (resourcemanager.Interface, error)
DefaultResourceManager returns an instance of Gardener Resource Manager with defaults configured for being deployed in a Shoot namespace
func (*Botanist) DefaultShootNamespaces ¶ added in v1.14.0
func (b *Botanist) DefaultShootNamespaces() component.DeployWaiter
DefaultShootNamespaces returns a deployer for the shoot namespaces.
func (*Botanist) DefaultShootSystem ¶ added in v1.41.0
func (b *Botanist) DefaultShootSystem() component.DeployWaiter
DefaultShootSystem returns a deployer for the shoot system resources.
func (*Botanist) DefaultVPNSeedServer ¶ added in v1.22.0
func (b *Botanist) DefaultVPNSeedServer() (vpnseedserver.Interface, error)
DefaultVPNSeedServer returns a deployer for the vpn-seed-server.
func (*Botanist) DefaultVPNShoot ¶ added in v1.38.0
DefaultVPNShoot returns a deployer for the VPNShoot
func (*Botanist) DefaultVerticalPodAutoscaler ¶ added in v1.45.0
DefaultVerticalPodAutoscaler returns a deployer for the Kubernetes Vertical Pod Autoscaler.
func (*Botanist) DefaultWorker ¶ added in v1.16.0
DefaultWorker creates the default deployer for the Worker custom resource.
func (*Botanist) DeleteBastions ¶ added in v1.63.0
DeleteBastions deletes all bastions from the Shoot namespace in the Seed.
func (*Botanist) DeleteDeprecatedGrafana ¶ added in v1.64.0
DeleteDeprecatedGrafana will delete all deprecated grafana instances from the seed cluster. TODO(istvanballok): Remove in a future release
func (*Botanist) DeleteGrafana ¶ added in v1.21.0
DeleteGrafana will delete all grafana resources from the seed cluster.
func (*Botanist) DeleteKubeAPIServer ¶
DeleteKubeAPIServer deletes the kube-apiserver deployment in the Seed cluster which holds the Shoot's control plane.
func (*Botanist) DeleteManagedResources ¶
DeleteManagedResources deletes all managed resources labeled with `origin=gardener` from the Shoot namespace in the Seed.
func (*Botanist) DeleteOldServiceAccountSecrets ¶ added in v1.48.0
DeleteOldServiceAccountSecrets deletes old secrets for all service accounts in the shoot cluster. This should only be executed in the 'Completing' phase of the service account signing key rotation operation.
func (*Botanist) DeleteSeedMonitoring ¶
DeleteSeedMonitoring will delete the monitoring stack from the Seed cluster to avoid phantom alerts during the deletion process. More precisely, the Alertmanager and Prometheus StatefulSets will be deleted.
func (*Botanist) DeleteSeedNamespace ¶ added in v1.14.0
DeleteSeedNamespace deletes the namespace in the Seed cluster which holds the control plane components. The built-in garbage collection in Kubernetes will automatically delete all resources which belong to this namespace. This comprises volumes and load balancers as well.
func (*Botanist) DeployBackupEntry ¶ added in v1.22.0
DeployBackupEntry deploys the BackupEntry resource in the Garden cluster and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration.
func (*Botanist) DeployCloudProviderSecret ¶
DeployCloudProviderSecret creates or updates the cloud provider secret in the Shoot namespace in the Seed cluster.
func (*Botanist) DeployClusterAutoscaler ¶
DeployClusterAutoscaler deploys the Kubernetes cluster-autoscaler.
func (*Botanist) DeployClusterIdentity ¶ added in v1.24.0
DeployClusterIdentity deploys the shoot's cluster-identity.
func (*Botanist) DeployContainerRuntime ¶ added in v1.10.0
DeployContainerRuntime deploys the ContainerRuntime custom resources and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration
func (*Botanist) DeployControlPlane ¶
DeployControlPlane deploys or restores the ControlPlane custom resource (purpose normal).
func (*Botanist) DeployControlPlaneExposure ¶
DeployControlPlaneExposure deploys or restores the ControlPlane custom resource (purpose exposure).
func (*Botanist) DeployCoreDNS ¶ added in v1.32.0
DeployCoreDNS deploys the CoreDNS system component.
func (*Botanist) DeployDependencyWatchdogAccess ¶ added in v1.38.0
DeployDependencyWatchdogAccess deploys the DependencyWatchdogAccess resources.
func (*Botanist) DeployEtcd ¶ added in v1.13.0
DeployEtcd deploys the etcd main and events.
func (*Botanist) DeployEtcdCopyBackupsTask ¶ added in v1.37.0
DeployEtcdCopyBackupsTask sets the target and destination object stores of the EtcdCopyBackupsTask resource and deploys it.
func (*Botanist) DeployExtensionsAfterKubeAPIServer ¶ added in v1.62.0
DeployExtensionsAfterKubeAPIServer deploys the Extension custom resources and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration.
func (*Botanist) DeployExtensionsBeforeKubeAPIServer ¶ added in v1.62.0
DeployExtensionsBeforeKubeAPIServer deploys the Extension custom resources and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration.
func (*Botanist) DeployGardenerResourceManager ¶
DeployGardenerResourceManager deploys the gardener-resource-manager
func (*Botanist) DeployInfrastructure ¶
DeployInfrastructure deploys the Infrastructure custom resource and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration.
func (*Botanist) DeployKubeAPIServer ¶
DeployKubeAPIServer deploys the Kubernetes API server.
func (*Botanist) DeployKubeAPIServerSNI ¶ added in v1.7.0
DeployKubeAPIServerSNI deploys the kube-apiserver-sni chart.
func (*Botanist) DeployKubeAPIService ¶ added in v1.11.0
DeployKubeAPIService deploys the kube-apiserver service.
func (*Botanist) DeployKubeControllerManager ¶
DeployKubeControllerManager deploys the Kubernetes Controller Manager.
func (*Botanist) DeployKubeProxy ¶ added in v1.41.0
DeployKubeProxy deploys the kube-proxy.
func (*Botanist) DeployKubeStateMetrics ¶ added in v1.51.0
DeployKubeStateMetrics deploys or destroys the kube-state-metrics to the shoot namespace in the seed.
func (*Botanist) DeployKubernetesDashboard ¶ added in v1.63.0
DeployKubernetesDashboard deploys the Kubernetes Dashboard component.
func (*Botanist) DeployManagedResourceForAddons ¶ added in v1.17.0
DeployManagedResourceForAddons deploys all the ManagedResource CRDs for the gardener-resource-manager.
func (*Botanist) DeployManagedResourceForCloudConfigExecutor ¶ added in v1.17.0
DeployManagedResourceForCloudConfigExecutor creates the cloud config managed resource that contains: 1. A secret containing the dedicated cloud config execution script for each worker group 2. A secret containing some shared RBAC policies for downloading the cloud config execution script
func (*Botanist) DeployNetwork ¶
DeployNetwork deploys the Network custom resource and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration
func (*Botanist) DeployNginxIngressAddon ¶ added in v1.63.0
DeployNginxIngressAddon deploys the NginxIngress Addon component.
func (*Botanist) DeployOperatingSystemConfig ¶ added in v1.17.0
DeployOperatingSystemConfig deploys the OperatingSystemConfig custom resource and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration.
func (*Botanist) DeployOrDestroyExternalDNSRecord ¶ added in v1.27.0
DeployOrDestroyExternalDNSRecord deploys, restores, or destroys the external DNSRecord and waits for the operation to complete.
func (*Botanist) DeployOrDestroyIngressDNSRecord ¶ added in v1.27.0
DeployOrDestroyIngressDNSRecord deploys, restores, or destroys the ingress DNSRecord and waits for the operation to complete.
func (*Botanist) DeployOrDestroyInternalDNSRecord ¶ added in v1.27.0
DeployOrDestroyInternalDNSRecord deploys, restores, or destroys the internal DNSRecord and waits for the operation to complete.
func (*Botanist) DeployOrDestroyOwnerDNSRecord ¶ added in v1.32.0
DeployOrDestroyOwnerDNSRecord deploys, restores, or destroys the owner DNSRecord and waits for the operation to complete.
func (*Botanist) DeployOwnerDNSRecord ¶ added in v1.32.0
DeployOwnerDNSRecord deploys or restores the owner DNSRecord and waits for the operation to complete.
func (*Botanist) DeployOwnerDNSResources ¶ added in v1.32.0
DeployOwnerDNSResources deploys or deletes the owner DNSRecord resource depending on whether the 'ownerChecks' setting is enabled. * If the ownerChecks is enabled, the DNSRecord resource is deployed (or restored). * Otherwise, it is deleted.
func (*Botanist) DeployReferencedResources ¶ added in v1.6.0
DeployReferencedResources reads all referenced resources from the Garden cluster and writes a managed resource to the Seed cluster.
func (*Botanist) DeploySeedGrafana ¶ added in v1.30.0
DeploySeedGrafana deploys the grafana charts to the Seed cluster.
func (*Botanist) DeploySeedLogging ¶
DeploySeedLogging will install the Helm release "seed-bootstrap/charts/loki" in the Seed clusters.
func (*Botanist) DeploySeedMonitoring ¶
DeploySeedMonitoring installs the Helm release "seed-monitoring" in the Seed clusters. It comprises components to monitor the Shoot cluster whose control plane runs in the Seed cluster.
func (*Botanist) DeploySeedNamespace ¶ added in v1.14.0
DeploySeedNamespace creates a namespace in the Seed cluster which is used to deploy all the control plane components for the Shoot cluster. Moreover, the cloud provider configuration and all the secrets will be stored as ConfigMaps/Secrets.
func (*Botanist) DeploySourceBackupEntry ¶ added in v1.37.0
DeploySourceBackupEntry deploys the source BackupEntry and sets its bucketName to be equal to the bucketName of the shoot's original BackupEntry if the source BackupEntry doesn't already exist.
func (*Botanist) DeployVPNServer ¶ added in v1.22.0
DeployVPNServer deploys the vpn-seed-server.
func (*Botanist) DeployVerticalPodAutoscaler ¶ added in v1.7.0
DeployVerticalPodAutoscaler deploys or destroys the VPA to the shoot namespace in the seed.
func (*Botanist) DeployWorker ¶
DeployWorker deploys the Worker custom resource and triggers the restore operation in case the Shoot is in the restore phase of the control plane migration
func (*Botanist) DestroyDNSRecords ¶ added in v1.29.0
DestroyDNSRecords deletes all DNSRecord resources from the Shoot namespace.
func (*Botanist) DestroyEtcd ¶ added in v1.35.0
DestroyEtcd destroys the etcd main and events.
func (*Botanist) DestroyExtensionResourcesInParallel ¶ added in v1.40.0
DestroyExtensionResourcesInParallel deletes extension CRs from the Shoot namespace. CRs with kind "Extension" are handled separately and are not deleted by this function.
func (*Botanist) DestroyExternalDNSRecord ¶ added in v1.27.0
DestroyExternalDNSRecord destroys the external DNSRecord and waits for the operation to complete.
func (*Botanist) DestroyIngressDNSRecord ¶
DestroyIngressDNSRecord destroys the ingress DNSRecord and waits for the operation to complete.
func (*Botanist) DestroyInternalDNSRecord ¶ added in v1.27.0
DestroyInternalDNSRecord destroys the internal DNSRecord and waits for the operation to complete.
func (*Botanist) DestroyOwnerDNSRecord ¶ added in v1.32.0
DestroyOwnerDNSRecord destroys the owner DNSRecord and waits for the operation to complete.
func (*Botanist) DestroyOwnerDNSResources ¶ added in v1.32.0
DestroyOwnerDNSResources deletes the owner DNSRecord resource if it exists.
func (*Botanist) DestroyReferencedResources ¶ added in v1.6.0
DestroyReferencedResources deletes the managed resource containing referenced resources from the Seed cluster.
func (*Botanist) DestroySourceBackupEntry ¶ added in v1.37.0
DestroySourceBackupEntry destroys the source BackupEntry. It returns nil if the CopyEtcdBackupsDuringControlPlaneMigration feature gate is disabled or the Seed backup is not enabled or the Shoot is not in restore phase.
func (*Botanist) EnsureShootClusterIdentity ¶ added in v1.24.0
EnsureShootClusterIdentity ensures that Shoot's `status.clusterIdentity` field is set and updates the Cluster resource in the seed if necessary.
func (*Botanist) HibernateControlPlane ¶
HibernateControlPlane hibernates the entire control plane if the shoot shall be hibernated.
func (*Botanist) InitializeSecretsManagement ¶ added in v1.43.0
InitializeSecretsManagement initializes the secrets management and deploys the required secrets to the shoot namespace in the seed.
func (*Botanist) IsCopyOfBackupsRequired ¶ added in v1.37.0
IsCopyOfBackupsRequired check if etcd backups need to be copied between seeds.
func (*Botanist) KeepObjectsForManagedResources ¶ added in v1.40.0
KeepObjectsForManagedResources sets ManagedResource.Spec.KeepObjects to true.
func (*Botanist) MigrateExtensionResourcesInParallel ¶ added in v1.40.0
MigrateExtensionResourcesInParallel migrates extension CRs. CRs with kind "Extension" are handled separately and are not migrated by this function.
func (*Botanist) MigrateExternalDNSRecord ¶ added in v1.27.0
MigrateExternalDNSRecord migrates the external DNSRecord and waits for the operation to complete.
func (*Botanist) MigrateIngressDNSRecord ¶ added in v1.8.0
MigrateIngressDNSRecord migrates the ingress DNSRecord and waits for the operation to complete.
func (*Botanist) MigrateInternalDNSRecord ¶ added in v1.27.0
MigrateInternalDNSRecord migrates the internal DNSRecord and waits for the operation to complete.
func (*Botanist) MigrateOwnerDNSRecord ¶ added in v1.32.0
MigrateOwnerDNSRecord migrates the owner DNSRecord and waits for the operation to complete.
func (*Botanist) MigrateOwnerDNSResources ¶ added in v1.32.0
MigrateOwnerDNSResources migrates or deletes the owner DNSRecord resource depending on whether the 'ownerChecks' setting is enabled. * If the ownerChecks is enabled, the DNSRecord resource is migrated. * Otherwise, it is deleted.
func (*Botanist) NeedsExternalDNS ¶ added in v1.5.0
NeedsExternalDNS returns true if the Shoot cluster needs external DNS.
func (*Botanist) NeedsIngressDNS ¶ added in v1.27.0
NeedsIngressDNS returns true if the Shoot cluster needs ingress DNS.
func (*Botanist) NeedsInternalDNS ¶ added in v1.5.0
NeedsInternalDNS returns true if the Shoot cluster needs internal DNS.
func (*Botanist) ReconcileNodeLocalDNS ¶ added in v1.39.0
ReconcileNodeLocalDNS deploys or destroys the node-local-dns component depending on whether it is enabled for the Shoot.
func (*Botanist) RenewShootAccessSecrets ¶ added in v1.48.0
RenewShootAccessSecrets drops the serviceaccount.resources.gardener.cloud/token-renew-timestamp annotation from all shoot access secrets. This will make the TokenRequestor controller part of gardener-resource-manager issuing new tokens immediately.
func (*Botanist) RequiredExtensionsReady ¶ added in v1.3.0
RequiredExtensionsReady checks whether all required extensions needed for a shoot operation exist and are ready.
func (*Botanist) RestartControlPlanePods ¶ added in v1.2.0
RestartControlPlanePods restarts (deletes) pods of the shoot control plane.
func (*Botanist) RestoreControlPlane ¶ added in v1.40.0
RestoreControlPlane restores the ControlPlane custom resource (purpose normal)
func (*Botanist) RewriteSecretsAddLabel ¶ added in v1.48.0
RewriteSecretsAddLabel patches all secrets in all namespaces in the shoot clusters and adds a label whose value is the name of the current ETCD encryption key secret. This function is useful for the ETCD encryption key secret rotation which requires all secrets to be rewritten to ETCD so that they become encrypted with the new key. After it's done, it snapshots ETCD so that we can restore backups in case we lose the cluster before the next incremental snapshot is taken.
func (*Botanist) RewriteSecretsRemoveLabel ¶ added in v1.48.0
RewriteSecretsRemoveLabel patches all secrets in all namespaces in the shoot clusters and removes the label whose value is the name of the current ETCD encryption key secret. This function is useful for the ETCD encryption key secret rotation which requires all secrets to be rewritten to ETCD so that they become encrypted with the new key.
func (*Botanist) SNIPhase ¶ added in v1.11.0
SNIPhase returns the current phase of the SNI enablement of kube-apiserver's service.
func (*Botanist) ScaleETCDToZero ¶ added in v1.5.0
ScaleETCDToZero scales ETCD main and events replicas to zero.
func (*Botanist) ScaleGardenerResourceManagerToOne ¶ added in v1.5.0
ScaleGardenerResourceManagerToOne scales the gardener-resource-manager deployment
func (*Botanist) ScaleKubeAPIServerToOne ¶ added in v1.12.0
ScaleKubeAPIServerToOne scales kube-apiserver replicas to one.
func (*Botanist) ScaleKubeControllerManagerToOne ¶ added in v1.12.0
ScaleKubeControllerManagerToOne scales kube-controller-manager replicas to one.
func (*Botanist) ScaleUpETCD ¶ added in v1.49.0
ScaleUpETCD scales ETCD main and events replicas to the configured replica count.
func (*Botanist) SetNginxIngressAddress ¶ added in v1.5.0
SetNginxIngressAddress sets the IP address of the API server's LoadBalancer.
func (*Botanist) SnapshotETCDAfterRewritingSecrets ¶ added in v1.49.0
SnapshotETCDAfterRewritingSecrets performs a full snapshot on ETCD after the secrets got rewritten as part of the ETCD encryption secret rotation. It adds an annotation to the kube-apiserver deployment after it's done so that it does not take another snapshot again after it succeeded once.
func (*Botanist) SnapshotEtcd ¶ added in v1.13.0
SnapshotEtcd executes into the etcd-main pod and triggers a full snapshot.
func (*Botanist) SourceBackupEntry ¶ added in v1.37.0
func (b *Botanist) SourceBackupEntry() corebackupentry.Interface
SourceBackupEntry creates a deployer for a core.gardener.cloud/v1beta1.BackupEntry resource which will be used as source when copying etcd backups.
func (*Botanist) WaitForInfrastructure ¶ added in v1.8.0
WaitForInfrastructure waits until the infrastructure reconciliation has finished and extracts the provider status out of it.
func (*Botanist) WaitForKubeControllerManagerToBeActive ¶ added in v1.12.0
WaitForKubeControllerManagerToBeActive waits for the kube controller manager of a Shoot cluster has acquired leader election, thus is active.
func (*Botanist) WaitUntilCloudConfigUpdatedForAllWorkerPools ¶ added in v1.16.0
WaitUntilCloudConfigUpdatedForAllWorkerPools waits for a maximum of 6 minutes until all the nodes for all the worker pools in the Shoot have successfully applied the desired version of their cloud-config user data.
func (*Botanist) WaitUntilEndpointsDoNotContainPodIPs ¶
WaitUntilEndpointsDoNotContainPodIPs waits until all endpoints in the shoot cluster to not contain any IPs from the Shoot's PodCIDR.
func (*Botanist) WaitUntilEtcdsDeleted ¶ added in v1.35.0
WaitUntilEtcdsDeleted waits until both etcd-main and etcd-events are deleted.
func (*Botanist) WaitUntilEtcdsReady ¶ added in v1.13.0
WaitUntilEtcdsReady waits until both etcd-main and etcd-events are ready.
func (*Botanist) WaitUntilExtensionResourcesDeleted ¶
WaitUntilExtensionResourcesDeleted waits until extension CRs have been deleted from the Shoot namespace. CRs with kind "Extension" are handled separately and are not waited by this function.
func (*Botanist) WaitUntilExtensionResourcesMigrated ¶ added in v1.40.0
WaitUntilExtensionResourcesMigrated waits until extension CRs have been successfully migrated. CRs with kind "Extension" are handled separately and are not waited by this function.
func (*Botanist) WaitUntilManagedResourcesDeleted ¶
WaitUntilManagedResourcesDeleted waits until all managed resources labeled with `origin=gardener` are gone or the context is cancelled.
func (*Botanist) WaitUntilNginxIngressServiceIsReady ¶ added in v1.5.0
WaitUntilNginxIngressServiceIsReady waits until the external load balancer of the nginx ingress controller has been created.
func (*Botanist) WaitUntilNoPodRunning ¶
WaitUntilNoPodRunning waits until there is no running Pod in the shoot cluster.
func (*Botanist) WaitUntilNodesDeleted ¶
WaitUntilNodesDeleted waits until no nodes exist in the shoot cluster anymore.
func (*Botanist) WaitUntilRequiredExtensionsReady ¶ added in v1.3.0
WaitUntilRequiredExtensionsReady waits until all the extensions required for a shoot reconciliation are ready
func (*Botanist) WaitUntilSeedNamespaceDeleted ¶
WaitUntilSeedNamespaceDeleted waits until the namespace of the Shoot cluster within the Seed cluster is deleted.
func (*Botanist) WaitUntilShootManagedResourcesDeleted ¶ added in v1.59.0
WaitUntilShootManagedResourcesDeleted waits until all managed resources that are describing shoot resources are deleted or the context is cancelled.
func (*Botanist) WaitUntilTunnelConnectionExists ¶ added in v1.6.0
WaitUntilTunnelConnectionExists waits until a port forward connection to the tunnel pod (vpn-shoot) in the kube-system namespace of the Shoot cluster can be established.
Source Files ¶
- addons.go
- backupentry.go
- bastion.go
- botanist.go
- cleanup.go
- clusterautoscaler.go
- clusteridentity.go
- containerruntime.go
- controlplane.go
- coredns.go
- dependency_watchdog.go
- dns.go
- dnsrecord.go
- dnsresources.go
- etcd.go
- etcdcopybackupstask.go
- extension.go
- gardeneraccess.go
- infrastructure.go
- kubeapiserver.go
- kubeapiserverexposure.go
- kubecontrollermanager.go
- kubeproxy.go
- kubernetesdashboard.go
- kubescheduler.go
- kubestatemetrics.go
- logging.go
- managedresources.go
- metricsserver.go
- migration.go
- monitoring.go
- namespaces.go
- network.go
- networkpolicies.go
- nginxingress.go
- nodelocaldns.go
- nodeproblemdetector.go
- operatingsystemconfig.go
- resource_manager.go
- resources.go
- secrets.go
- shootsystem.go
- tunnel.go
- types.go
- vpa.go
- vpnseedserver.go
- vpnshoot.go
- waiter.go
- worker.go
Directories ¶
Path | Synopsis |
---|---|
backupentry/mock
Package backupentry is a generated GoMock package.
|
Package backupentry is a generated GoMock package. |
clusterautoscaler/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
clusteridentity/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
coredns/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
etcd/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
etcdcopybackupstask/mock
Package etcdcopybackupstask is a generated GoMock package.
|
Package etcdcopybackupstask is a generated GoMock package. |
extensions/backupentry/mock
Package backupentry is a generated GoMock package.
|
Package backupentry is a generated GoMock package. |
extensions/containerruntime/mock
Package containerruntime is a generated GoMock package.
|
Package containerruntime is a generated GoMock package. |
extensions/controlplane/mock
Package controlplane is a generated GoMock package.
|
Package controlplane is a generated GoMock package. |
extensions/crds/assets
Package seed_crds contains generated manifests for all CRDs that are present on a Seed cluster.
|
Package seed_crds contains generated manifests for all CRDs that are present on a Seed cluster. |
extensions/dnsrecord/mock
Package dnsrecord is a generated GoMock package.
|
Package dnsrecord is a generated GoMock package. |
extensions/extension/mock
Package extension is a generated GoMock package.
|
Package extension is a generated GoMock package. |
extensions/infrastructure/mock
Package infrastructure is a generated GoMock package.
|
Package infrastructure is a generated GoMock package. |
extensions/operatingsystemconfig/mock
Package operatingsystemconfig is a generated GoMock package.
|
Package operatingsystemconfig is a generated GoMock package. |
extensions/operatingsystemconfig/original/components/kubelet/mock
Package kubelet is a generated GoMock package.
|
Package kubelet is a generated GoMock package. |
extensions/operatingsystemconfig/original/components/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
extensions/operatingsystemconfig/utils/mock
Package utils is a generated GoMock package.
|
Package utils is a generated GoMock package. |
extensions/worker/mock
Package worker is a generated GoMock package.
|
Package worker is a generated GoMock package. |
hvpa/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
kubeapiserver/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
kubecontrollermanager/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
kubeproxy/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
kubernetesdashboard/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
kubescheduler/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
kubestatemetrics/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
nodelocaldns/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
resourcemanager/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
vpa/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
vpnseedserver/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
vpnshoot/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
this file is copy of https://github.com/kubernetes/kubernetes/blob/f247e75980061d7cf83c63c0fb1f12c7060c599f/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/rules/rules.go with some modifications for the webhook matching use-case.
|
this file is copy of https://github.com/kubernetes/kubernetes/blob/f247e75980061d7cf83c63c0fb1f12c7060c599f/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/rules/rules.go with some modifications for the webhook matching use-case. |