Documentation ¶
Index ¶
- Constants
- type AWSBotanist
- func (b *AWSBotanist) ApplyCreateHook() error
- func (b *AWSBotanist) ApplyDeleteHook() error
- func (b *AWSBotanist) CheckIfClusterGetsScaled() (bool, int, error)
- func (b *AWSBotanist) DeployAutoNodeRepair() error
- func (b *AWSBotanist) DeployBackupInfrastructure() error
- func (b *AWSBotanist) DeployInfrastructure() error
- func (b *AWSBotanist) DeployKube2IAMResources() error
- func (b *AWSBotanist) DestroyBackupInfrastructure() error
- func (b *AWSBotanist) DestroyInfrastructure() error
- func (b *AWSBotanist) DestroyKube2IAMResources() error
- func (b *AWSBotanist) GenerateAdmissionControlConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateCalicoConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig
- func (b *AWSBotanist) GenerateCloudProviderConfig() (string, error)
- func (b *AWSBotanist) GenerateClusterAutoscalerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateEtcdBackupSecretData() (map[string][]byte, error)
- func (b *AWSBotanist) GenerateEtcdConfig(secretName string) (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeAPIServerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeControllerManagerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeSchedulerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GetASGs() []map[string]interface{}
- func (b *AWSBotanist) GetCloudProviderName() string
Constants ¶
const ( // AccessKeyID is a constant for the key in a cloud provider secret that holds the AWS access key id. AccessKeyID = "accessKeyID" // SecretAccessKey is a constant for the key in a cloud provider secret that holds the AWS secret access key. SecretAccessKey = "secretAccessKey" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSBotanist ¶
type AWSBotanist struct { *operation.Operation CloudProviderName string SeedAWSClient aws.ClientInterface ShootAWSClient aws.ClientInterface }
AWSBotanist is a struct which has methods that perform AWS cloud-specific operations for a Shoot cluster.
func New ¶
func New(o *operation.Operation) (*AWSBotanist, error)
New takes an operation object <o> and creates a new AWSBotanist object.
func (*AWSBotanist) ApplyCreateHook ¶
func (b *AWSBotanist) ApplyCreateHook() error
ApplyCreateHook updates the AWS ELB health check to SSL and deploys the readvertiser. https://github.com/gardener/aws-lb-readvertiser
func (*AWSBotanist) ApplyDeleteHook ¶
func (b *AWSBotanist) ApplyDeleteHook() error
ApplyDeleteHook does currently nothing for AWS.
func (*AWSBotanist) CheckIfClusterGetsScaled ¶
func (b *AWSBotanist) CheckIfClusterGetsScaled() (bool, int, error)
CheckIfClusterGetsScaled checks whether the Shoot cluster gets currently scaled. It returns a boolean value and the number of instances which are healthy from the perspective of AWS (those which have the InService state).
func (*AWSBotanist) DeployAutoNodeRepair ¶
func (b *AWSBotanist) DeployAutoNodeRepair() error
DeployAutoNodeRepair deploys the auto-node-repair into the Seed cluster. It primary job is to repair unHealthy Nodes by replacing them by newer ones.
func (*AWSBotanist) DeployBackupInfrastructure ¶
func (b *AWSBotanist) DeployBackupInfrastructure() error
DeployBackupInfrastructure kicks off a Terraform job which deploys the infrastructure resources for backup. It sets up the User and the Bucket to store the backups. Allocate permission to the User to access the bucket.
func (*AWSBotanist) DeployInfrastructure ¶
func (b *AWSBotanist) DeployInfrastructure() error
DeployInfrastructure kicks off a Terraform job which deploys the infrastructure.
func (*AWSBotanist) DeployKube2IAMResources ¶
func (b *AWSBotanist) DeployKube2IAMResources() error
DeployKube2IAMResources creates the respective IAM roles which have been specified in the Shoot manifest addon section. Moreover, some default IAM roles will be created.
func (*AWSBotanist) DestroyBackupInfrastructure ¶
func (b *AWSBotanist) DestroyBackupInfrastructure() error
DestroyBackupInfrastructure kicks off a Terraform job which destroys the infrastructure for etcd backup.
func (*AWSBotanist) DestroyInfrastructure ¶
func (b *AWSBotanist) DestroyInfrastructure() error
DestroyInfrastructure kicks off a Terraform job which destroys the infrastructure.
func (*AWSBotanist) DestroyKube2IAMResources ¶
func (b *AWSBotanist) DestroyKube2IAMResources() error
DestroyKube2IAMResources destroy the kube2iam resources created by Terraform. This comprises IAM roles and policies.
func (*AWSBotanist) GenerateAdmissionControlConfig ¶
func (b *AWSBotanist) GenerateAdmissionControlConfig() (map[string]interface{}, error)
GenerateAdmissionControlConfig generates values which are required to render the chart admissions-controls properly.
func (*AWSBotanist) GenerateCalicoConfig ¶
func (b *AWSBotanist) GenerateCalicoConfig() (map[string]interface{}, error)
GenerateCalicoConfig generates values which are required to render the chart calico properly.
func (*AWSBotanist) GenerateCloudConfigUserDataConfig ¶
func (b *AWSBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig
GenerateCloudConfigUserDataConfig generates values which are required to render the chart shoot-cloud-config properly.
func (*AWSBotanist) GenerateCloudProviderConfig ¶
func (b *AWSBotanist) GenerateCloudProviderConfig() (string, error)
GenerateCloudProviderConfig generates the AWS cloud provider config. See this for more details: https://github.com/kubernetes/kubernetes/blob/release-1.7/pkg/cloudprovider/providers/aws/aws.go#L399-L444
func (*AWSBotanist) GenerateClusterAutoscalerConfig ¶
func (b *AWSBotanist) GenerateClusterAutoscalerConfig() (map[string]interface{}, error)
GenerateClusterAutoscalerConfig generates the values which are required to render the chart of aws-cluster-autosclaer properly.
func (*AWSBotanist) GenerateEtcdBackupSecretData ¶
func (b *AWSBotanist) GenerateEtcdBackupSecretData() (map[string][]byte, error)
GenerateEtcdBackupSecretData generates the data for the secret which is required by the etcd-operator to store the backups on the S3 backup, i.e. the secret contains the AWS credentials and the respective region.
func (*AWSBotanist) GenerateEtcdConfig ¶
func (b *AWSBotanist) GenerateEtcdConfig(secretName string) (map[string]interface{}, error)
GenerateEtcdConfig returns the etcd deployment configuration (including backup settings) for the etcd Helm chart.
func (*AWSBotanist) GenerateKube2IAMConfig ¶
func (b *AWSBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)
GenerateKube2IAMConfig generates the values which are required to render the chart of kube2iam properly.
func (*AWSBotanist) GenerateKubeAPIServerConfig ¶
func (b *AWSBotanist) GenerateKubeAPIServerConfig() (map[string]interface{}, error)
GenerateKubeAPIServerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the kube-apiserver properly.
func (*AWSBotanist) GenerateKubeControllerManagerConfig ¶
func (b *AWSBotanist) GenerateKubeControllerManagerConfig() (map[string]interface{}, error)
GenerateKubeControllerManagerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the kube-controller-manager properly.
func (*AWSBotanist) GenerateKubeSchedulerConfig ¶
func (b *AWSBotanist) GenerateKubeSchedulerConfig() (map[string]interface{}, error)
GenerateKubeSchedulerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the kube-scheduler properly.
func (*AWSBotanist) GenerateNginxIngressConfig ¶
func (b *AWSBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)
GenerateNginxIngressConfig generates values which are required to render the chart nginx-ingress properly.
func (*AWSBotanist) GetASGs ¶
func (b *AWSBotanist) GetASGs() []map[string]interface{}
GetASGs returns the set of AutoScalingGroups used for a Shoot cluster.
func (*AWSBotanist) GetCloudProviderName ¶
func (b *AWSBotanist) GetCloudProviderName() string
GetCloudProviderName returns the Kubernetes cloud provider name for this cloud.