Documentation ¶
Index ¶
- func BootstrapCluster(seed *Seed, secrets map[string]*corev1.Secret, ...) error
- func DesiredExcessCapacity(numberOfAssociatedShoots int) int
- func DetermineCloudProviderForSeed(ctx context.Context, c client.Client, seed *gardenv1beta1.Seed) (gardenv1beta1.CloudProvider, error)
- func GetFluentdReplicaCount(k8sSeedClient kubernetes.Interface) (int32, error)
- type Seed
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BootstrapCluster ¶
func BootstrapCluster(seed *Seed, secrets map[string]*corev1.Secret, imageVector imagevector.ImageVector, numberOfAssociatedShoots int) error
BootstrapCluster bootstraps a Seed cluster and deploys various required manifests.
func DesiredExcessCapacity ¶
DesiredExcessCapacity computes the required resources (CPU and memory) required to deploy new shoot control planes (on the seed) in terms of reserve-excess-capacity deployment replicas. Each deployment replica currently corresponds to resources of (request/limits) 500m of CPU and 1200Mi of Memory. ReplicasRequiredToSupportSingleShoot is 4 which is 2000m of CPU and 4800Mi of RAM. The logic for computation of desired excess capacity corresponds to either deploying 2 new shoot control planes or 3% of existing shoot control planes of current number of shoots deployed in seed (3 if current shoots are 100), whichever of the two is larger
func DetermineCloudProviderForSeed ¶
func DetermineCloudProviderForSeed(ctx context.Context, c client.Client, seed *gardenv1beta1.Seed) (gardenv1beta1.CloudProvider, error)
DetermineCloudProviderForSeed determines the cloud provider for the given seed.
func GetFluentdReplicaCount ¶
func GetFluentdReplicaCount(k8sSeedClient kubernetes.Interface) (int32, error)
GetFluentdReplicaCount returns fluentd stateful set replica count if it exists, otherwise - the default (1). As fluentd HPA manages the number of replicas, we have to make sure to do not override HPA scaling.
Types ¶
type Seed ¶
type Seed struct { Info *gardenv1beta1.Seed Secret *corev1.Secret CloudProvider gardenv1beta1.CloudProvider CloudProfile *gardenv1beta1.CloudProfile // contains filtered or unexported fields }
Seed is an object containing information about a Seed cluster.
func List ¶
func List(k8sGardenClient kubernetes.Interface, k8sGardenInformers gardeninformers.Interface) ([]*Seed, error)
List returns a list of Seed clusters (along with the referenced secrets).
func New ¶
func New(k8sGardenClient kubernetes.Interface, k8sGardenInformers gardeninformers.Interface, seed *gardenv1beta1.Seed) (*Seed, error)
New takes a <k8sGardenClient>, the <k8sGardenInformers> and a <seed> manifest, and creates a new Seed representation. It will add the CloudProfile and identify the cloud provider.
func NewFromName ¶
func NewFromName(k8sGardenClient kubernetes.Interface, k8sGardenInformers gardeninformers.Interface, seedName string) (*Seed, error)
NewFromName creates a new Seed object based on the name of a Seed manifest.
func (*Seed) CheckMinimumK8SVersion ¶
CheckMinimumK8SVersion checks whether the Kubernetes version of the Seed cluster fulfills the minimal requirements.
func (*Seed) GetIngressFQDN ¶
GetIngressFQDN returns the fully qualified domain name of ingress sub-resource for the Seed cluster. The end result is '<subDomain>.<shootName>.<projectName>.<seed-ingress-domain>'.
func (*Seed) GetPersistentVolumeProvider ¶
GetPersistentVolumeProvider gets the Persistent Volume Provider of seed cluster. If it is not specified, return ""
func (*Seed) GetValidVolumeSize ¶
GetValidVolumeSize is to get a valid volume size. If the given size is smaller than the minimum volume size permitted by cloud provider on which seed cluster is running, it will return the minimum size.
func (*Seed) MustReserveExcessCapacity ¶
MustReserveExcessCapacity configures whether we have to reserve excess capacity in the Seed cluster.