Documentation ¶
Overview ¶
Package eksconfig defines EKS test configuration.
Index ¶
- Constants
- type ASG
- type AddOnALB2048
- type AddOnAmiSoftLockupIssue454
- type AddOnAppMesh
- type AddOnCNIVPC
- type AddOnCSIEBS
- type AddOnCSRsLocal
- type AddOnCSRsRemote
- type AddOnCUDAVectorAdd
- type AddOnCWAgent
- type AddOnClusterLoaderLocal
- type AddOnClusterLoaderRemote
- type AddOnClusterVersionUpgrade
- type AddOnConfigmapsLocal
- type AddOnConfigmapsRemote
- type AddOnConformance
- type AddOnCronJobs
- type AddOnFargate
- type AddOnFluentd
- type AddOnIRSA
- type AddOnIRSAFargate
- type AddOnJobsEcho
- type AddOnJobsPi
- type AddOnJupyterHub
- type AddOnKubeflow
- type AddOnKubernetesDashboard
- type AddOnManagedNodeGroups
- type AddOnMetricsServer
- type AddOnNLBGuestbook
- type AddOnNLBHelloWorld
- type AddOnNodeGroups
- type AddOnPHPApache
- type AddOnPrometheusGrafana
- type AddOnSecretsLocal
- type AddOnSecretsRemote
- type AddOnStresserLocal
- type AddOnStresserRemote
- type AddOnStresserRemoteV2
- type AddOnWordpress
- type Addon
- type AddonStatus
- type CloudProvider
- type ClusterAutoscalerSpec
- type ClusterAutoscalerStatus
- type ClusterLoaderSpec
- type ClusterLoaderStatus
- type ClusterStatus
- type Config
- func (c Config) Colorize(input string) string
- func (cfg *Config) EvaluateCommandRefs() error
- func (cfg *Config) GetAddOnCNIVPCRepositoryRegion() string
- func (cfg *Config) GetAddOnCSRsRemoteRepositoryRegion() string
- func (cfg *Config) GetAddOnClusterLoaderRemoteRepositoryRegion() string
- func (cfg *Config) GetAddOnConfigmapsRemoteRepositoryRegion() string
- func (cfg *Config) GetAddOnCronJobsRepositoryBusyboxRegion() string
- func (cfg *Config) GetAddOnFargateRepositoryRegion() string
- func (cfg *Config) GetAddOnFluentdRepositoryBusyboxRegion() string
- func (cfg *Config) GetAddOnIRSAFargateRepositoryRegion() string
- func (cfg *Config) GetAddOnIRSARepositoryRegion() string
- func (cfg *Config) GetAddOnJobsEchoRepositoryBusyboxRegion() string
- func (cfg *Config) GetAddOnPHPApacheRepositoryRegion() string
- func (cfg *Config) GetAddOnSecretsRemoteRepositoryRegion() string
- func (cfg *Config) GetAddOnStresserRemoteRepositoryRegion() string
- func (cfg *Config) GetAddOnStresserRemoteV2RepositoryRegion() string
- func (cfg *Config) IsEnabledAddOnALB2048() bool
- func (cfg *Config) IsEnabledAddOnAmiSoftLockupIssue454() bool
- func (cfg *Config) IsEnabledAddOnAppMesh() bool
- func (cfg *Config) IsEnabledAddOnCNIVPC() bool
- func (cfg *Config) IsEnabledAddOnCSIEBS() bool
- func (cfg *Config) IsEnabledAddOnCSRsLocal() bool
- func (cfg *Config) IsEnabledAddOnCSRsRemote() bool
- func (cfg *Config) IsEnabledAddOnCUDAVectorAdd() bool
- func (cfg *Config) IsEnabledAddOnCWAgent() bool
- func (cfg *Config) IsEnabledAddOnClusterLoaderLocal() bool
- func (cfg *Config) IsEnabledAddOnClusterLoaderRemote() bool
- func (cfg *Config) IsEnabledAddOnClusterVersionUpgrade() bool
- func (cfg *Config) IsEnabledAddOnConfigmapsLocal() bool
- func (cfg *Config) IsEnabledAddOnConfigmapsRemote() bool
- func (cfg *Config) IsEnabledAddOnConformance() bool
- func (cfg *Config) IsEnabledAddOnCronJobs() bool
- func (cfg *Config) IsEnabledAddOnFargate() bool
- func (cfg *Config) IsEnabledAddOnFluentd() bool
- func (cfg *Config) IsEnabledAddOnIRSA() bool
- func (cfg *Config) IsEnabledAddOnIRSAFargate() bool
- func (cfg *Config) IsEnabledAddOnJobsEcho() bool
- func (cfg *Config) IsEnabledAddOnJobsPi() bool
- func (cfg *Config) IsEnabledAddOnJupyterHub() bool
- func (cfg *Config) IsEnabledAddOnKubeflow() bool
- func (cfg *Config) IsEnabledAddOnKubernetesDashboard() bool
- func (cfg *Config) IsEnabledAddOnManagedNodeGroups() bool
- func (cfg *Config) IsEnabledAddOnMetricsServer() bool
- func (cfg *Config) IsEnabledAddOnNLBGuestbook() bool
- func (cfg *Config) IsEnabledAddOnNLBHelloWorld() bool
- func (cfg *Config) IsEnabledAddOnNodeGroups() bool
- func (cfg *Config) IsEnabledAddOnPHPApache() bool
- func (cfg *Config) IsEnabledAddOnPrometheusGrafana() bool
- func (cfg *Config) IsEnabledAddOnSecretsLocal() bool
- func (cfg *Config) IsEnabledAddOnSecretsRemote() bool
- func (cfg *Config) IsEnabledAddOnStresserLocal() bool
- func (cfg *Config) IsEnabledAddOnStresserRemote() bool
- func (cfg *Config) IsEnabledAddOnStresserRemoteV2() bool
- func (cfg *Config) IsEnabledAddOnWordpress() bool
- func (cfg *Config) KubectlCommand() string
- func (cfg *Config) KubectlCommands() (s string)
- func (cfg *Config) RecordStatus(status string)
- func (cfg *Config) SSHCommands() string
- func (cfg *Config) Sync() (err error)
- func (cfg *Config) UpdateFromEnvs() (err error)
- func (cfg *Config) ValidateAndSetDefaults() error
- type Encryption
- type MNG
- type MNGScaleUpdate
- type MNGVersionUpgrade
- type MetricsServerSpec
- type MetricsServerStatus
- type NGClusterAutoscaler
- type NodeInfo
- type OverprovisioningSpec
- type OverprovisioningStatus
- type Role
- type S3
- type Spec
- type Status
- type VPC
Constants ¶
const ( // AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_PREFIX is the environment variable prefix used for "eksconfig". AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_MANAGED_NODE_GROUPS_" AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_ROLE_PREFIX = AWS_K8S_TESTER_EKS_ADD_ON_MANAGED_NODE_GROUPS_PREFIX + "ROLE_" )
const ( // AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_PREFIX is the environment variable prefix used for "eksconfig". AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NODE_GROUPS_" AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_ROLE_PREFIX = AWS_K8S_TESTER_EKS_ADD_ON_NODE_GROUPS_PREFIX + "ROLE_" )
const ( // DefaultClients is the default number of clients to create. DefaultClients = 2 // DefaultClientQPS is the default client QPS. DefaultClientQPS float32 = 10 // DefaultClientBurst is the default client burst. DefaultClientBurst = 20 // DefaultClientTimeout is the default client timeout. DefaultClientTimeout = 15 * time.Second DefaultCommandAfterCreateClusterTimeout = 3 * time.Minute DefaultCommandAfterCreateAddOnsTimeout = 3 * time.Minute // DefaultNodeInstanceTypeCPU is the default EC2 instance type for CPU worker node. DefaultNodeInstanceTypeCPU = "c5.xlarge" // DefaultNodeInstanceTypeARMCPU is the default EC2 instance type for ARM CPU worker node. DefaultNodeInstanceTypeARMCPU = "c6g.xlarge" // DefaultNodeInstanceTypeGPU is the default EC2 instance type for GPU worker node. DefaultNodeInstanceTypeGPU = "p3.8xlarge" // DefaultNodeVolumeSize is the default EC2 instance volume size for a worker node. DefaultNodeVolumeSize = 40 // DefaultNodeVolumeType is the default EC2 instance volume type for a worker node. DefaultNodeVolumeType = aws_ec2_v2_types.VolumeTypeGp3 // NGsMaxLimit is the maximum number of "Node Group"s per a EKS cluster. NGsMaxLimit = 10 // NGMaxLimit is the maximum number of nodes per a "Node Group". NGMaxLimit = 5000 // MNGsMaxLimit is the maximum number of "Managed Node Group"s per a EKS cluster. MNGsMaxLimit = 10 // MNGMaxLimit is the maximum number of nodes per a "Managed Node Group". MNGMaxLimit = 100 )
const ( // AWS_K8S_TESTER_EKS_PREFIX is the environment variable prefix used for "eksconfig". AWS_K8S_TESTER_EKS_PREFIX = "AWS_K8S_TESTER_EKS_" AWS_K8S_TESTER_EKS_S3_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "S3_" AWS_K8S_TESTER_EKS_ENCRYPTION_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ENCRYPTION_" AWS_K8S_TESTER_EKS_ROLE_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ROLE_" AWS_K8S_TESTER_EKS_VPC_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "VPC_" )
const AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CNI_VPC_"
AWS_K8S_TESTER_EKS_ADD_ON_CNI_VPC_PREFIX is the environment variable prefix used for "eksconfig".
const AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CW_AGENT_"
AWS_K8S_TESTER_EKS_ADD_ON_CW_AGENT_PREFIX is the environment variable prefix used for "eksconfig".
const AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_PREFIX = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_FLUENTD_"
AWS_K8S_TESTER_EKS_ADD_ON_FLUENTD_PREFIX is the environment variable prefix used for "eksconfig".
const ClusterStatusDELETEDORNOTEXIST = "DELETED/NOT-EXIST"
ClusterStatusDELETEDORNOTEXIST defines the cluster status when the cluster is not found.
ref. https://docs.aws.amazon.com/eks/latest/APIReference/API_Cluster.html#AmazonEKS-Type-Cluster-status
CREATING ACTIVE UPDATING DELETING FAILED
const EnvironmentVariablePrefixAddOnALB2048 = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_ALB_2048_"
EnvironmentVariablePrefixAddOnALB2048 is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnAmiSoftLockupIssue454 = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_AMI_SOFT_LOCKUP_ISSUE_454_"
EnvironmentVariablePrefixAddOnAmiSoftLockupIssue454 is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnAppMesh = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_APP_MESH_"
EnvironmentVariablePrefixAddOnAppMesh is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnCSIEBS = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSI_EBS_"
EnvironmentVariablePrefixAddOnCSIEBS is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnCSRsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSRS_LOCAL_"
EnvironmentVariablePrefixAddOnCSRsLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnCSRsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CSRS_REMOTE_"
EnvironmentVariablePrefixAddOnCSRsRemote is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnCUDAVectorAdd = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CUDA_VECTOR_ADD_"
EnvironmentVariablePrefixAddOnCUDAVectorAdd is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnClusterLoaderLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_LOADER_LOCAL_"
EnvironmentVariablePrefixAddOnClusterLoaderLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnClusterLoaderRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_LOADER_REMOTE_"
EnvironmentVariablePrefixAddOnClusterLoaderRemote is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnClusterVersionUpgrade = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_VERSION_UPGRADE_"
EnvironmentVariablePrefixAddOnClusterVersionUpgrade is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnConfigmapsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIGMAPS_LOCAL_"
EnvironmentVariablePrefixAddOnConfigmapsLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnConfigmapsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIGMAPS_REMOTE_"
EnvironmentVariablePrefixAddOnConfigmapsRemote is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnConformance = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFORMANCE_"
EnvironmentVariablePrefixAddOnConformance is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnCronJobs = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CRON_JOBS_"
EnvironmentVariablePrefixAddOnCronJobs is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnFargate = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_FARGATE_"
EnvironmentVariablePrefixAddOnFargate is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnIRSA = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_IRSA_"
EnvironmentVariablePrefixAddOnIRSA is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnIRSAFargate = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_IRSA_FARGATE_"
EnvironmentVariablePrefixAddOnIRSAFargate is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnJobsEcho = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JOBS_ECHO_"
EnvironmentVariablePrefixAddOnJobsEcho is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnJobsPi = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JOBS_PI_"
EnvironmentVariablePrefixAddOnJobsPi is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnJupyterHub = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_JUPYTER_HUB_"
EnvironmentVariablePrefixAddOnJupyterHub is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnKubeflow = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_KUBEFLOW_"
EnvironmentVariablePrefixAddOnKubeflow is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnKubernetesDashboard = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_KUBERNETES_DASHBOARD_"
EnvironmentVariablePrefixAddOnKubernetesDashboard is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnMetricsServer = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_METRICS_SERVER_"
EnvironmentVariablePrefixAddOnMetricsServer is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnNLBGuestbook = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NLB_GUESTBOOK_"
EnvironmentVariablePrefixAddOnNLBGuestbook is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnNLBHelloWorld = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NLB_HELLO_WORLD_"
EnvironmentVariablePrefixAddOnNLBHelloWorld is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnPHPApache = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_PHP_APACHE_"
EnvironmentVariablePrefixAddOnPHPApache is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnPrometheusGrafana = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_PROMETHEUS_GRAFANA_"
EnvironmentVariablePrefixAddOnPrometheusGrafana is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnSecretsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_SECRETS_LOCAL_"
EnvironmentVariablePrefixAddOnSecretsLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnSecretsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_SECRETS_REMOTE_"
EnvironmentVariablePrefixAddOnSecretsRemote is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnStresserLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_STRESSER_LOCAL_"
EnvironmentVariablePrefixAddOnStresserLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnStresserRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_STRESSER_REMOTE_"
EnvironmentVariablePrefixAddOnStresserRemote is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnStresserRemoteV2 = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_STRESSER_REMOTE_V2_"
EnvironmentVariablePrefixAddOnStresserRemoteV2 is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnWordpress = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_WORDPRESS_"
EnvironmentVariablePrefixAddOnWordpress is the environment variable prefix used for "eksconfig".
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ASG ¶ added in v1.0.1
type ASG struct { ec2config.ASG // KubeletExtraArgs represents "--kubelet-extra-args". // e.g. '--kubelet-extra-args --node-labels=nodesgroup=main,subnets=private' // e.g. '--kubelet-extra-args --hostname-override=string' // ref. https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh // // TODO: handle conflicting flag '--cloud-provider aws' // ref. https://github.com/kubernetes/kubernetes/issues/64659 KubeletExtraArgs string `json:"kubelet-extra-args"` // BootstrapArgs additional bootstrap arguments. // e.g. '--pause-container-account 012345678901 --pause-container-version 3.3' BootstrapArgs string `json:"bootstrap-args"` // ClusterAutoscaler is enabled to run cluster auto-scaler per node group. // ref. https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler ClusterAutoscaler *NGClusterAutoscaler `json:"cluster-autoscaler,omitempty"` }
ASG represents an EKS Node Group ASG.
type AddOnALB2048 ¶ added in v0.5.0
type AddOnALB2048 struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // DeploymentReplicasALB is the number of ALB replicas to deploy using "Deployment" object. DeploymentReplicasALB int32 `json:"deployment-replicas-alb"` // DeploymentReplicas2048 is the number of 2048 replicas to deploy using "Deployment" object. DeploymentReplicas2048 int32 `json:"deployment-replicas-2048"` // DeploymentNodeSelector2048 is configured to overwrite existing node selector // for ALB 2048 deployment. If left empty, tester sets default selector. DeploymentNodeSelector2048 map[string]string `json:"deployment-node-selector-2048"` // ALBARN is the ARN of the ALB created from the service. ALBARN string `json:"alb-arn" read-only:"true"` // ALBName is the name of the ALB created from the service. ALBName string `json:"alb-name" read-only:"true"` // URL is the URL for ALB 2048 Service. URL string `json:"url" read-only:"true"` }
AddOnALB2048 defines parameters for EKS cluster add-on ALB 2048 service.
type AddOnAmiSoftLockupIssue454 ¶ added in v1.5.6
type AddOnAmiSoftLockupIssue454 struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // DeploymentReplicas is the number of replicas to deploy using "Deployment" object. DeploymentReplicas int32 `json:"deployment-replicas"` // DeploymentNodeSelector is configured to overwrite existing node selector // for deployment. If left empty, tester sets default selector. DeploymentNodeSelector map[string]string `json:"deployment-node-selector"` }
AddOnAmiSoftLockupIssue454 defines parameters for EKS cluster add-on NLB hello-world service.
type AddOnAppMesh ¶ added in v0.7.5
type AddOnAppMesh struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // ControllerImage is the image of appMesh controller ControllerImage string `json:"controller-image"` // InjectorImage is the image of appMesh injector InjectorImage string `json:"injector-image"` // PolicyCFNStackID is the CFN stack ID for policy. PolicyCFNStackID string `json:"policy-cfn-stack-id,omitempty" read-only:"true"` PolicyCFNStackYAMLPath string `json:"policy-cfn-stack-yaml-path" read-only:"true"` PolicyCFNStackYAMLS3Key string `json:"policy-cfn-stack-yaml-s3-key" read-only:"true"` }
AddOnAppMesh defines parameters for EKS cluster add-on "EKS App Mesh Integration".
type AddOnCNIVPC ¶ added in v1.4.8
type AddOnCNIVPC struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Version defines the release version for https://github.com/aws/amazon-vpc-cni-k8s. // Must be at least "v1.7". // "v1.6" is not supported. // ref. https://github.com/aws/amazon-vpc-cni-k8s/releases Version string `json:"version"` // RepositoryInitAccountID is the account ID for tester ECR image. // e.g. "602401143452" for "602401143452.dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni-init" RepositoryInitAccountID string `json:"repository-init-account-id,omitempty"` // RepositoryInitRegion is the ECR repository region to pull from. RepositoryInitRegion string `json:"repository-init-region,omitempty"` // RepositoryInitName is the repositoryName for tester ECR image. // e.g. "amazon-k8s-cni-init" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni-init" RepositoryInitName string `json:"repository-init-name,omitempty"` // RepositoryInitImageTag is the image tag for tester ECR image. // e.g. "v1.7.0-rc1" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni-init:v1.7.0-rc1" RepositoryInitImageTag string `json:"repository-init-image-tag,omitempty"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "602401143452" for "602401143452.dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "amazon-k8s-cni" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "v1.7.0-rc1" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/amazon-k8s-cni:v1.7.0-rc1" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // MinimumIPTarget configures "MINIMUM_IP_TARGET" for VPC CNI plugin daemon set. // ref. https://github.com/aws/amazon-vpc-cni-k8s#cni-configuration-variables MinimumIPTarget int `json:"minimum-ip-target"` // WarmIPTarget configures "WARM_IP_TARGET" for VPC CNI plugin daemon set. // ref. https://github.com/aws/amazon-vpc-cni-k8s#cni-configuration-variables WarmIPTarget int `json:"warm-ip-target"` // NodeSelector is configured to overwrite existing node selector // for amazon-vpc-cni-k8s DaemonSet. NodeSelector map[string]string `json:"node-selector"` }
AddOnCNIVPC defines parameters for https://github.com/aws/amazon-vpc-cni-k8s. If not enabled, uses the default one. The version must be at least "v1.7". ref. https://github.com/aws/amazon-vpc-cni-k8s/blob/release-1.7/config/v1.7/aws-k8s-cni.yaml
type AddOnCSIEBS ¶ added in v1.0.6
type AddOnCSIEBS struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // ChartRepoURL is the chart repo URL. // e.g. https://github.com/kubernetes-sigs/aws-ebs-csi-driver/releases/download/v0.5.0/helm-chart.tgz ChartRepoURL string `json:"chart-repo-url"` }
AddOnCSIEBS defines parameters for EKS cluster add-on AWS EBS CSI Driver. ref. https://github.com/kubernetes-sigs/aws-ebs-csi-driver#deploy-driver
type AddOnCSRsLocal ¶ added in v1.2.2
type AddOnCSRsLocal struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Objects is the number of "CertificateSigningRequest" objects to create. Objects int `json:"objects"` // InitialRequestConditionType is the initial CSR condition type // to simulate CSR condition. // // Valid values are: // "k8s.io/api/certificates/v1beta1.CertificateApproved" == "Approved" // "k8s.io/api/certificates/v1beta1.CertificateDenied" == "Denied" // "Random" // "Pending" // "" // InitialRequestConditionType string `json:"initial-request-condition-type"` // CreatedNames is the list of created "CertificateSigningRequest" object names. CreatedNames []string `json:"created-names" read-only:"true"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` }
AddOnCSRsLocal defines parameters for EKS cluster add-on "CertificateSigningRequest" local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency. The main use case is to write a large number of objects to fill up etcd database.
type AddOnCSRsRemote ¶ added in v1.2.2
type AddOnCSRsRemote struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // Completes is the desired number of successfully finished pods. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. Parallels int `json:"parallels"` // Objects is the number of "CertificateSigningRequest" objects to create. Objects int `json:"objects"` // InitialRequestConditionType is the initial CSR condition type // to simulate CSR condition. // // Valid values are: // "k8s.io/api/certificates/v1beta1.CertificateApproved" == "Approved" // "k8s.io/api/certificates/v1beta1.CertificateDenied" == "Denied" // "Random" // "Pending" // "" // InitialRequestConditionType string `json:"initial-request-condition-type"` // RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker. RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` }
AddOnCSRsRemote defines parameters for EKS cluster add-on "CertificateSigningRequest" remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. The main use case is to write a large number of objects to fill up etcd database.
type AddOnCUDAVectorAdd ¶ added in v1.3.0
type AddOnCUDAVectorAdd struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` }
AddOnCUDAVectorAdd defines parameters for EKS cluster add-on cuda-vector-add.
type AddOnCWAgent ¶ added in v1.4.6
type AddOnCWAgent struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` }
AddOnCWAgent defines parameters for EKS cluster add-on CloudWatch agent. Publishes worker nodes logs to:
- /aws/containerinsights/[CLUSTER-NAME]/performance
type AddOnClusterLoaderLocal ¶ added in v1.1.9
type AddOnClusterLoaderLocal struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // ClusterLoaderPath is the clusterloader executable binary path. // ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2 ClusterLoaderPath string `json:"cluster-loader-path"` ClusterLoaderDownloadURL string `json:"cluster-loader-download-url"` // TestConfigPath is the clusterloader2 test configuration file. // Set via "--testconfig" flag. TestConfigPath string `json:"test-config-path"` // ReportDir is the clusterloader2 test report directory. // Set via "--report-dir" flag. ReportDir string `json:"report-dir"` // ReportTarGzPath is the .tar.gz file path for report directory. ReportTarGzPath string `json:"report-tar-gz-path" read-only:"true"` ReportTarGzS3Key string `json:"report-tar-gz-s3-key" read-only:"true"` // LogPath is the log file path to stream clusterloader binary runs. LogPath string `json:"log-path" read-only:"true"` LogS3Key string `json:"log-s3-key" read-only:"true"` // PodStartupLatencyPath is the JSON file path to store pod startup latency. PodStartupLatencyPath string `json:"pod-startup-latency-path" read-only:"true"` PodStartupLatencyS3Key string `json:"pod-startup-latency-s3-key" read-only:"true"` // Runs is the number of "clusterloader2" runs back-to-back. Runs int `json:"runs"` // Timeout is the timeout for the total test runs. Timeout time.Duration `json:"timeout"` // Nodes is the number of nodes. // Set via "--nodes" flag. Nodes int `json:"nodes"` NodesPerNamespace int `json:"nodes-per-namespace"` PodsPerNode int `json:"pods-per-node"` BigGroupSize int `json:"big-group-size"` MediumGroupSize int `json:"medium-group-size"` SmallGroupSize int `json:"small-group-size"` SmallStatefulSetsPerNamespace int `json:"small-stateful-sets-per-namespace"` MediumStatefulSetsPerNamespace int `json:"medium-stateful-sets-per-namespace"` // ref. https://github.com/kubernetes/perf-tests/pull/1345 CL2UseHostNetworkPods bool `json:"cl2-use-host-network-pods"` CL2LoadTestThroughput int `json:"cl2-load-test-throughput"` CL2EnablePVS bool `json:"cl2-enable-pvs"` CL2SchedulerThroughputThreshold int `json:"cl2-scheduler-throughput-threshold"` PrometheusScrapeKubeProxy bool `json:"prometheus-scrape-kube-proxy"` EnableSystemPodMetrics bool `json:"enable-system-pod-metrics"` PodStartupLatency measurement_util.PerfData `json:"pod-startup-latency" read-only:"true"` }
AddOnClusterLoaderLocal defines parameters for EKS cluster add-on cluster loader local. It generates loads from the local host machine. ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2
type AddOnClusterLoaderRemote ¶ added in v1.1.9
type AddOnClusterLoaderRemote struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // ClusterLoaderPath is the clusterloader executable binary path. // ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2 ClusterLoaderPath string `json:"cluster-loader-path"` ClusterLoaderDownloadURL string `json:"cluster-loader-download-url"` // ReportTarGzPath is the .tar.gz file path for report directory. // This is the local path after downloaded from remote nodes. ReportTarGzPath string `json:"report-tar-gz-path" read-only:"true"` ReportTarGzS3Key string `json:"report-tar-gz-s3-key" read-only:"true"` // LogPath is the log file path to stream clusterloader binary runs. LogPath string `json:"log-path" read-only:"true"` LogS3Key string `json:"log-s3-key" read-only:"true"` // PodStartupLatencyPath is the JSON file path to store pod startup latency. PodStartupLatencyPath string `json:"pod-startup-latency-path" read-only:"true"` PodStartupLatencyS3Key string `json:"pod-startup-latency-s3-key" read-only:"true"` // Runs is the number of "clusterloader2" runs back-to-back. Runs int `json:"runs"` // Nodes is the number of nodes. // Set via "--nodes" flag. Nodes int `json:"nodes"` // Timeout is the timeout for the total test runs. Timeout time.Duration `json:"timeout"` NodesPerNamespace int `json:"nodes-per-namespace"` PodsPerNode int `json:"pods-per-node"` BigGroupSize int `json:"big-group-size"` MediumGroupSize int `json:"medium-group-size"` SmallGroupSize int `json:"small-group-size"` SmallStatefulSetsPerNamespace int `json:"small-stateful-sets-per-namespace"` MediumStatefulSetsPerNamespace int `json:"medium-stateful-sets-per-namespace"` // ref. https://github.com/kubernetes/perf-tests/pull/1345 CL2UseHostNetworkPods bool `json:"cl2-use-host-network-pods"` CL2LoadTestThroughput int `json:"cl2-load-test-throughput"` CL2EnablePVS bool `json:"cl2-enable-pvs"` CL2SchedulerThroughputThreshold int `json:"cl2-scheduler-throughput-threshold"` PrometheusScrapeKubeProxy bool `json:"prometheus-scrape-kube-proxy"` EnableSystemPodMetrics bool `json:"enable-system-pod-metrics"` PodStartupLatency measurement_util.PerfData `json:"pod-startup-latency" read-only:"true"` }
AddOnClusterLoaderRemote defines parameters for EKS cluster add-on cluster loader remote. It generates loads from the remote host machine. ref. https://github.com/kubernetes/perf-tests/pull/1295 ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2
type AddOnClusterVersionUpgrade ¶ added in v1.3.2
type AddOnClusterVersionUpgrade struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` // WaitBeforeUpgrade is the wait duration before it starts cluster version upgrade. WaitBeforeUpgrade time.Duration `json:"wait-before-upgrade"` WaitBeforeUpgradeString string `json:"wait-before-upgrade-string" read-only:"true"` // Version is the target version of EKS Kubernetes "cluster". // If empty, set default version. Version string `json:"version"` VersionValue float64 `json:"version-value" read-only:"true"` }
AddOnClusterVersionUpgrade defines parameters for EKS cluster version upgrade add-on.
type AddOnConfigmapsLocal ¶ added in v1.3.5
type AddOnConfigmapsLocal struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // Objects is the number of "ConfigMap" objects to create. Objects int `json:"objects"` // ObjectSize is the "ConfigMap" value size in bytes. ObjectSize int `json:"object-size"` // CreatedNames is the list of created "ConfigMap" object names. CreatedNames []string `json:"created-names" read-only:"true"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` }
AddOnConfigmapsLocal defines parameters for EKS cluster add-on "ConfigMap" local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency. The main use case is to write large objects to fill up etcd database.
type AddOnConfigmapsRemote ¶ added in v1.3.5
type AddOnConfigmapsRemote struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // Completes is the desired number of successfully finished pods. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. // The total number of objects to be created is "Completes" * "Objects". Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. // The total number of objects to be created is "Completes" * "Objects". Parallels int `json:"parallels"` // Objects is the number of "ConfigMap" objects to create. Objects int `json:"objects"` // ObjectSize is the "ConfigMap" value size in bytes. ObjectSize int `json:"object-size"` // CreatedNames is the list of created "ConfigMap" object names. CreatedNames []string `json:"created-names" read-only:"true"` // RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker. RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` }
AddOnConfigmapsRemote defines parameters for EKS cluster add-on "ConfigMap" remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. The main use case is to write large objects to fill up etcd database.
type AddOnConformance ¶ added in v1.1.3
type AddOnConformance struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // SonobuoyPath is the path to download the "sonobuoy". SonobuoyPath string `json:"sonobuoy-path,omitempty"` // SonobuoyDownloadURL is the download URL to download "sonobuoy" binary from. // ref. https://github.com/vmware-tanzu/sonobuoy/releases SonobuoyDownloadURL string `json:"sonobuoy-download-url,omitempty"` // SonobuoyE2eRepoConfig File path to e2e registry config // ref. https://sonobuoy.io/docs/master/airgap/ SonobuoyE2eRepoConfig string `json:"sonobuoy-e2e-repo-config"` // SonobuoyImage Container override for the sonobuoy worker image SonobuoyImage string `json:"sonobuoy-image"` // SystemdLogsImage Container override for systemd-logs plugin image SystemdLogsImage string `json:"systemd-logs-image"` SonobuoyDeleteTimeout time.Duration `json:"sonobuoy-delete-timeout"` SonobuoyDeleteTimeoutString string `json:"sonobuoy-delete-timeout-string" read-only:"true"` SonobuoyRunTimeout time.Duration `json:"sonobuoy-run-timeout"` SonobuoyRunTimeoutString string `json:"sonobuoy-run-timeout-string" read-only:"true"` // SonobuoyRunMode is the mode to run sonobuoy in. // Valid modes are 'non-disruptive-conformance', 'quick', 'certified-conformance'. // The default is 'certified-conformance'. // ref. https://github.com/vmware-tanzu/sonobuoy SonobuoyRunMode string `json:"sonobuoy-run-mode"` SonobuoyRunKubeConformanceImage string `json:"sonobuoy-run-kube-conformance-image"` SonobuoyRunE2eFocus string `json:"sonobuoy-run-e2e-focus"` SonobuoyRunE2eSkip string `json:"sonobuoy-run-e2e-skip"` SonobuoyResultTarGzPath string `json:"sonobuoy-result-tar-gz-path" read-only:"true"` SonobuoyResultTarGzS3Key string `json:"sonobuoy-result-tar-gz-s3-key" read-only:"true"` SonobuoyResultDir string `json:"sonobuoy-result-dir" read-only:"true"` SonobuoyResultE2eLogPath string `json:"sonobuoy-result-e2e-log-path" read-only:"true"` SonobuoyResultE2eLogS3Key string `json:"sonobuoy-result-e2e-log-s3-key" read-only:"true"` SonobuoyResultJunitXMLPath string `json:"sonobuoy-result-junit-xml-path" read-only:"true"` SonobuoyResultJunitXMLS3Key string `json:"sonobuoy-result-junit-xml-s3-key" read-only:"true"` }
AddOnConformance defines parameters for EKS cluster add-on Conformance. ref. https://github.com/cncf/k8s-conformance/blob/master/instructions.md ref. https://github.com/vmware-tanzu/sonobuoy
type AddOnCronJobs ¶ added in v0.9.8
type AddOnCronJobs struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryBusyboxAccountID is the account ID for tester ECR image. // e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox" RepositoryBusyboxAccountID string `json:"repository-busybox-account-id,omitempty"` // RepositoryBusyboxRegion is the ECR repository region to pull from. RepositoryBusyboxRegion string `json:"repository-busybox-region,omitempty"` // RepositoryBusyboxName is the repositoryName for tester ECR image. // e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox" RepositoryBusyboxName string `json:"repository-busybox-name,omitempty"` // RepositoryBusyboxImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox:latest" RepositoryBusyboxImageTag string `json:"repository-busybox-image-tag,omitempty"` // Schedule is the cron schedule (e.g. "*/1 * * * *"). Schedule string `json:"schedule"` // Completes is the desired number of successfully finished pods. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. Parallels int `json:"parallels"` // SuccessfulJobsHistoryLimit is the number of successful finished // jobs to retain. Defaults to 3. SuccessfulJobsHistoryLimit int32 `json:"successful-jobs-history-limit"` // FailedJobsHistoryLimit is the number of failed finished jobs // to retain. Defaults to 1. FailedJobsHistoryLimit int32 `json:"failed-jobs-history-limit"` // EchoSize is the job object size in bytes. // "Request entity too large: limit is 3145728" (3.1 MB). // "The Job "echo" is invalid: metadata.annotations: // Too long: must have at most 262144 characters". (0.26 MB) EchoSize int `json:"echo-size"` }
AddOnCronJobs defines parameters for EKS cluster add-on with CronJob.
type AddOnFargate ¶ added in v0.6.3
type AddOnFargate struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // RoleName is the role name for Fargate. RoleName string `json:"role-name"` // RoleCreate is true to auto-create and delete role. RoleCreate bool `json:"role-create"` // RoleARN is the role ARN for Fargate. RoleARN string `json:"role-arn"` // RoleServicePrincipals is the Fargate role Service Principals RoleServicePrincipals []string `json:"role-service-principals"` // RoleManagedPolicyARNs is Fargate role managed policy ARNs. RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"` RoleCFNStackID string `json:"role-cfn-stack-id" read-only:"true"` RoleCFNStackYAMLPath string `json:"role-cfn-stack-yaml-path" read-only:"true"` RoleCFNStackYAMLS3Key string `json:"role-cfn-stack-yaml-s3-key" read-only:"true"` // ProfileName is the profile name for Fargate. ProfileName string `json:"profile-name"` // SecretName is the secret name for Fargate. SecretName string `json:"secret-name"` }
AddOnFargate defines parameters for EKS cluster add-on "EKS on Fargate".
type AddOnFluentd ¶ added in v1.4.6
type AddOnFluentd struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryBusyboxAccountID is the account ID for tester ECR image. // e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox" RepositoryBusyboxAccountID string `json:"repository-busybox-account-id,omitempty"` // RepositoryBusyboxRegion is the ECR repository region to pull from. RepositoryBusyboxRegion string `json:"repository-busybox-region,omitempty"` // RepositoryBusyboxName is the repositoryName for tester ECR image. // e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox" RepositoryBusyboxName string `json:"repository-busybox-name,omitempty"` // RepositoryBusyboxImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox:latest" RepositoryBusyboxImageTag string `json:"repository-busybox-image-tag,omitempty"` // Threads is the number of threads for fluentd. // ref. https://docs.fluentd.org/v/0.12/output#num_threads Threads int `json:"threads"` // MetadataLogLevel is the log level for "@type kubernetes_metadata". // ref. https://docs.fluentd.org/deployment/system-config // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataLogLevel string `json:"metadata-log-level"` // MetadataCacheSize is the size of the cache of Kubernetes metadata // to reduce the requests to the kube-apiserver. // ref. "@type kubernetes_metadata" // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataCacheSize int `json:"metadata-cache-size"` // MetadataWatch is true to enable watch on pods on the kube-apiserver // for updates to the metadata. // ref. "@type kubernetes_metadata" // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataWatch bool `json:"metadata-watch"` // MetadataSkipLabels is true to skip all label fields from the metadata. // ref. "@type kubernetes_metadata" // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataSkipLabels bool `json:"metadata-skip-labels"` // MetadataSkipMasterURL is true to skip "master_url" field from the metadata. // ref. "@type kubernetes_metadata" // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataSkipMasterURL bool `json:"metadata-skip-master-url"` // MetadataSkipContainerMetadata is true to skip some container data of the metadata. // For example, if true, it skips container image and image ID fields. // ref. "@type kubernetes_metadata" // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataSkipContainerMetadata bool `json:"metadata-skip-container-metadata"` // MetadataSkipNamespaceMetadata is true to skip "namespace_id" field from the metadata. // If true, the plugin will be faster with less CPU consumption. // ref. "@type kubernetes_metadata" // ref. https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter MetadataSkipNamespaceMetadata bool `json:"metadata-skip-namespace-metadata"` }
AddOnFluentd defines parameters for EKS cluster add-on Fluentd. Publishes worker nodes logs to:
- /aws/containerinsights/[CLUSTER-NAME]/application
- /aws/containerinsights/[CLUSTER-NAME]/dataplane
- /aws/containerinsights/[CLUSTER-NAME]/host
type AddOnIRSA ¶ added in v0.5.8
type AddOnIRSA struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // RoleName is the role name for IRSA. RoleName string `json:"role-name"` // RoleARN is the role ARN for IRSA. RoleARN string `json:"role-arn"` RoleCFNStackID string `json:"role-cfn-stack-id" read-only:"true"` RoleCFNStackYAMLPath string `json:"role-cfn-stack-yaml-path" read-only:"true"` RoleCFNStackYAMLS3Key string `json:"role-cfn-stack-yaml-s3-key" read-only:"true"` // S3Key is the S3 key to write for IRSA tests. S3Key string `json:"s3-key"` // DeploymentReplicas is the number of Deployment replicas. DeploymentReplicas int32 `json:"deployment-replicas"` // DeploymentResultPath is the output of "Deployment" run. DeploymentResultPath string `json:"deployment-result-path"` // DeploymentTook is the duration that took for Deployment resource. DeploymentTook time.Duration `json:"deployment-took,omitempty" read-only:"true"` // DeploymentTookString is the duration that took for Deployment resource. DeploymentTookString string `json:"deployment-took-string,omitempty" read-only:"true"` }
AddOnIRSA defines parameters for EKS cluster add-on "IAM Roles for Service Accounts (IRSA)".
type AddOnIRSAFargate ¶ added in v1.0.7
type AddOnIRSAFargate struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // RoleName is the role name for IRSA. RoleName string `json:"role-name"` // RoleARN is the role ARN for IRSA. RoleARN string `json:"role-arn"` // RoleServicePrincipals is the Fargate role Service Principals RoleServicePrincipals []string `json:"role-service-principals"` // RoleManagedPolicyARNs is IRSA role managed policy ARNs. // ref. https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/ RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"` RoleCFNStackID string `json:"role-cfn-stack-id" read-only:"true"` RoleCFNStackYAMLPath string `json:"role-cfn-stack-yaml-path" read-only:"true"` RoleCFNStackYAMLS3Key string `json:"role-cfn-stack-yaml-s3-key" read-only:"true"` // S3Key is the S3 key to write for IRSA tests. S3Key string `json:"s3-key"` // ProfileName is the profile name for Fargate. ProfileName string `json:"profile-name"` }
AddOnIRSAFargate defines parameters for EKS cluster add-on "IAM Roles for Service Accounts (IRSA)" with Fargate.
type AddOnJobsEcho ¶ added in v0.9.8
type AddOnJobsEcho struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryBusyboxAccountID is the account ID for tester ECR image. // e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox" RepositoryBusyboxAccountID string `json:"repository-busybox-account-id,omitempty"` // RepositoryBusyboxRegion is the ECR repository region to pull from. RepositoryBusyboxRegion string `json:"repository-busybox-region,omitempty"` // RepositoryBusyboxName is the repositoryName for tester ECR image. // e.g. "busybox" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox" RepositoryBusyboxName string `json:"repository-busybox-name,omitempty"` // RepositoryBusyboxImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/busybox:latest" RepositoryBusyboxImageTag string `json:"repository-busybox-image-tag,omitempty"` // Completes is the desired number of successfully finished pods. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. Parallels int `json:"parallels"` // EchoSize is the job object size in bytes. // "Request entity too large: limit is 3145728" (3.1 MB). // "The Job "echo" is invalid: metadata.annotations: // Too long: must have at most 262144 characters". (0.26 MB) EchoSize int `json:"echo-size"` }
AddOnJobsEcho defines parameters for EKS cluster add-on Job with echo.
type AddOnJobsPi ¶ added in v0.9.8
type AddOnJobsPi struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // Completes is the desired number of successfully finished pods. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. Parallels int `json:"parallels"` }
AddOnJobsPi defines parameters for EKS cluster add-on Job with Perl.
type AddOnJupyterHub ¶ added in v1.0.8
type AddOnJupyterHub struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // ProxySecretToken is 32-byte hexadecimal encoded secret token string. // e.g. "openssl rand -hex 32" ProxySecretToken string `json:"proxy-secret-token"` // NLBARN is the ARN of the NLB created from the service. NLBARN string `json:"nlb-arn" read-only:"true"` // NLBName is the name of the NLB created from the service. NLBName string `json:"nlb-name" read-only:"true"` // URL is the host name for Jupyter Hub service. URL string `json:"url" read-only:"true"` }
AddOnJupyterHub defines parameters for EKS cluster add-on Jupyter Hub. ref. https://zero-to-jupyterhub.readthedocs.io/en/latest/index.html
type AddOnKubeflow ¶ added in v1.0.6
type AddOnKubeflow struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // KfctlPath is the path to download the "kfctl". KfctlPath string `json:"kfctl-path,omitempty"` // KfctlDownloadURL is the download URL to download "kfctl" binary from. // ref. https://github.com/kubeflow/kfctl/releases KfctlDownloadURL string `json:"kfctl-download-url,omitempty"` // BaseDir is the base directory where you want to store one or more // Kubeflow deployments. BaseDir string `json:"base-dir"` KfDir string `json:"kf-dir" read-only:"true"` // KfctlConfigPath is the path to write "kfctl" configuration. // The existing configuration file is overwritten. KfctlConfigPath string `json:"kfctl-config-path" read-only:"true"` }
AddOnKubeflow defines parameters for EKS cluster add-on Kubeflow. ref. https://www.kubeflow.org/docs/aws/deploy/install-kubeflow/
type AddOnKubernetesDashboard ¶ added in v1.0.6
type AddOnKubernetesDashboard struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // AuthenticationToken is the authentication token for eks-admin service account. AuthenticationToken string `json:"authentication-token,omitempty" read-only:"true"` // URL is the host name for Kubernetes Dashboard service. URL string `json:"url" read-only:"true"` // KubectlProxyPID is the PID for kubectl proxy. KubectlProxyPID int `json:"kubectl-proxy-pid" read-only:"true"` }
AddOnKubernetesDashboard defines parameters for EKS cluster add-on Kubernetes Dashboard. ref. https://docs.aws.amazon.com/eks/latest/userguide/dashboard-tutorial.html
type AddOnManagedNodeGroups ¶ added in v0.5.5
type AddOnManagedNodeGroups struct { // Enable is true to auto-create a managed node group. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // FetchLogs is true to fetch logs from remote nodes using SSH. FetchLogs bool `json:"fetch-logs"` Role *Role `json:"role"` // RequestHeaderKey defines EKS managed node group create cluster request header key. RequestHeaderKey string `json:"request-header-key,omitempty"` // RequestHeaderValue defines EKS managed node group create cluster request header value. RequestHeaderValue string `json:"request-header-value,omitempty"` // ResolverURL defines an AWS resolver endpoint for EKS API. // Must be left empty to use production EKS managed node group service. ResolverURL string `json:"resolver-url"` // SigningName is the EKS managed node group create request signing name. SigningName string `json:"signing-name"` // LogsDir is set to specify the target directory to store all remote log files. // If empty, it stores in the same directory as "ConfigPath". LogsDir string `json:"logs-dir,omitempty"` // LogsTarGzPath is the .tar.gz archived file for "LogsDir". LogsTarGzPath string `json:"logs-tar-gz-path"` // MNGs maps from EKS Managed Node Group name to "MNG". // "GetRef.Name" is the reserved key and MNG name from eksconfig.Config.Name. MNGs map[string]MNG `json:"mngs,omitempty"` }
AddOnManagedNodeGroups defines parameters for EKS "Managed Node Group" creation. 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
type AddOnMetricsServer ¶ added in v1.3.7
type AddOnMetricsServer struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` }
AddOnMetricsServer defines parameters for EKS cluster add-on metrics server. ref. https://github.com/kubernetes-sigs/metrics-server/releases
type AddOnNLBGuestbook ¶ added in v1.3.9
type AddOnNLBGuestbook struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // DeploymentReplicas is the number of replicas to deploy using "Deployment" object. DeploymentReplicas int32 `json:"deployment-replicas"` // DeploymentNodeSelector is configured to overwrite existing node selector // for NLB hello world deployment. If left empty, tester sets default selector. DeploymentNodeSelector map[string]string `json:"deployment-node-selector"` // NLBARN is the ARN of the NLB created from the service. NLBARN string `json:"nlb-arn" read-only:"true"` // NLBName is the name of the NLB created from the service. NLBName string `json:"nlb-name" read-only:"true"` // URL is the host name for guestbook service. URL string `json:"url" read-only:"true"` }
AddOnNLBGuestbook defines parameters for EKS cluster add-on NLB guestbook service. ref. https://github.com/kubernetes/examples/tree/master/guestbook-go ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-guestbook.html
type AddOnNLBHelloWorld ¶ added in v0.5.0
type AddOnNLBHelloWorld struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // DeploymentReplicas is the number of replicas to deploy using "Deployment" object. DeploymentReplicas int32 `json:"deployment-replicas"` // DeploymentNodeSelector is configured to overwrite existing node selector // for NLB hello world deployment. If left empty, tester sets default selector. DeploymentNodeSelector map[string]string `json:"deployment-node-selector"` // NLBARN is the ARN of the NLB created from the service. NLBARN string `json:"nlb-arn" read-only:"true"` // NLBName is the name of the NLB created from the service. NLBName string `json:"nlb-name" read-only:"true"` // URL is the host name for hello-world service. URL string `json:"url" read-only:"true"` }
AddOnNLBHelloWorld defines parameters for EKS cluster add-on NLB hello-world service.
type AddOnNodeGroups ¶ added in v0.7.5
type AddOnNodeGroups struct { // Enable is true to auto-create ad node group. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` Role *Role `json:"role"` // FetchLogs is true to fetch logs from remote nodes using SSH. FetchLogs bool `json:"fetch-logs"` // LogsDir is set to specify the target directory to store all remote log files. // If empty, it stores in the same directory as "ConfigPath". LogsDir string `json:"logs-dir,omitempty"` // LogsTarGzPath is the .tar.gz archived file for "LogsDir". LogsTarGzPath string `json:"logs-tar-gz-path"` // ASGs maps from EKS Node Group name to "ASG". // "GetRef.Name" is the reserved key and NG name from eksconfig.Config.Name. ASGs map[string]ASG `json:"asgs,omitempty"` }
AddOnNodeGroups defines parameters for EKS "Managed Node Group" creation. 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 (*AddOnNodeGroups) IsEnabledClusterAutoscaler ¶ added in v1.4.6
func (addOn *AddOnNodeGroups) IsEnabledClusterAutoscaler() bool
type AddOnPHPApache ¶ added in v1.4.6
type AddOnPHPApache struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "php-apache" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/php-apache" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "php-apache" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/php-apache" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/php-apache:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // DeploymentReplicas is the number of replicas to deploy using "Deployment" object. DeploymentReplicas int32 `json:"deployment-replicas"` // DeploymentNodeSelector is configured to overwrite existing node selector // for PHP Apache deployment. If left empty, tester sets default selector. DeploymentNodeSelector map[string]string `json:"deployment-node-selector"` }
AddOnPHPApache defines parameters for EKS cluster add-on PHP Apache.
type AddOnPrometheusGrafana ¶ added in v1.0.6
type AddOnPrometheusGrafana struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // GrafanaAdminUserName is the admin user for the Grafana service. GrafanaAdminUserName string `json:"grafana-admin-user-name"` // GrafanaAdminPassword is the admin password for the Grafana service. GrafanaAdminPassword string `json:"grafana-admin-password"` // GrafanaNLBARN is the ARN of the NLB created from the Grafana service. GrafanaNLBARN string `json:"grafana-nlb-arn" read-only:"true"` // GrafanaNLBName is the name of the NLB created from the Grafana service. GrafanaNLBName string `json:"grafana-nlb-name" read-only:"true"` // GrafanaURL is the host name for Grafana service. GrafanaURL string `json:"grafana-url" read-only:"true"` }
AddOnPrometheusGrafana defines parameters for EKS cluster add-on Prometheus/Grafana. ref. https://docs.aws.amazon.com/eks/latest/userguide/prometheus.html ref. https://eksworkshop.com/intermediate/240_monitoring/deploy-prometheus/
type AddOnSecretsLocal ¶ added in v1.2.2
type AddOnSecretsLocal struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // Objects is the number of "Secret" objects to write/read. Objects int `json:"objects"` // ObjectSize is the "Secret" value size in bytes. ObjectSize int `json:"object-size"` // NamePrefix is the prefix of Secret name. // If multiple Secret loader is running, // this must be unique per worker to avoid name conflicts. NamePrefix string `json:"name-prefix"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` RequestsRawReadsJSONPath string `json:"requests-raw-reads-json-path" read-only:"true"` RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"` // RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawReadsCompareS3Dir string `json:"requests-raw-reads-compare-s3-dir"` RequestsRawReadsCompareAllJSONPath string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"` RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"` RequestsRawReadsCompareAllCSVPath string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"` RequestsRawReadsCompareAllCSVS3Key string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` RequestsSummaryReadsJSONS3Key string `json:"requests-summary-reads-json-s3-key" read-only:"true"` RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-path" read-only:"true"` RequestsSummaryReadsTableS3Key string `json:"requests-summary-reads-table-s3-path" read-only:"true"` // RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryReadsCompareS3Dir string `json:"requests-summary-reads-compare-s3-dir"` RequestsSummaryReadsCompare metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"` RequestsSummaryReadsCompareJSONPath string `json:"requests-summary-reads-compare-json-path" read-only:"true"` RequestsSummaryReadsCompareJSONS3Key string `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"` RequestsSummaryReadsCompareTablePath string `json:"requests-summary-reads-compare-table-path" read-only:"true"` RequestsSummaryReadsCompareTableS3Key string `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"` }
AddOnSecretsLocal defines parameters for EKS cluster add-on "Secrets" local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency. The main use case is to write a large number of objects to fill up etcd database. And measure latencies for secret encryption.
type AddOnSecretsRemote ¶ added in v1.2.2
type AddOnSecretsRemote struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // Completes is the desired number of successfully finished pods. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. Parallels int `json:"parallels"` // Objects is the number of "Secret" objects to write/read. Objects int `json:"objects"` // ObjectSize is the "Secret" value size in bytes. ObjectSize int `json:"object-size"` // NamePrefix is the prefix of Secret name. // If multiple Secret loader is running, // this must be unique per worker to avoid name conflicts. NamePrefix string `json:"name-prefix"` // RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker. RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"` // RequestsSummaryReadsOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker. RequestsSummaryReadsOutputNamePrefix string `json:"requests-summary-reads-output-name-prefix"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` RequestsRawReadsJSONPath string `json:"requests-raw-reads-json-path" read-only:"true"` RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"` // RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawReadsCompareS3Dir string `json:"requests-raw-reads-compare-s3-dir"` RequestsRawReadsCompareAllJSONPath string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"` RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"` RequestsRawReadsCompareAllCSVPath string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"` RequestsRawReadsCompareAllCSVS3Key string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` RequestsSummaryReadsJSONS3Key string `json:"requests-summary-reads-json-s3-key" read-only:"true"` RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-path" read-only:"true"` RequestsSummaryReadsTableS3Key string `json:"requests-summary-reads-table-s3-path" read-only:"true"` // RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryReadsCompareS3Dir string `json:"requests-summary-reads-compare-s3-dir"` RequestsSummaryReadsCompare metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"` RequestsSummaryReadsCompareJSONPath string `json:"requests-summary-reads-compare-json-path" read-only:"true"` RequestsSummaryReadsCompareJSONS3Key string `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"` RequestsSummaryReadsCompareTablePath string `json:"requests-summary-reads-compare-table-path" read-only:"true"` RequestsSummaryReadsCompareTableS3Key string `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"` }
AddOnSecretsRemote defines parameters for EKS cluster add-on "Secrets" remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. The main use case is to write a large number of objects to fill up etcd database. And measure latencies for secret encryption.
type AddOnStresserLocal ¶ added in v1.2.2
type AddOnStresserLocal struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // ObjectSize is the value size in bytes for write objects. ObjectSize int `json:"object-size"` // ListLimit is the maximum number of items in the list call. // Sets "metav1.ListOptions".Limit field. // 0 to list all. ListLimit int64 `json:"list-limit"` // Duration is the duration to run load testing. Duration time.Duration `json:"duration,omitempty"` DurationString string `json:"duration-string,omitempty" read-only:"true"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` RequestsRawReadsJSONPath string `json:"requests-raw-reads-json-path" read-only:"true"` RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"` // RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawReadsCompareS3Dir string `json:"requests-raw-reads-compare-s3-dir"` RequestsRawReadsCompareAllJSONPath string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"` RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"` RequestsRawReadsCompareAllCSVPath string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"` RequestsRawReadsCompareAllCSVS3Key string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` RequestsSummaryReadsJSONS3Key string `json:"requests-summary-reads-json-s3-key" read-only:"true"` RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-path" read-only:"true"` RequestsSummaryReadsTableS3Key string `json:"requests-summary-reads-table-s3-path" read-only:"true"` // RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryReadsCompareS3Dir string `json:"requests-summary-reads-compare-s3-dir"` RequestsSummaryReadsCompare metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"` RequestsSummaryReadsCompareJSONPath string `json:"requests-summary-reads-compare-json-path" read-only:"true"` RequestsSummaryReadsCompareJSONS3Key string `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"` RequestsSummaryReadsCompareTablePath string `json:"requests-summary-reads-compare-table-path" read-only:"true"` RequestsSummaryReadsCompareTableS3Key string `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"` }
AddOnStresserLocal defines parameters for EKS cluster add-on cluster loader local. It generates loads from the local host machine. Every request for write/read is sent serially with no concurrency. Use remote tester to write and read with concurrency.
type AddOnStresserRemote ¶ added in v1.2.2
type AddOnStresserRemote struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // S3Dir is the S3 directory to store all test results. // It is under the bucket "eksconfig.Config.S3BucketName". S3Dir string `json:"s3-dir"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // Completes is the desired number of successfully finished pods. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. Parallels int `json:"parallels"` // ObjectSize is the value size in bytes for write objects. // If 0, do not write anything. ObjectSize int `json:"object-size"` // ListLimit is the maximum number of items in the list call. // Sets "metav1.ListOptions".Limit field. // 0 to list all. ListLimit int64 `json:"list-limit"` // Duration is the duration to run load testing. Duration time.Duration `json:"duration,omitempty"` DurationString string `json:"duration-string,omitempty" read-only:"true"` // RequestsSummaryWritesOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker. RequestsSummaryWritesOutputNamePrefix string `json:"requests-summary-writes-output-name-prefix"` // RequestsSummaryReadsOutputNamePrefix is the output path name in "/var/log" directory, used in remote worker. RequestsSummaryReadsOutputNamePrefix string `json:"requests-summary-reads-output-name-prefix"` RequestsRawWritesJSONPath string `json:"requests-raw-writes-json-path" read-only:"true"` RequestsRawWritesJSONS3Key string `json:"requests-raw-writes-json-s3-key" read-only:"true"` // RequestsRawWritesCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawWritesCompareS3Dir string `json:"requests-raw-writes-compare-s3-dir"` RequestsRawWritesCompareAllJSONPath string `json:"requests-raw-writes-compare-all-json-path" read-only:"true"` RequestsRawWritesCompareAllJSONS3Key string `json:"requests-raw-writes-compare-all-json-s3-key" read-only:"true"` RequestsRawWritesCompareAllCSVPath string `json:"requests-raw-writes-compare-all-csv-path" read-only:"true"` RequestsRawWritesCompareAllCSVS3Key string `json:"requests-raw-writes-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` RequestsSummaryWritesJSONS3Key string `json:"requests-summary-writes-json-s3-key" read-only:"true"` RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` RequestsSummaryWritesTableS3Key string `json:"requests-summary-writes-table-s3-path" read-only:"true"` // RequestsSummaryWritesCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryWritesCompareS3Dir string `json:"requests-summary-writes-compare-s3-dir"` RequestsSummaryWritesCompare metrics.RequestsCompare `json:"requests-summary-writes-compare" read-only:"true"` RequestsSummaryWritesCompareJSONPath string `json:"requests-summary-writes-compare-json-path" read-only:"true"` RequestsSummaryWritesCompareJSONS3Key string `json:"requests-summary-writes-compare-json-s3-key" read-only:"true"` RequestsSummaryWritesCompareTablePath string `json:"requests-summary-writes-compare-table-path" read-only:"true"` RequestsSummaryWritesCompareTableS3Key string `json:"requests-summary-writes-compare-table-s3-path" read-only:"true"` RequestsRawReadsJSONPath string `json:"requests-raw-reads-json-path" read-only:"true"` RequestsRawReadsJSONS3Key string `json:"requests-raw-reads-json-s3-key" read-only:"true"` // RequestsRawReadsCompareS3Dir is the s3 directory to store raw data points. // Used to comparison results. // ref. https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test RequestsRawReadsCompareS3Dir string `json:"requests-raw-reads-compare-s3-dir"` RequestsRawReadsCompareAllJSONPath string `json:"requests-raw-reads-compare-all-json-path" read-only:"true"` RequestsRawReadsCompareAllJSONS3Key string `json:"requests-raw-reads-compare-all-json-s3-key" read-only:"true"` RequestsRawReadsCompareAllCSVPath string `json:"requests-raw-reads-compare-all-csv-path" read-only:"true"` RequestsRawReadsCompareAllCSVS3Key string `json:"requests-raw-reads-compare-all-csv-s3-key" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` RequestsSummaryReadsJSONS3Key string `json:"requests-summary-reads-json-s3-key" read-only:"true"` RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-path" read-only:"true"` RequestsSummaryReadsTableS3Key string `json:"requests-summary-reads-table-s3-path" read-only:"true"` // RequestsSummaryReadsCompareS3Dir is the S3 directory of previous/latest "RequestsSummary". // Specify the S3 key in the same bucket of "eksconfig.Config.S3BucketName". // Use for regression tests. Specify the value not bound to the cluster directory. // Different runs from different clusters reads and writes in this directory. RequestsSummaryReadsCompareS3Dir string `json:"requests-summary-reads-compare-s3-dir"` RequestsSummaryReadsCompare metrics.RequestsCompare `json:"requests-summary-reads-compare" read-only:"true"` RequestsSummaryReadsCompareJSONPath string `json:"requests-summary-reads-compare-json-path" read-only:"true"` RequestsSummaryReadsCompareJSONS3Key string `json:"requests-summary-reads-compare-json-s3-key" read-only:"true"` RequestsSummaryReadsCompareTablePath string `json:"requests-summary-reads-compare-table-path" read-only:"true"` RequestsSummaryReadsCompareTableS3Key string `json:"requests-summary-reads-compare-table-s3-path" read-only:"true"` }
AddOnStresserRemote defines parameters for EKS cluster add-on cluster loader remote. It generates loads from the remote workers (Pod) in the cluster. Each worker writes and reads serially with no concurrency. Configure "DeploymentReplicas" accordingly to increase the concurrency. ref. https://github.com/kubernetes/perf-tests
type AddOnStresserRemoteV2 ¶ added in v1.5.9
type AddOnStresserRemoteV2 struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // RepositoryAccountID is the account ID for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryAccountID string `json:"repository-account-id,omitempty"` // RepositoryRegion is the ECR repository region to pull from. RepositoryRegion string `json:"repository-region,omitempty"` // RepositoryName is the repositoryName for tester ECR image. // e.g. "aws/aws-k8s-tester" for "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester" RepositoryName string `json:"repository-name,omitempty"` // RepositoryImageTag is the image tag for tester ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/aws-k8s-tester:latest" RepositoryImageTag string `json:"repository-image-tag,omitempty"` // RepositoryBusyBoxName is the repositoryName for busybox ECR image. // e.g. "busybox" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/busybox:latest" RepositoryBusyBoxName string `json:"repository-busybox-name,omitempty"` // RepositoryBusyBoxImageTag is the image tag for busybox ECR image. // e.g. "latest" for image URI "[ACCOUNT_ID].dkr.ecr.[REGION].amazonaws.com/aws/busybox:latest" RepositoryBusyBoxImageTag string `json:"repository-busybox-image-tag,omitempty"` // Schedule is the cron schedule (e.g. "*/5 * * * *"). Schedule string `json:"schedule"` // Completes is the desired number of successfully finished pods. Completes int `json:"completes"` // Parallels is the the maximum desired number of pods the // job should run at any given time. Parallels int `json:"parallels"` // SuccessfulJobsHistoryLimit is the number of successful finished // jobs to retain. Defaults to 3. SuccessfulJobsHistoryLimit int32 `json:"successful-jobs-history-limit"` // FailedJobsHistoryLimit is the number of failed finished jobs // to retain. Defaults to 1. FailedJobsHistoryLimit int32 `json:"failed-jobs-history-limit"` // ObjectSize is the value size in bytes for write objects. // If 0, do not write anything. ObjectSize int `json:"object-size"` // Duration is the duration to run stress2 testing. Duration time.Duration `json:"duration,omitempty"` DurationString string `json:"duration-string,omitempty" read-only:"true"` // Coroutines is the number of concurrent go routines run per job Coroutines int `json:"coroutines"` // Secrets is the number of secrets generated per job Secrets int `json:"secrets"` }
type AddOnWordpress ¶ added in v1.0.6
type AddOnWordpress struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // UserName is the user name. // ref. https://github.com/helm/charts/tree/master/stable/wordpress UserName string `json:"user-name"` // Password is the user password. // ref. https://github.com/helm/charts/tree/master/stable/wordpress Password string `json:"password"` // NLBARN is the ARN of the NLB created from the service. NLBARN string `json:"nlb-arn" read-only:"true"` // NLBName is the name of the NLB created from the service. NLBName string `json:"nlb-name" read-only:"true"` // URL is the host name for WordPress service. URL string `json:"url" read-only:"true"` }
AddOnWordpress defines parameters for EKS cluster add-on WordPress. ref. https://github.com/helm/charts/blob/master/stable/wordpress/requirements.yaml ref. https://github.com/helm/charts/tree/master/stable/mariadb ref. https://github.com/bitnami/charts/tree/master/bitnami/wordpress/#installing-the-chart
type Addon ¶ added in v1.5.0
type Addon interface { // Validate the addon against the config. Validate(cfg *Config) error // Default the addon with the config. Default(cfg *Config) }
Addon is an interface for configuration initialization
type AddonStatus ¶ added in v1.5.0
type AddonStatus struct { // Installed is true after the configuration has been applied Installed bool `json:"installed"` // Ready is true after the addon's health check has passed Ready bool `json:"ready"` }
AddonStatus contains shared status fields for all addons
type CloudProvider ¶ added in v1.5.0
type CloudProvider string
CloudProvider enum for ClusterAutoscaler
const ( CloudProviderKubemark CloudProvider = "kubemark" CloudProviderAWS CloudProvider = "aws" )
CloudProvider options
type ClusterAutoscalerSpec ¶ added in v1.5.0
type ClusterAutoscalerSpec struct { Image string `json:"image,omitempty"` CloudProvider CloudProvider `json:"cloudProvider,omitempty"` MinNodes int `json:"minNodes,omitempty"` MaxNodes int `json:"maxNodes,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` ScaleDownDelay string `json:"scaleDownDelay,omitempty"` }
ClusterAutoscalerSpec defines the spec for the Addon
func (*ClusterAutoscalerSpec) Default ¶ added in v1.5.0
func (spec *ClusterAutoscalerSpec) Default(cfg *Config)
Default installs the addon
func (*ClusterAutoscalerSpec) Validate ¶ added in v1.5.0
func (spec *ClusterAutoscalerSpec) Validate(cfg *Config) error
Validate installs the addon
type ClusterAutoscalerStatus ¶ added in v1.5.0
type ClusterAutoscalerStatus struct {
AddonStatus `json:",inline"`
}
ClusterAutoscalerStatus defines the status for the Addon
type ClusterLoaderSpec ¶ added in v1.5.0
type ClusterLoaderSpec struct { Image string `json:"image,omitempty"` Nodes int32 `json:"nodes,omitempty"` TestConfigUris []string `json:"testConfigUris,omitempty"` TestOverrides []string `json:"testOverrides,omitempty"` // Specifies which instance type the clusterloader2 pod will be able to be scheduled on // Leaving this empty will allow it to be scheduled on any instance type Affinities map[string][]string `json:"affinities,omitempty"` }
ClusterLoaderSpec defines the spec for the Addon
func (*ClusterLoaderSpec) Default ¶ added in v1.5.0
func (spec *ClusterLoaderSpec) Default(cfg *Config)
Default installs the addon
func (*ClusterLoaderSpec) Validate ¶ added in v1.5.0
func (spec *ClusterLoaderSpec) Validate(cfg *Config) error
Validate installs the addon
type ClusterLoaderStatus ¶ added in v1.5.0
type ClusterLoaderStatus struct {
AddonStatus `json:",inline"`
}
ClusterLoaderStatus defines the status for the Addon
type ClusterStatus ¶ added in v0.6.5
ClusterStatus represents the cluster status.
type Config ¶
type Config struct { // TODO, Migrate metadata fields to here metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Name is the cluster name. // If empty, deployer auto-populates it. Name string `json:"name"` // Partition is the AWS partition for EKS deployment region. // If empty, set default partition "aws". Partition string `json:"partition"` // Region is the AWS geographic area for EKS deployment. // If empty, set default region. Region string `json:"region"` // AvailabilityZoneNames lists the availability zones for the specified region. // ref. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html AvailabilityZoneNames []string `json:"availability-zone-names,omitempty" read-only:"true"` // ConfigPath is the configuration file path. // Deployer is expected to update this file with latest status. ConfigPath string `json:"config-path,omitempty"` // KubectlCommandsOutputPath is the output path for kubectl commands. KubectlCommandsOutputPath string `json:"kubectl-commands-output-path,omitempty"` // RemoteAccessCommandsOutputPath is the output path for ssh commands. RemoteAccessCommandsOutputPath string `json:"remote-access-commands-output-path,omitempty"` // LogColor is true to output logs in color. LogColor bool `json:"log-color"` // LogColorOverride is not empty to override "LogColor" setting. // If not empty, the automatic color check is not even run and use this value instead. // For instance, github action worker might not support color device, // thus exiting color check with the exit code 1. // Useful to output in color in HTML based log outputs (e.g., Prow). // Useful to skip terminal color check when there is no color device (e.g., Github action worker). LogColorOverride string `json:"log-color-override"` // LogLevel configures log level. Only supports debug, info, warn, error, panic, or fatal. Default 'info'. LogLevel string `json:"log-level"` // LogOutputs is a list of log outputs. Valid values are 'default', 'stderr', 'stdout', or file names. // Logs are appended to the existing file, if any. // Multiple values are accepted. If empty, it sets to 'default', which outputs to stderr. // See https://pkg.go.dev/go.uber.org/zap#Open and https://pkg.go.dev/go.uber.org/zap#Config for more details. LogOutputs []string `json:"log-outputs,omitempty"` // AWSCLIPath is the path for AWS CLI path. // Required for 'aws eks update-kubeconfig'. AWSCLIPath string `json:"aws-cli-path,omitempty"` // KubectlPath is the path to download the "kubectl". KubectlPath string `json:"kubectl-path,omitempty"` // KubectlDownloadURL is the download URL to download "kubectl" binary from. KubectlDownloadURL string `json:"kubectl-download-url,omitempty"` // KubeConfigPath is the file path of KUBECONFIG for the EKS cluster. // If empty, auto-generate one. // Deployer is expected to delete this on cluster tear down. KubeConfigPath string `json:"kubeconfig-path,omitempty"` // AWSIAMAuthenticatorPath is the path to aws-iam-authenticator. AWSIAMAuthenticatorPath string `json:"aws-iam-authenticator-path,omitempty"` // AWSIAMAuthenticatorDownloadURL is the download URL to download "aws-iam-authenticator" binary from. AWSIAMAuthenticatorDownloadURL string `json:"aws-iam-authenticator-download-url,omitempty"` // OnFailureDelete is true to delete all resources on creation fail. OnFailureDelete bool `json:"on-failure-delete"` // OnFailureDeleteWaitSeconds is the seconds to wait before deleting // all resources on creation fail. OnFailureDeleteWaitSeconds uint64 `json:"on-failure-delete-wait-seconds"` // CommandAfterCreateCluster is the command to execute after creating clusters. // Currently supported variables are: // - "GetRef.Name" for cluster name // - "GetRef.ClusterARN" for cluster ARN CommandAfterCreateCluster string `json:"command-after-create-cluster"` CommandAfterCreateClusterOutputPath string `json:"command-after-create-cluster-output-path" read-only:"true"` CommandAfterCreateClusterTimeout time.Duration `json:"command-after-create-cluster-timeout"` CommandAfterCreateClusterTimeoutString string `json:"command-after-create-cluster-timeout-string" read-only:"true"` // CommandAfterCreateAddOns is the command to execute after creating clusters and add-ons. // Currently supported variables are: // - "GetRef.Name" for cluster name // - "GetRef.ClusterARN" for cluster ARN CommandAfterCreateAddOns string `json:"command-after-create-add-ons"` CommandAfterCreateAddOnsOutputPath string `json:"command-after-create-add-ons-output-path" read-only:"true"` CommandAfterCreateAddOnsTimeout time.Duration `json:"command-after-create-add-ons-timeout"` CommandAfterCreateAddOnsTimeoutString string `json:"command-after-create-add-ons-timeout-string" read-only:"true"` // CWNamespace is the CloudWatch namespace to put metric datum. CWNamespace string `json:"cw-namespace"` // SkipDeleteClusterAndNodes is true to skip EKS "cluster" and "nodes" deletion. // The created EKS "cluster" and all resources created "before" cluster are kept. // For example, CMK key, VPC, IAM role are not deleted if cluster is to be kept. // All node groups and managed node groups are kept. // Use this to use existing clusters to create/delete add-ons. SkipDeleteClusterAndNodes bool `json:"skip-delete-cluster-and-nodes"` S3 *S3 `json:"s3"` Encryption *Encryption `json:"encryption"` Role *Role `json:"role"` VPC *VPC `json:"vpc"` // Tags defines EKS create cluster tags. Tags map[string]string `json:"tags"` // RequestHeaderKey defines EKS create cluster request header key. RequestHeaderKey string `json:"request-header-key"` // RequestHeaderValue defines EKS create cluster request header value. RequestHeaderValue string `json:"request-header-value"` // ResolverURL defines an AWS resolver endpoint for EKS API. // Must be left empty to use production EKS service. ResolverURL string `json:"resolver-url"` // SigningName is the EKS create request signing name. SigningName string `json:"signing-name"` // Version is the version of EKS Kubernetes "cluster". // If empty, set default version. Version string `json:"version"` VersionValue float64 `json:"version-value" read-only:"true"` // KubeAPIServerMaxRequestsInflight is the EKS kube-apiserver max-requests-inflight // The maximum number of non-mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit. // --max-requests-inflight int Default: 400 KubeAPIServerMaxRequestsInflight string `json:"kube-apiserver-max-requests-inflight"` // KubeControllerManagerQPS is the EKS kube-controller-manager qps // --kube-api-qps float32 Default: 20 KubeControllerManagerQPS string `json:"kube-controller-manager-qps,omitempty"` // KubeControllerManagerBurst is the EKS kube-controller-manager burst // --kube-api-burst int32 Default: 30 KubeControllerManagerBurst string `json:"kube-controller-manager-burst,omitempty"` // KubeSchedulerQPS is the internal EKS kube-scheduler qps // --kube-api-qps float32 Default: 50 KubeSchedulerQPS string `json:"kube-scheduler-qps,omitempty"` // KubeSchedulerBurst is the internal EKS kube-scheduler burst // --kube-api-burst int32 Default: 100 KubeSchedulerBurst string `json:"kube-scheduler-burst,omitempty"` // FEUpdateMasterFlagsURL is the internal EKS update master flags endpoint FEUpdateMasterFlagsURL string `json:"fe-update-master-flags-url,omitempty"` // RemoteAccessKeyCreate is true to create the remote SSH access private key. RemoteAccessKeyCreate bool `json:"remote-access-key-create"` // RemoteAccessKeyName is the key name for node group SSH EC2 key pair. // 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 RemoteAccessKeyName string `json:"remote-access-key-name,omitempty"` // RemoteAccessPrivateKeyPath is the file path to store node group key pair private key. // Thus, deployer must delete the private key right after node group creation. // MAKE SURE PRIVATE KEY NEVER GETS UPLOADED TO CLOUD STORAGE AND DELETE AFTER USE!!! // 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 RemoteAccessPrivateKeyPath string `json:"remote-access-private-key-path,omitempty"` // Clients is the number of kubernetes clients to create. // Default is 1. // This field is used for "eks/stresser" tester. Configure accordingly. // Rate limit is done via "k8s.io/client-go/util/flowcontrol.NewTokenBucketRateLimiter". Clients int `json:"clients"` // ClientQPS is the QPS for kubernetes client. // To use while talking with kubernetes apiserver. // // Kubernetes client DefaultQPS is 5. // Kubernetes client DefaultBurst is 10. // ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/client-go/rest/config.go#L43-L46 // // kube-apiserver default inflight requests limits are: // FLAG: --max-mutating-requests-inflight="200" // FLAG: --max-requests-inflight="400" // ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/apiserver/pkg/server/config.go#L300-L301 // // This field is used for "eks/stresser" tester. Configure accordingly. // Rate limit is done via "k8s.io/client-go/util/flowcontrol.NewTokenBucketRateLimiter". ClientQPS float32 `json:"client-qps"` // ClientBurst is the burst for kubernetes client. // To use while talking with kubernetes apiserver // // Kubernetes client DefaultQPS is 5. // Kubernetes client DefaultBurst is 10. // ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/client-go/rest/config.go#L43-L46 // // kube-apiserver default inflight requests limits are: // FLAG: --max-mutating-requests-inflight="200" // FLAG: --max-requests-inflight="400" // ref. https://github.com/kubernetes/kubernetes/blob/4d0e86f0b8d1eae00a202009858c8739e4c9402e/staging/src/k8s.io/apiserver/pkg/server/config.go#L300-L301 // // This field is used for "eks/stresser" tester. Configure accordingly. // Rate limit is done via "k8s.io/client-go/util/flowcontrol.NewTokenBucketRateLimiter". ClientBurst int `json:"client-burst"` // ClientTimeout is the client timeout. ClientTimeout time.Duration `json:"client-timeout"` ClientTimeoutString string `json:"client-timeout-string,omitempty" read-only:"true"` // AddOnCNIVPC defines parameters for https://github.com/aws/amazon-vpc-cni-k8s. AddOnCNIVPC *AddOnCNIVPC `json:"add-on-cni-vpc"` // AddOnNodeGroups defines EKS "Node Group" // creation parameters. AddOnNodeGroups *AddOnNodeGroups `json:"add-on-node-groups,omitempty"` // AddOnManagedNodeGroups defines EKS "Managed Node Group" // creation parameters. If empty, it will use default values. // 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 AddOnManagedNodeGroups *AddOnManagedNodeGroups `json:"add-on-managed-node-groups,omitempty"` // TotalNodes is the total number of nodes from all node groups. TotalNodes int32 `json:"total-nodes" read-only:"true"` // AddOnCWAgent defines parameters for EKS cluster // add-on Fluentd. AddOnCWAgent *AddOnCWAgent `json:"add-on-cw-agent,omitempty"` // AddOnFluentd defines parameters for EKS cluster // add-on Fluentd. AddOnFluentd *AddOnFluentd `json:"add-on-fluentd,omitempty"` // AddOnMetricsServer defines parameters for EKS cluster // add-on metrics server. AddOnMetricsServer *AddOnMetricsServer `json:"add-on-metrics-server,omitempty"` // AddOnConformance defines parameters for EKS cluster // add-on Conformance. AddOnConformance *AddOnConformance `json:"add-on-conformance,omitempty"` // AddOnAppMesh defines parameters for EKS cluster // add-on "EKS App Mesh Integration". AddOnAppMesh *AddOnAppMesh `json:"add-on-app-mesh,omitempty"` // AddOnCSIEBS defines parameters for EKS cluster // add-on AWS EBS CSI Driver. AddOnCSIEBS *AddOnCSIEBS `json:"add-on-csi-ebs,omitempty"` // AddOnKubernetesDashboard defines parameters for EKS cluster // add-on Dashboard. AddOnKubernetesDashboard *AddOnKubernetesDashboard `json:"add-on-kubernetes-dashboard,omitempty"` // AddOnPrometheusGrafana defines parameters for EKS cluster // add-on Prometheus/Grafana. AddOnPrometheusGrafana *AddOnPrometheusGrafana `json:"add-on-prometheus-grafana,omitempty"` // AddOnPHPApache defines parameters for EKS cluster // add-on PHP Apache. AddOnPHPApache *AddOnPHPApache `json:"add-on-php-apache,omitempty"` // AddOnNLBHelloWorld defines parameters for EKS cluster // add-on NLB hello-world service. AddOnNLBHelloWorld *AddOnNLBHelloWorld `json:"add-on-nlb-hello-world,omitempty"` // AddOnNLBGuestbook defines parameters for EKS cluster // add-on NLB guestbook service. // ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-guestbook.html AddOnNLBGuestbook *AddOnNLBGuestbook `json:"add-on-nlb-guestbook,omitempty"` // AddOnALB2048 defines parameters for EKS cluster // add-on ALB 2048 service. AddOnALB2048 *AddOnALB2048 `json:"add-on-alb-2048,omitempty"` // AddOnJobsPi defines parameters for EKS cluster // add-on Job with pi Perl command. AddOnJobsPi *AddOnJobsPi `json:"add-on-jobs-pi,omitempty"` // AddOnJobsEcho defines parameters for EKS cluster // add-on Job with echo. AddOnJobsEcho *AddOnJobsEcho `json:"add-on-jobs-echo,omitempty"` // AddOnCronJobs defines parameters for EKS cluster // add-on with CronJob. AddOnCronJobs *AddOnCronJobs `json:"add-on-cron-jobs,omitempty"` // AddOnCSRsLocal defines parameters for EKS cluster // add-on "CertificateSigningRequest" local. // It generates loads from the local host machine. AddOnCSRsLocal *AddOnCSRsLocal `json:"add-on-csrs-local,omitempty"` // AddOnCSRsRemote defines parameters for EKS cluster // add-on "CertificateSigningRequest" remote. // It generates loads from the remote workers (Pod) in the cluster. AddOnCSRsRemote *AddOnCSRsRemote `json:"add-on-csrs-remote,omitempty"` // AddOnConfigmapsLocal defines parameters for EKS cluster // add-on "ConfigMap" local. // It generates loads from the local host machine. AddOnConfigmapsLocal *AddOnConfigmapsLocal `json:"add-on-configmaps-local,omitempty"` // AddOnConfigmapsRemote defines parameters for EKS cluster // add-on "ConfigMap" remote. // It generates loads from the remote workers (Pod) in the cluster. AddOnConfigmapsRemote *AddOnConfigmapsRemote `json:"add-on-configmaps-remote,omitempty"` // AddOnSecretsLocal defines parameters for EKS cluster // add-on "Secrets" local. // It generates loads from the local host machine. AddOnSecretsLocal *AddOnSecretsLocal `json:"add-on-secrets-local,omitempty"` // AddOnSecretsRemote defines parameters for EKS cluster // add-on "Secrets" remote. // It generates loads from the remote workers (Pod) in the cluster. AddOnSecretsRemote *AddOnSecretsRemote `json:"add-on-secrets-remote,omitempty"` // AddOnFargate defines parameters for EKS cluster // add-on "EKS on Fargate". AddOnFargate *AddOnFargate `json:"add-on-fargate,omitempty"` // AddOnIRSA defines parameters for EKS cluster // add-on "IAM Roles for Service Accounts (IRSA)". AddOnIRSA *AddOnIRSA `json:"add-on-irsa,omitempty"` // AddOnIRSAFargate defines parameters for EKS cluster // add-on "IAM Roles for Service Accounts (IRSA)" with Fargate. AddOnIRSAFargate *AddOnIRSAFargate `json:"add-on-irsa-fargate,omitempty"` // AddOnWordpress defines parameters for EKS cluster // add-on WordPress. AddOnWordpress *AddOnWordpress `json:"add-on-wordpress,omitempty"` // AddOnJupyterHub defines parameters for EKS cluster // add-on JupyterHub. AddOnJupyterHub *AddOnJupyterHub `json:"add-on-jupyter-hub,omitempty"` // AddOnKubeflow defines parameters for EKS cluster // add-on Kubeflow. AddOnKubeflow *AddOnKubeflow `json:"add-on-kubeflow,omitempty"` // AddOnCUDAVectorAdd defines parameters for EKS cluster // add-on cuda-vector-add. AddOnCUDAVectorAdd *AddOnCUDAVectorAdd `json:"add-on-cuda-vector-add,omitempty"` // AddOnClusterLoaderLocal defines parameters for EKS cluster // add-on cluster loader local. // It generates loads from the local host machine. // ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2 AddOnClusterLoaderLocal *AddOnClusterLoaderLocal `json:"add-on-cluster-loader-local,omitempty"` // AddOnClusterLoaderRemote defines parameters for EKS cluster // add-on cluster loader remote. // It generates loads from the remote host machine. // ref. https://github.com/kubernetes/perf-tests/tree/master/clusterloader2 AddOnClusterLoaderRemote *AddOnClusterLoaderRemote `json:"add-on-cluster-loader-remote,omitempty"` // AddOnStresserLocal defines parameters for EKS cluster // add-on cluster loader local. // It generates loads from the local host machine. // ref. https://github.com/kubernetes/perf-tests AddOnStresserLocal *AddOnStresserLocal `json:"add-on-stresser-local,omitempty"` // AddOnStresserRemote defines parameters for EKS cluster // add-on cluster loader remote. // It generates loads from the remote workers (Pod) in the cluster. // ref. https://github.com/kubernetes/perf-tests AddOnStresserRemote *AddOnStresserRemote `json:"add-on-stresser-remote,omitempty"` // AddOnStresserRemoteV2 defines parameters for EKS cluster // add-on cluster loader remote v2. // It generates loads from the remote workers (Pod) in the cluster. // ref. https://github.com/kubernetes/perf-tests AddOnStresserRemoteV2 *AddOnStresserRemoteV2 `json:"add-on-stresser-remote-v2,omitempty"` // AddOnClusterVersionUpgrade defines parameters // for EKS cluster version upgrade add-on. AddOnClusterVersionUpgrade *AddOnClusterVersionUpgrade `json:"add-on-cluster-version-upgrade,omitempty"` // AddOnAmiSoftLockupIssue454 defines parameters // for testing the AMI soft lockup issue. AddOnAmiSoftLockupIssue454 *AddOnAmiSoftLockupIssue454 `json:"add-on-ami-soft-lockup-issue-454,omitempty"` // Spec contains addons and other configuration // Note: New addons should be implemented inside spec Spec Spec `json:"spec,omitempty"` // Status represents the current status of AWS resources. // Status is read-only. // Status cannot be configured via environmental variables. Status *Status `json:"status,omitempty" read-only:"true"` // contains filtered or unexported fields }
Config defines EKS configuration.
func Load ¶
Load loads configuration from YAML. Useful when injecting shared configuration via ConfigMap.
Example usage:
import "github.com/aws/aws-k8s-tester/eksconfig" cfg := eksconfig.Load("test.yaml") err := cfg.ValidateAndSetDefaults()
Do not set default values in this function. "ValidateAndSetDefaults" must be called separately, to prevent overwriting previous data when loaded from disks.
func NewDefault ¶
func NewDefault() *Config
NewDefault returns a default configuration.
- empty string creates a non-nil object for pointer-type field
- omitting an entire field returns nil value
- make sure to check both
func (Config) Colorize ¶ added in v1.4.6
Colorize prints colorized input, if color output is supported.
func (*Config) EvaluateCommandRefs ¶ added in v1.0.6
EvaluateCommandRefs updates "CommandAfterCreateCluster" and "CommandAfterCreateAddOns". currently, only support "GetRef.Name" and "GetRef.ClusterARN"
func (*Config) GetAddOnCNIVPCRepositoryRegion ¶ added in v1.4.8
func (*Config) GetAddOnCSRsRemoteRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnClusterLoaderRemoteRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnConfigmapsRemoteRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnCronJobsRepositoryBusyboxRegion ¶ added in v1.4.6
func (*Config) GetAddOnFargateRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnFluentdRepositoryBusyboxRegion ¶ added in v1.4.6
func (*Config) GetAddOnIRSAFargateRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnIRSARepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnJobsEchoRepositoryBusyboxRegion ¶ added in v1.4.6
func (*Config) GetAddOnPHPApacheRepositoryRegion ¶ added in v1.4.8
func (*Config) GetAddOnSecretsRemoteRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnStresserRemoteRepositoryRegion ¶ added in v1.4.6
func (*Config) GetAddOnStresserRemoteV2RepositoryRegion ¶ added in v1.5.9
func (*Config) IsEnabledAddOnALB2048 ¶ added in v0.7.5
IsEnabledAddOnALB2048 returns true if "AddOnALB2048" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnAmiSoftLockupIssue454 ¶ added in v1.5.6
IsEnabledAddOnAmiSoftLockupIssue454 returns true if "AddOnAmiSoftLockupIssue454" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnAppMesh ¶ added in v0.7.5
IsEnabledAddOnAppMesh returns true if "AddOnAppMesh" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCNIVPC ¶ added in v1.4.8
IsEnabledAddOnCNIVPC returns true if "AddOnCNIVPC" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCSIEBS ¶ added in v1.0.6
IsEnabledAddOnCSIEBS returns true if "AddOnCSIEBS" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCSRsLocal ¶ added in v1.2.2
IsEnabledAddOnCSRsLocal returns true if "AddOnCSRsLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCSRsRemote ¶ added in v1.2.2
IsEnabledAddOnCSRsRemote returns true if "AddOnCSRsRemote" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCUDAVectorAdd ¶ added in v1.3.0
IsEnabledAddOnCUDAVectorAdd returns true if "AddOnCUDAVectorAdd" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCWAgent ¶ added in v1.4.6
IsEnabledAddOnCWAgent returns true if "AddOnCWAgent" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnClusterLoaderLocal ¶ added in v1.1.9
IsEnabledAddOnClusterLoaderLocal returns true if "AddOnClusterLoaderLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnClusterLoaderRemote ¶ added in v1.1.9
IsEnabledAddOnClusterLoaderRemote returns true if "AddOnClusterLoaderRemote" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnClusterVersionUpgrade ¶ added in v1.3.2
IsEnabledAddOnClusterVersionUpgrade returns true if "AddOnClusterVersionUpgrade" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnConfigmapsLocal ¶ added in v1.3.5
IsEnabledAddOnConfigmapsLocal returns true if "AddOnConfigmapsLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnConfigmapsRemote ¶ added in v1.3.5
IsEnabledAddOnConfigmapsRemote returns true if "AddOnConfigmapsRemote" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnConformance ¶ added in v1.1.3
IsEnabledAddOnConformance returns true if "AddOnConformance" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnCronJobs ¶ added in v0.9.8
IsEnabledAddOnCronJobs returns true if "AddOnCronJobs" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnFargate ¶ added in v0.7.5
IsEnabledAddOnFargate returns true if "AddOnFargate" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnFluentd ¶ added in v1.4.6
IsEnabledAddOnFluentd returns true if "AddOnFluentd" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnIRSA ¶ added in v0.7.5
IsEnabledAddOnIRSA returns true if "AddOnIRSA" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnIRSAFargate ¶ added in v1.0.7
IsEnabledAddOnIRSAFargate returns true if "AddOnIRSAFargate" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnJobsEcho ¶ added in v0.9.8
IsEnabledAddOnJobsEcho returns true if "AddOnJobsEcho" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnJobsPi ¶ added in v0.9.8
IsEnabledAddOnJobsPi returns true if "AddOnJobsPi" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnJupyterHub ¶ added in v1.0.8
IsEnabledAddOnJupyterHub returns true if "AddOnJupyterHub" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnKubeflow ¶ added in v1.0.6
IsEnabledAddOnKubeflow returns true if "AddOnKubeflow" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnKubernetesDashboard ¶ added in v1.0.6
IsEnabledAddOnKubernetesDashboard returns true if "AddOnKubernetesDashboard" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnManagedNodeGroups ¶ added in v0.7.5
IsEnabledAddOnManagedNodeGroups returns true if "AddOnManagedNodeGroups" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnMetricsServer ¶ added in v1.3.7
IsEnabledAddOnMetricsServer returns true if "AddOnMetricsServer" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnNLBGuestbook ¶ added in v1.3.9
IsEnabledAddOnNLBGuestbook returns true if "AddOnNLBGuestbook" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnNLBHelloWorld ¶ added in v0.7.5
IsEnabledAddOnNLBHelloWorld returns true if "AddOnNLBHelloWorld" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnNodeGroups ¶ added in v0.7.5
IsEnabledAddOnNodeGroups returns true if "AddOnNodeGroups" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnPHPApache ¶ added in v1.4.6
IsEnabledAddOnPHPApache returns true if "AddOnPHPApache" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnPrometheusGrafana ¶ added in v1.0.6
IsEnabledAddOnPrometheusGrafana returns true if "AddOnPrometheusGrafana" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnSecretsLocal ¶ added in v1.2.2
IsEnabledAddOnSecretsLocal returns true if "AddOnSecretsLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnSecretsRemote ¶ added in v1.2.2
IsEnabledAddOnSecretsRemote returns true if "AddOnSecretsRemote" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnStresserLocal ¶ added in v1.2.2
IsEnabledAddOnStresserLocal returns true if "AddOnStresserLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnStresserRemote ¶ added in v1.2.2
IsEnabledAddOnStresserRemote returns true if "AddOnStresserRemote" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnStresserRemoteV2 ¶ added in v1.5.9
IsEnabledAddOnStresserRemote returns true if "AddOnStresserRemote" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnWordpress ¶ added in v1.0.6
IsEnabledAddOnWordpress returns true if "AddOnWordpress" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) KubectlCommand ¶ added in v0.5.8
KubectlCommand returns the kubectl command.
func (*Config) KubectlCommands ¶
KubectlCommands returns the various kubectl commands.
func (*Config) RecordStatus ¶ added in v0.6.5
RecordStatus records cluster status.
func (*Config) SSHCommands ¶
SSHCommands returns the SSH commands.
func (*Config) Sync ¶
Sync persists current configuration and states to disk. Every call overwrites the previous contents if any.
func (*Config) UpdateFromEnvs ¶
UpdateFromEnvs updates fields from environmental variables. Empty values are ignored and do not overwrite fields with empty values. WARNING: The environmental variable value always overwrites current field values if there's a conflict.
func (*Config) ValidateAndSetDefaults ¶
ValidateAndSetDefaults returns an error for invalid configurations. And updates empty fields with default values. At the end, it writes populated YAML to aws-k8s-tester config path. "read-only" fields cannot be set, causing errors.
type Encryption ¶ added in v1.6.1
type Encryption struct { // CMKCreate is true to auto-create and delete KMS CMK // for encryption feature. CMKCreate bool `json:"cmk-create"` // CMKARN is the KMS CMK ARN for encryption feature. // If not empty, the cluster is created with encryption feature // enabled. CMKARN string `json:"cmk-arn"` }
type MNG ¶ added in v0.5.5
type MNG struct { // Name is the name of the 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 Name string `json:"name,omitempty"` // ASGName is the ASG name from a created managed node group. ASGName string `json:"asg-name,omitempty" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // RemoteAccessUserName is the user name for managed node group SSH access. // 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 RemoteAccessUserName string `json:"remote-access-user-name,omitempty"` // Tags defines EKS managed node group create tags. Tags map[string]string `json:"tags,omitempty"` // ReleaseVersion is the AMI version of the Amazon EKS-optimized AMI for the node group. // The version may differ from EKS "cluster" version. // e.g. "1.16.8-20200609" // 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 // ref. https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html ReleaseVersion string `json:"release-version,omitempty"` ReleaseVersionValue float64 `json:"release-version-value" read-only:"true"` // AMIType is the AMI type for the node group. // Allowed values are AL2_x86_64, AL2_x86_64_GPU and AL2_ARM_64. // 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#cfn-eks-nodegroup-amitype AMIType string `json:"ami-type,omitempty"` // InstanceTypes is the EC2 instance types for the node instances. // 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 InstanceTypes []string `json:"instance-types,omitempty"` // VolumeSize is the node volume size. // 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 VolumeSize int `json:"volume-size,omitempty"` // ASGMinSize is the minimum size of Node Group Auto Scaling 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 ASGMinSize int `json:"asg-min-size,omitempty"` // ASGMaxSize is the maximum size of Node Group Auto Scaling 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 ASGMaxSize int `json:"asg-max-size,omitempty"` // ASGDesiredCapacity is the desired capacity of Node Group ASG. // 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 ASGDesiredCapacity int `json:"asg-desired-capacity,omitempty"` // CreateRequested is true if "CreateNodegroupRequest" has been sent. CreateRequested bool `json:"create-requested" read-only:"true"` // PhysicalID is the Physical ID for the created "AWS::EKS::Nodegroup". PhysicalID string `json:"physical-id" read-only:"true"` // RemoteAccessSecurityGroupID is the security group ID for the MNG. // Returned from EKS MNG API. RemoteAccessSecurityGroupID string `json:"remote-access-security-group-id" read-only:"true"` // Status is the current status of EKS "Managed Node Group". Status string `json:"status" read-only:"true"` // Instances maps an instance ID to an EC2 instance object for the node group. Instances map[string]ec2config.Instance `json:"instances" read-only:"true"` // Logs maps each instance ID to a list of log file paths fetched via SSH access. Logs map[string][]string `json:"logs" read-only:"true"` // ScaleUpdates configures MNG scale update. ScaleUpdates []MNGScaleUpdate `json:"scale-updates,omitempty"` // VersionUpgrade configures MNG version upgarde. VersionUpgrade *MNGVersionUpgrade `json:"version-upgrade,omitempty"` }
MNG represents parameters for one EKS "Managed Node Group".
type MNGScaleUpdate ¶ added in v1.4.6
type MNGScaleUpdate struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` // InitialWait is the wait time before triggering version upgrades. // All managed node group upgrades are triggered after all existing // add-on installation is complete. InitialWait time.Duration `json:"initial-wait" read-only:"true"` InitialWaitString string `json:"initial-wait-string"` ID string `json:"id"` ASGMinSize int64 `json:"asg-min-size,omitempty"` ASGMaxSize int64 `json:"asg-max-size,omitempty"` ASGDesiredCapacity int64 `json:"asg-desired-capacity,omitempty"` }
MNGScaleUpdate contains the minimum, maximum, and desired node counts for a nodegroup. ref, https://docs.aws.amazon.com/cli/latest/reference/eks/update-nodegroup-config.html
type MNGVersionUpgrade ¶ added in v1.3.6
type MNGVersionUpgrade struct { // Enable is 'true' to create this add-on. Enable bool `json:"enable"` // InitialWait is the wait time before triggering version upgrades. // All managed node group upgrades are triggered after all existing // add-on installation is complete. InitialWait time.Duration `json:"initial-wait" read-only:"true"` InitialWaitString string `json:"initial-wait-string"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` // Version is the target version of EKS managed node group. // This cannot be empty. Must be provided by the user. // The value is passed via "aws eks update-nodegroup-version --kubernetes-version". // e.g. Upgrade to "Version" == "1.17" when Parameters.Version is "1.16" // that has created "1.16" MNG by default. Version string `json:"version"` VersionValue float64 `json:"version-value" read-only:"true"` }
MNGVersionUpgrade defines parameters for EKS managed node group version upgrade add-on. ref. https://docs.aws.amazon.com/cli/latest/reference/eks/update-nodegroup-version.html
type MetricsServerSpec ¶ added in v1.5.0
type MetricsServerSpec struct { }
MetricsServerSpec defines the spec for the Addon
func (*MetricsServerSpec) Default ¶ added in v1.5.0
func (spec *MetricsServerSpec) Default(cfg *Config)
Default installs the addon
func (*MetricsServerSpec) Validate ¶ added in v1.5.0
func (spec *MetricsServerSpec) Validate(cfg *Config) error
Validate installs the addon
type MetricsServerStatus ¶ added in v1.5.0
type MetricsServerStatus struct {
AddonStatus `json:",inline"`
}
MetricsServerStatus defines the status for the Addon
type NGClusterAutoscaler ¶ added in v1.4.6
type NGClusterAutoscaler struct { Enable bool `json:"enable"` // Created is true when the resource has been created. // Used for delete operations. Created bool `json:"created" read-only:"true"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` }
NGClusterAutoscaler represents cluster auto-scaler. ref. https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
type NodeInfo ¶ added in v1.4.6
type NodeInfo struct { NodeGroupName string `json:"node-group-name"` AMIType string `json:"ami-type"` PublicIP string `json:"public-ip"` PublicDNSName string `json:"public-dns-name"` UserName string `json:"user-name"` }
NodeInfo represents basic SSH access configuration for worker nodes.
type OverprovisioningSpec ¶ added in v1.5.0
type OverprovisioningSpec struct { Namespace string `json:"namespace,omitempty"` Image string `json:"image,omitempty"` Replicas int `json:"replicas,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` KubemarkEnabled bool `json:"kubemarkEnabled,omitempty"` }
OverprovisioningSpec defines the spec for the Addon
func (*OverprovisioningSpec) Default ¶ added in v1.5.0
func (spec *OverprovisioningSpec) Default(cfg *Config)
Default installs the addon
func (*OverprovisioningSpec) Validate ¶ added in v1.5.0
func (spec *OverprovisioningSpec) Validate(cfg *Config) error
Validate installs the addon
type OverprovisioningStatus ¶ added in v1.5.0
type OverprovisioningStatus struct {
AddonStatus `json:",inline"`
}
OverprovisioningStatus defines the status for the Addon
type Role ¶ added in v1.6.1
type Role struct { // Name is the name of cluster role. Name string `json:"name"` // Create is true to auto-create and delete cluster role. Create bool `json:"create"` // ARN is the role ARN that EKS uses to create AWS resources for Kubernetes. // By default, it's empty which triggers tester to create one. ARN string `json:"arn"` // ServicePrincipals is the EKS Role Service Principals ServicePrincipals []string `json:"service-principals"` // ManagedPolicyARNs is EKS Role managed policy ARNs. ManagedPolicyARNs []string `json:"managed-policy-arns"` // PolicyName is the name of the policy. PolicyName string `json:"policy-name" read-only:"true"` // PolicyARN is the attached policy ARN. PolicyARN string `json:"policy-arn" read-only:"true"` // InstanceProfileName is the instance profile name for the node group. InstanceProfileName string `json:"instance-profile-name" read-only:"true"` // InstanceProfileARN is the instance profile ARN for the node group. InstanceProfileARN string `json:"instance-profile-arn" read-only:"true"` }
type S3 ¶ added in v1.6.1
type S3 struct { // BucketCreate is true to auto-create S3 bucket. BucketCreate bool `json:"bucket-create"` // BucketCreateKeep is true to not delete auto-created S3 bucket. // The created S3 bucket is kept. BucketCreateKeep bool `json:"bucket-create-keep"` // BucketName is the name of cluster S3. BucketName string `json:"bucket-name"` // BucketLifecycleExpirationDays is expiration in days for the lifecycle of the object. BucketLifecycleExpirationDays int64 `json:"bucket-lifecycle-expiration-days"` }
type Spec ¶ added in v1.5.0
type Spec struct { // ClusterAutoscaler defines the addon's spec ClusterAutoscaler *ClusterAutoscalerSpec `json:"clusterAutoscaler,omitempty"` // Overprovisioning defines the addon's spec Overprovisioning *OverprovisioningSpec `json:"overprovisioning,omitempty"` // MetricsServer defines the addon's spec MetricsServer *MetricsServerSpec `json:"metricsServer,omitempty"` // ClusterLoader2 defines the addon's spec ClusterLoader *ClusterLoaderSpec `json:"clusterLoader,omitempty"` }
Spec contains specs for addons
type Status ¶ added in v0.5.0
type Status struct { // Up is true if the cluster is up. // If "Up" is set true, cluster creation is skipped. Up bool `json:"up"` TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"` TimeFrameDelete timeutil.TimeFrame `json:"time-frame-delete" read-only:"true"` // ServerVersionInfo is the server version from EKS kube-apiserver. ServerVersionInfo k8s_client.ServerVersionInfo `json:"server-version-info" read-only:"true"` // AWSAccountID is the account ID of the eks tester caller session. AWSAccountID string `json:"aws-account-id"` // AWSUserID is the user ID of the eks tester caller session. AWSUserID string `json:"aws-user-id"` // AWSIAMRoleARN is the user IAM Role ARN of the eks tester caller session. AWSIAMRoleARN string `json:"aws-iam-role-arn"` // AWSCredentialPath is automatically set via AWS SDK Go. // And to be mounted as a volume as 'Secret' object. AWSCredentialPath string `json:"aws-credential-path"` ClusterARN string `json:"cluster-arn"` // ClusterAPIServerEndpoint is the cluster endpoint of the EKS cluster, // required for KUBECONFIG write. ClusterAPIServerEndpoint string `json:"cluster-api-server-endpoint"` // ClusterOIDCIssuerURL is the issuer URL for the OpenID Connect // (https://openid.net/connect/) identity provider . ClusterOIDCIssuerURL string `json:"cluster-oidc-issuer-url"` // ClusterOIDCIssuerHostPath is the issuer host path. ClusterOIDCIssuerHostPath string `json:"cluster-oidc-issuer-host-path"` // ClusterOIDCIssuerARN is the issuer ARN for the OpenID Connect // (https://openid.net/connect/) identity provider . ClusterOIDCIssuerARN string `json:"cluster-oidc-issuer-arn"` // ClusterOIDCIssuerCAThumbprint is the issuer CA thumbprint. ClusterOIDCIssuerCAThumbprint string `json:"cluster-oidc-issuer-ca-thumbprint"` // ClusterCA is the EKS cluster CA, required for KUBECONFIG write. ClusterCA string `json:"cluster-ca"` // ClusterCADecoded is the decoded EKS cluster CA, required for k8s.io/client-go. ClusterCADecoded string `json:"cluster-ca-decoded"` // ClusterStatusCurrent represents the current status of the cluster. ClusterStatusCurrent string `json:"cluster-status-current"` // ClusterStatus represents the status of the cluster. ClusterStatus []ClusterStatus `json:"cluster-status"` // ClusterAutoscaler defines the addon's status ClusterAutoscaler *ClusterAutoscalerStatus `json:"clusterAutoscaler,omitempty"` // Overprovisioning defines the addon's status Overprovisioning *OverprovisioningStatus `json:"overprovisioning,omitempty"` // MetricsServer defines the addon's status MetricsServer *MetricsServerStatus `json:"metricsServer,omitempty"` // ClusterLoader defines the addon's status ClusterLoader *ClusterLoaderStatus `json:"clusterLoader,omitempty"` // PrivateDNSToNodeInfo maps each worker node's private IP to its public IP, // public DNS, and SSH access user name. // Kubernetes node object name is the node's EC2 instance private DNS. // This is used for SSH access. PrivateDNSToNodeInfo map[string]NodeInfo `json:"private-dns-to-node-info"` DeletedResources map[string]string `json:"deleted-resources"` }
Status represents the current status of AWS resources. Read-only. Cannot be configured via environmental variables.
type VPC ¶ added in v1.6.1
type VPC struct { // Create is true to auto-create and delete VPC. Create bool `json:"create"` // ID is the VPC ID for cluster creation. // If not empty, VPC is reused and not deleted. // If empty, VPC is created anew and deleted on cluster deletion. ID string `json:"id"` SecurityGroupID string `json:"security-group-id" read-only:"true"` // CIDRs is the list of CIDR blocks with IP range (CIDR notation) for the primary VPC Block. // Must be a valid RFC 1918 CIDR range. CIDRs []string `json:"cidrs"` // PublicSubnetCIDRs is the CIDR blocks for public subnets. PublicSubnetCIDRs []string `json:"public-subnet-cidrs"` PublicSubnetIDs []string `json:"public-subnet-ids" read-only:"true"` InternetGatewayID string `json:"internet-gateway-id" read-only:"true"` PublicRouteTableID string `json:"public-route-table-id" read-only:"true"` PublicSubnetRouteTableAssociationIDs []string `json:"public-subnet-route-table-association-ids" read-only:"true"` EIPAllocationIDs []string `json:"eip-allocation-ids" read-only:"true"` NATGatewayIDs []string `json:"nat-gateway-ids" read-only:"true"` // PrivateSubnetCIDRs is the CIDR blocks for private subnets. PrivateSubnetCIDRs []string `json:"private-subnet-cidrs,omitempty"` PrivateSubnetIDs []string `json:"private-subnet-ids" read-only:"true"` PrivateRouteTableIDs []string `json:"private-route-table-ids" read-only:"true"` PrivateSubnetRouteTableAssociationIDs []string `json:"private-subnet-route-table-association-ids" read-only:"true"` // DHCPOptionsDomainName is used to complete unqualified DNS hostnames for VPC. // ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html // ref. https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html DHCPOptionsDomainName string `json:"dhcp-options-domain-name,omitempty"` // DHCPOptionsDomainNameServers is a list of strings. // The IPv4 addresses of up to four domain name servers, or AmazonProvidedDNS, for VPC. // ref. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html // ref. https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html DHCPOptionsDomainNameServers []string `json:"dhcp-options-domain-name-servers,omitempty"` DHCPOptionsID string `json:"dhcp-options-id,omitempty" read-only:"true"` // NodeGroupSecurityGroupName is the name of the node security group. NodeGroupSecurityGroupName string `json:"node-group-security-group-name" read-only:"true"` // NodeGroupSecurityGroupID is the security group ID for the node group. NodeGroupSecurityGroupID string `json:"node-group-security-group-id" read-only:"true"` }
Source Files ¶
- add-on-alb-2048.go
- add-on-ami-soft-lockup-issue-454.go
- add-on-app-mesh.go
- add-on-cluster-loader-local.go
- add-on-cluster-loader-remote.go
- add-on-cluster-version-upgrade.go
- add-on-cni-vpc.go
- add-on-configmaps-local.go
- add-on-configmaps-remote.go
- add-on-conformance.go
- add-on-cron-jobs.go
- add-on-csi-ebs.go
- add-on-csrs-local.go
- add-on-csrs-remote.go
- add-on-cuda-vector-add.go
- add-on-cw-agent.go
- add-on-fargate.go
- add-on-fluentd.go
- add-on-irsa-fargate.go
- add-on-irsa.go
- add-on-jobs-echo.go
- add-on-jobs-pi.go
- add-on-jupyter-hub.go
- add-on-kubeflow.go
- add-on-kubernetes-dashboard.go
- add-on-managed-node-groups.go
- add-on-metrics-server.go
- add-on-nlb-guestbook.go
- add-on-nlb-hello-world.go
- add-on-node-groups.go
- add-on-php-apache.go
- add-on-prometheus-grafana.go
- add-on-secrets-local.go
- add-on-secrets-remote.go
- add-on-stresser-local.go
- add-on-stresser-remote-v2.go
- add-on-stresser-remote.go
- add-on-wordpress.go
- addon.go
- cluster-loader.go
- clusterautoscaler.go
- config.go
- env.go
- init.go
- metrics-server.go
- overprovisioning.go
- shared_types.go
- spec.go
- status.go