Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HybridBotanist

type HybridBotanist struct {
	*operation.Operation
	Botanist           *botanist.Botanist
	SeedCloudBotanist  cloudbotanist.CloudBotanist
	ShootCloudBotanist cloudbotanist.CloudBotanist
}

HybridBotanist is a struct which contains the "normal" Botanist as well as the CloudBotanist. It is used to execute the work for which input from both is required or functionalities from both must be used.

func New

New takes an operation object <o>, a Botanist object <b>, and two CloudBotanist objects <seedCB> and <shootCB>, and creates a new HybridBotanist object.

func (*HybridBotanist) DeployCloudProviderConfig

func (b *HybridBotanist) DeployCloudProviderConfig() error

DeployCloudProviderConfig asks the Cloud Botanist to provide the cloud specific values for the cloud provider configuration. It will create a ConfigMap for it and store it in the Seed cluster.

func (*HybridBotanist) DeployETCD

func (b *HybridBotanist) DeployETCD() error

DeployETCD deploys two etcd clusters via StatefulSets. The first etcd cluster (called 'main') is used for all the / data the Shoot Kubernetes cluster needs to store, whereas the second etcd luster (called 'events') is only used to store the events data. The objectstore is also set up to store the backups.

func (*HybridBotanist) DeployKubeAPIServer

func (b *HybridBotanist) DeployKubeAPIServer() error

DeployKubeAPIServer asks the Cloud Botanist to provide the cloud specific configuration values for the kube-apiserver deployment.

func (*HybridBotanist) DeployKubeAddonManager

func (b *HybridBotanist) DeployKubeAddonManager() error

DeployKubeAddonManager deploys the Kubernetes Addon Manager which will use labelled Kubernetes resources in order to ensure that they exist in a cluster/reconcile them in case somebody changed something.

func (*HybridBotanist) DeployKubeControllerManager

func (b *HybridBotanist) DeployKubeControllerManager() error

DeployKubeControllerManager asks the Cloud Botanist to provide the cloud specific configuration values for the kube-controller-manager deployment.

func (*HybridBotanist) DeployKubeScheduler

func (b *HybridBotanist) DeployKubeScheduler() error

DeployKubeScheduler asks the Cloud Botanist to provide the cloud specific configuration values for the kube-scheduler deployment.

func (*HybridBotanist) DeployMachines

func (b *HybridBotanist) DeployMachines() error

DeployMachines asks the CloudBotanist to provide the specific configuration for MachineClasses and MachineDeployments. It deploys the machine specifications, waits until it is ready and cleans old specifications.

func (*HybridBotanist) DestroyMachines

func (b *HybridBotanist) DestroyMachines() error

DestroyMachines deletes all existing MachineDeployments. As it won't trigger the drain of nodes it needs to label the existing machines. In case an errors occurs, it will return it.