Documentation
¶
Overview ¶
Package mng defines AWS EKS Managed Node Group configuration.
Index ¶
Constants ¶
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
const TemplateMNG = `` /* 2269-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
const TemplateRole = `` /* 6620-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
TODO: create policy instead based off cluster role?
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 ¶
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 k8s_client.EKS
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 ¶
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