eks

package
v0.0.0-...-cc466af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2025 License: Apache-2.0 Imports: 6 Imported by: 6

Documentation

Index

Constants

View Source
const (
	// The json/yaml config key for the EKS hosted cluster config
	EKSClusterConfigConfigurationFileKey = "eksClusterConfig"
)

Variables

This section is empty.

Functions

func CreateEKSHostedCluster

func CreateEKSHostedCluster(client *rancher.Client, displayName, cloudCredentialID string, eksClusterConfig ClusterConfig, enableClusterAlerting, enableClusterMonitoring, enableNetworkPolicy, windowsPreferedCluster bool, labels map[string]string) (*management.Cluster, error)

CreateEKSHostedCluster is a helper function that creates an EKS hosted cluster

func ScalingEKSNodePoolsNodes

func ScalingEKSNodePoolsNodes(client *rancher.Client, cluster *management.Cluster, nodePool *NodeGroupConfig) (*management.Cluster, error)

ScalingEKSNodePoolsNodes is a helper function that tests scaling of an EKS node pool by adding a new one and then deleting it.

Types

type ClusterConfig

type ClusterConfig struct {
	EBSCSIDriver        *bool              `json:"ebsCSIDriver,omitempty" yaml:"ebsCSIDriver,omitempty"`
	KmsKey              *string            `json:"kmsKey,omitempty" yaml:"kmsKey,omitempty"`
	KubernetesVersion   *string            `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"`
	LoggingTypes        []string           `json:"loggingTypes" yaml:"loggingTypes"`
	NodeGroupsConfig    *[]NodeGroupConfig `json:"nodeGroups,omitempty" yaml:"nodeGroups,omitempty"`
	PrivateAccess       *bool              `json:"privateAccess,omitempty" yaml:"privateAccess,omitempty"`
	PublicAccess        *bool              `json:"publicAccess,omitempty" yaml:"publicAccess,omitempty"`
	PublicAccessSources []string           `json:"publicAccessSources" yaml:"publicAccessSources"`
	Region              string             `json:"region" yaml:"region"`
	SecretsEncryption   *bool              `json:"secretsEncryption,omitempty" yaml:"secretsEncryption,omitempty"`
	SecurityGroups      []string           `json:"securityGroups" yaml:"securityGroups"`
	ServiceRole         *string            `json:"serviceRole,omitempty" yaml:"serviceRole,omitempty"`
	Subnets             []string           `json:"subnets" yaml:"subnets"`
	Tags                map[string]string  `json:"tags" yaml:"tags"`
}

ClusterConfig is the configuration needed to create an EKS host cluster

type LaunchTemplateConfig

type LaunchTemplateConfig struct {
	ID      *string `json:"id,omitempty" yaml:"id,omitempty"`
	Name    *string `json:"name,omitempty" yaml:"name,omitempty"`
	Version *int64  `json:"version,omitempty" yaml:"version,omitempty"`
}

LaunchTemplateConfig is the configuration need for a node group launch template

type NodeGroupConfig

type NodeGroupConfig struct {
	Arm                  *bool                 `json:"arm,omitempty" yaml:"arm,omitempty"`
	DesiredSize          *int64                `json:"desiredSize,omitempty" yaml:"desiredSize,omitempty"`
	DiskSize             *int64                `json:"diskSize,omitempty" yaml:"diskSize,omitempty"`
	Ec2SshKey            *string               `json:"ec2SshKey,omitempty" yaml:"ec2SshKey,omitempty"`
	Gpu                  *bool                 `json:"gpu,omitempty" yaml:"gpu,omitempty"`
	ImageID              *string               `json:"imageId,omitempty" yaml:"imageId,omitempty"`
	InstanceType         *string               `json:"instanceType,omitempty" yaml:"instanceType,omitempty"`
	Labels               map[string]string     `json:"labels" yaml:"labels"`
	LaunchTemplateConfig *LaunchTemplateConfig `json:"launchTemplate,omitempty" yaml:"launchTemplate,omitempty"`
	MaxSize              *int64                `json:"maxSize,omitempty" yaml:"maxSize,omitempty"`
	MinSize              *int64                `json:"minSize,omitempty" yaml:"minSize,omitempty"`
	NodeRole             *string               `json:"nodeRole,omitempty" yaml:"nodeRole,omitempty"`
	NodegroupName        *string               `json:"nodegroupName,omitempty" yaml:"nodegroupName,omitempty"`
	RequestSpotInstances *bool                 `json:"requestSpotInstances,omitempty" yaml:"requestSpotInstances,omitempty"`
	ResourceTags         map[string]string     `json:"resourceTags" yaml:"resourceTags"`
	SpotInstanceTypes    []string              `json:"spotInstanceTypes" yaml:"spotInstanceTypes"`
	Subnets              []string              `json:"subnets" yaml:"subnets"`
	Tags                 map[string]string     `json:"tags" yaml:"tags"`
	UserData             *string               `json:"userData,omitempty" yaml:"userData,omitempty"`
	Version              *string               `json:"version,omitempty" yaml:"version,omitempty"`
}

NodeGroupConfig is the configuration need to create an EKS node group

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL