Documentation ¶
Overview ¶
Package eks implements EKS cluster operations. It implements "k8s.io/test-infra/kubetest2/pkg/types.Deployer" and "k8s.io/test-infra/kubetest2/pkg/types.Options". ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
Index ¶
- Constants
- func ClusterDeleted(err error) bool
- func Poll(ctx context.Context, stopc chan struct{}, lg *zap.Logger, ...) <-chan ClusterStatus
- type ClusterStatus
- type Tester
- func (ts *Tester) ArtifactsDir() string
- func (ts *Tester) Build() error
- func (ts *Tester) Down() error
- func (ts *Tester) DownloadClusterLogs(artifactDir, _ string) error
- func (ts *Tester) DumpClusterLogs() error
- func (ts *Tester) HelpRequested() bool
- func (ts *Tester) IsUp() (up bool, err error)
- func (ts *Tester) Kubeconfig() (string, error)
- func (ts *Tester) KubernetesClientSet() *kubernetes.Clientset
- func (ts *Tester) LoadConfig() (eksconfig.Config, error)
- func (ts *Tester) Provider() string
- func (ts *Tester) ShouldBuild() bool
- func (ts *Tester) ShouldDown() bool
- func (ts *Tester) ShouldTest() bool
- func (ts *Tester) ShouldUp() bool
- func (ts *Tester) Up() (err error)
Constants ¶
const TemplateClusterRole = `` /* 6806-byte string literal not displayed */
TemplateClusterRole is the CloudFormation template for EKS cluster role.
e.g.
Error creating load balancer (will retry): failed to ensure load balancer for service eks-*/hello-world-service: Error creating load balancer: "AccessDenied: User: arn:aws:sts::404174646922:assumed-role/eks-*-cluster-role/* is not authorized to perform: ec2:DescribeAccountAttributes\n\tstatus code: 403"
TODO: scope down (e.g. ec2:DescribeAccountAttributes, ec2:DescribeInternetGateways) mng, fargate, etc. may use other roles
const TemplateEKSCluster = `` /* 1608-byte string literal not displayed */
TemplateEKSCluster is the CloudFormation template for EKS cluster.
const TemplateVPCPublicPrivate = `` /* 12947-byte string literal not displayed */
TemplateVPCPublicPrivate is the CloudFormation template for EKS VPC.
e.g. An error occurred (InvalidParameterException) when calling the CreateFargateProfile operation: Subnet subnet-123 provided in Fargate Profile is not a private subnet
Variables ¶
This section is empty.
Functions ¶
func ClusterDeleted ¶ added in v0.5.0
ClusterDeleted returns true if error from EKS API indicates that the EKS cluster has already been deleted.
func Poll ¶ added in v0.5.5
func Poll( ctx context.Context, stopc chan struct{}, lg *zap.Logger, eksAPI eksiface.EKSAPI, clusterName string, desiredClusterStatus string, initialWait time.Duration, wait time.Duration, ) <-chan ClusterStatus
Poll periodically fetches the cluster status until the cluster becomes the desired state.
Types ¶
type ClusterStatus ¶ added in v0.5.0
ClusterStatus represents the CloudFormation status.
type Tester ¶ added in v0.5.0
type Tester struct {
// contains filtered or unexported fields
}
Tester implements "kubetest2" Deployer. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc
func New ¶ added in v0.5.0
New returns a new EKS kubetest2 Deployer. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) ArtifactsDir ¶ added in v0.8.7
ArtifactsDir returns the path to the directory where artifacts should be written (including metadata files like junit_runner.xml). ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) Build ¶ added in v0.5.0
Build should build kubernetes and package it in whatever format the deployer consumes. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) Down ¶ added in v0.5.0
Down cancels the cluster creation and destroy the test cluster if any. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) DownloadClusterLogs ¶ added in v0.5.0
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. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) DumpClusterLogs ¶ added in v0.5.0
DumpClusterLogs should export logs from the cluster. It may be called multiple times. Options for this should come from New(...) ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) HelpRequested ¶ added in v0.8.7
HelpRequested true, help text will be shown to the user after instancing the deployer and tester. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) IsUp ¶ added in v0.5.0
IsUp should return true if a test cluster is successfully provisioned. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) Kubeconfig ¶ added in v0.5.0
Kubeconfig returns a path to a kubeconfig file for the cluster. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) KubernetesClientSet ¶ added in v0.5.0
func (ts *Tester) KubernetesClientSet() *kubernetes.Clientset
KubernetesClientSet returns Kubernetes Go client. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) LoadConfig ¶ added in v0.5.0
LoadConfig reloads configuration from disk to read the latest cluster configuration and its states. It's either reloaded from disk or returned from embedded EKS deployer. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) Provider ¶ added in v0.5.0
Provider returns the kubernetes provider for legacy deployers. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) ShouldBuild ¶ added in v0.8.7
ShouldBuild true, kubetest2 will be calling deployer.Build. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) ShouldDown ¶ added in v0.8.7
ShouldDown true, kubetest2 will be calling deployer.Down. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) ShouldTest ¶ added in v0.8.7
ShouldTest true, kubetest2 will be calling tester.Test. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) ShouldUp ¶ added in v0.8.7
ShouldUp true, kubetest2 will be calling deployer.Up. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
func (*Tester) Up ¶ added in v0.5.0
Up should provision a new cluster for testing. ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Deployer ref. https://pkg.go.dev/k8s.io/test-infra/kubetest2/pkg/types?tab=doc#Options
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package alb2048 implements ALB plugin that installs 2048.
|
Package alb2048 implements ALB plugin that installs 2048. |
Package appmesh implements App Mesh add-on.
|
Package appmesh implements App Mesh add-on. |
Package clusterloader implements cluster loader.
|
Package clusterloader implements cluster loader. |
local
Package local implements local cluster loader.
|
Package local implements local cluster loader. |
remote
Package remote implements remote cluster loader.
|
Package remote implements remote cluster loader. |
Package configmaps implements tester for ConfigMap.
|
Package configmaps implements tester for ConfigMap. |
local
Package local implements tester for ConfigMap.
|
Package local implements tester for ConfigMap. |
remote
Package remote implements tester for ConfigMap.
|
Package remote implements tester for ConfigMap. |
Package conformance implements Conformance tests.
|
Package conformance implements Conformance tests. |
Package cronjobs creates CronJob objects in Kubernetes.
|
Package cronjobs creates CronJob objects in Kubernetes. |
Package csiebs installs "aws-ebs-csi-driver".
|
Package csiebs installs "aws-ebs-csi-driver". |
Package csrs implements tester for CertificateSigningRequest.
|
Package csrs implements tester for CertificateSigningRequest. |
local
Package local implements tester for CertificateSigningRequest.
|
Package local implements tester for CertificateSigningRequest. |
remote
Package remote implements tester for CertificateSigningRequest.
|
Package remote implements tester for CertificateSigningRequest. |
Package fargate implements tester for Fargate.
|
Package fargate implements tester for Fargate. |
Package gpu implements GPU plugin.
|
Package gpu implements GPU plugin. |
Package helm implements helm utilities.
|
Package helm implements helm utilities. |
Package hollownodes implements hollow nodes.
|
Package hollownodes implements hollow nodes. |
local
Package local implements local Hollow Nodes.
|
Package local implements local Hollow Nodes. |
remote
Package remote implements remote hollow nodes.
|
Package remote implements remote hollow nodes. |
Package irsa implements tester for IAM Roles for Service Accounts (IRSA).
|
Package irsa implements tester for IAM Roles for Service Accounts (IRSA). |
Package irsafargate implements tester for "IAM Roles for Service Accounts (IRSA)" Pod with Fargate.
|
Package irsafargate implements tester for "IAM Roles for Service Accounts (IRSA)" Pod with Fargate. |
Package jobsecho creates Job objects in Kubernetes.
|
Package jobsecho creates Job objects in Kubernetes. |
Package jobspi creates example Job objects in Kubernetes.
|
Package jobspi creates example Job objects in Kubernetes. |
Package jupyterhub implements Jupyter Hub add-on.
|
Package jupyterhub implements Jupyter Hub add-on. |
Package kubeflow implements kubeflow add-on.
|
Package kubeflow implements kubeflow add-on. |
Package kubernetesdashboard implements Kubernetes dashboard add-on.
|
Package kubernetesdashboard implements Kubernetes dashboard add-on. |
Package mng defines AWS EKS Managed Node Group configuration.
|
Package mng defines AWS EKS Managed Node Group configuration. |
Package ng implements EKS worker nodes with a custom AMI.
|
Package ng implements EKS worker nodes with a custom AMI. |
Package nlbhelloworld implements NLB plugin with a simple hello world Pod.
|
Package nlbhelloworld implements NLB plugin with a simple hello world Pod. |
Package prometheusgrafana implements Prometheus/Grafana add-on.
|
Package prometheusgrafana implements Prometheus/Grafana add-on. |
Package secrets implements Secrets plugin.
|
Package secrets implements Secrets plugin. |
local
Package local implements Secrets plugin.
|
Package local implements Secrets plugin. |
remote
Package remote implements Secrets plugin.
|
Package remote implements Secrets plugin. |
Package stresser implements cluster load tests.
|
Package stresser implements cluster load tests. |
local
Package local implements cluster local load tests.
|
Package local implements cluster local load tests. |
remote
Package remote implements cluster remote load tests.
|
Package remote implements cluster remote load tests. |
Package wordpress implements wordpress add-on.
|
Package wordpress implements wordpress add-on. |