mng

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2020 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Overview

Package mng defines AWS EKS Managed Node Group configuration.

Index

Constants

View Source
const ManagedNodeGroupStatusDELETEDORNOTEXIST = "DELETED/NOT-EXIST"

ManagedNodeGroupStatusDELETEDORNOTEXIST defines the cluster status when the cluster is not found.

ref. https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html

CREATING
ACTIVE
DELETING
FAILED
UPDATING
View Source
const TemplateMNG = `` /* 2215-byte string literal not displayed */

TemplateMNG is the CloudFormation template for EKS managed node group. ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html

View Source
const TemplateRole = `` /* 6290-byte string literal not displayed */

TemplateRole is the CloudFormation template for EKS managed node group role. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller ref. https://github.com/kubernetes-sigs/aws-alb-ingress-controller/pull/1126

View Source
const TemplateSG = `` /* 3704-byte string literal not displayed */

TemplateSG is the CloudFormation template for EKS managed node group security group. ref. https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html ref. https://github.com/awslabs/amazon-eks-ami/blob/master/amazon-eks-nodegroup.yaml ref. https://github.com/aws/aws-k8s-tester/pull/33 ref. https://github.com/kubernetes/kubernetes/blob/release-1.16/test/e2e/network/service.go#L544

Variables

This section is empty.

Functions

func IsDeleted

func IsDeleted(err error) bool

IsDeleted returns true if error from EKS API indicates that the EKS managed node group has already been deleted.

func Poll

func Poll(
	ctx context.Context,
	stopc chan struct{},
	lg *zap.Logger,
	eksAPI eksiface.EKSAPI,
	clusterName string,
	mngName string,
	desiredNodeGroupStatus string,
	initialWait time.Duration,
	wait time.Duration,
) <-chan ManagedNodeGroupStatus

Poll periodically fetches the managed node group status until the node group becomes the desired state.

Types

type Config

type Config struct {
	Logger    *zap.Logger
	Stopc     chan struct{}
	Sig       chan os.Signal
	EKSConfig *eksconfig.Config
	K8SClient k8sClientSetGetter
	IAMAPI    iamiface.IAMAPI
	CFNAPI    cloudformationiface.CloudFormationAPI
	EC2API    ec2iface.EC2API
	ASGAPI    autoscalingiface.AutoScalingAPI
	EKSAPI    eksiface.EKSAPI
	S3API     s3iface.S3API
}

Config defines Managed Node Group configuration.

type ManagedNodeGroupStatus

type ManagedNodeGroupStatus struct {
	NodeGroupName string
	NodeGroup     *awseks.Nodegroup
	Error         error
}

ManagedNodeGroupStatus represents the CloudFormation status.

type Tester

type Tester interface {
	// Create creates EKS "Managed Node Group", and waits for completion.
	Create() error
	// Delete deletes all EKS "Managed Node Group" resources.
	Delete() error

	// FetchLogs fetches logs from all worker nodes.
	FetchLogs() error
	// DownloadClusterLogs dumps all logs to artifact directory.
	// Let default kubetest log dumper handle all artifact uploads.
	// See https://github.com/kubernetes/test-infra/pull/9811/files#r225776067.
	DownloadClusterLogs(artifactDir string) error
}

Tester implements EKS "Managed Node Group" for "kubetest2" Deployer. ref. https://github.com/kubernetes/test-infra/blob/master/kubetest2/pkg/types/types.go ref. https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html

func New

func New(cfg Config) (Tester, error)

New creates a new Job tester.

Jump to

Keyboard shortcuts

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