nodegroup

package
v0.0.0-...-1dd5257 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2023 License: Apache-2.0 Imports: 48 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AMIReleaseVersion

type AMIReleaseVersion struct {
	Version semver.Version
	Date    string
}

func ParseReleaseVersion

func ParseReleaseVersion(releaseVersion string) (AMIReleaseVersion, error)

ParseReleaseVersion parses an AMI release version string that's in the format `1.18.8-20201007`

func (AMIReleaseVersion) Compare

Compare returns 0 if a==b, -1 if a < b, and +1 if a > b.

func (AMIReleaseVersion) GTE

GTE checks if a is greater than or equal to b.

func (AMIReleaseVersion) LTE

LTE checks if a is less than or equal to b.

type CreateOpts

type CreateOpts struct {
	UpdateAuthConfigMap       bool
	InstallNeuronDevicePlugin bool
	InstallNvidiaDevicePlugin bool
	DryRun                    bool
	SkipOutdatedAddonsCheck   bool
	ConfigFileProvided        bool
}

CreateOpts controls specific steps of node group creation

type DrainInput

type DrainInput struct {
	NodeGroups            []eks.KubeNodeGroup
	Plan                  bool
	MaxGracePeriod        time.Duration
	NodeDrainWaitPeriod   time.Duration
	PodEvictionWaitPeriod time.Duration
	Undo                  bool
	DisableEviction       bool
	Parallel              int
}

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func New

func New(cfg *api.ClusterConfig, ctl *eks.ClusterProvider, clientSet kubernetes.Interface, instanceSelector eks.InstanceSelector) *Manager

New creates a new manager.

func (*Manager) Create

func (m *Manager) Create(ctx context.Context, options CreateOpts, nodegroupFilter filter.NodegroupFilter) error

Create creates a new nodegroup with the given options.

func (*Manager) Delete

func (m *Manager) Delete(ctx context.Context, nodeGroups []*api.NodeGroup, managedNodeGroups []*api.ManagedNodeGroup, wait, plan bool) error

func (*Manager) Drain

func (m *Manager) Drain(ctx context.Context, input *DrainInput) error

func (*Manager) Get

func (m *Manager) Get(ctx context.Context, name string) (*Summary, error)

func (*Manager) GetAll

func (m *Manager) GetAll(ctx context.Context) ([]*Summary, error)

func (*Manager) Scale

func (m *Manager) Scale(ctx context.Context, ng *api.NodeGroupBase) error

func (*Manager) Update

func (m *Manager) Update(ctx context.Context, wait bool) error

func (*Manager) Upgrade

func (m *Manager) Upgrade(ctx context.Context, options UpgradeOptions) error

type Summary

type Summary struct {
	StackName            string
	Cluster              string
	Name                 string
	Status               string
	MaxSize              int
	MinSize              int
	DesiredCapacity      int
	InstanceType         string
	ImageID              string
	CreationTime         time.Time
	NodeInstanceRoleARN  string
	AutoScalingGroupName string
	Version              string
	NodeGroupType        api.NodeGroupType `json:"Type"`
}

Summary represents a summary of a nodegroup stack

type UpgradeOptions

type UpgradeOptions struct {
	// NodeGroupName nodegroup name
	NodegroupName string
	// KubernetesVersion EKS version
	KubernetesVersion string
	// LaunchTemplateVersion launch template version
	// valid only if a nodegroup was created with a launch template
	LaunchTemplateVersion string
	//ForceUpgrade enables force upgrade
	ForceUpgrade bool
	// ReleaseVersion AMI version of the EKS optimized AMI to use
	ReleaseVersion string
	// Wait for the upgrade to finish
	Wait bool
	// Stack to upgrade
	Stack *manager.NodeGroupStack
}

UpgradeOptions contains options to configure nodegroup upgrades

type WaitFunc

type WaitFunc func(name, msg string, acceptors []request.WaiterAcceptor, newRequest func() *request.Request, waitTimeout time.Duration, troubleshoot func(string) error) error

Jump to

Keyboard shortcuts

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