Documentation ¶
Overview ¶
Package eksconfig defines EKS test configuration.
Index ¶
- Constants
- type ASG
- type AddOnALB2048
- type AddOnAppMesh
- type AddOnCSIEBS
- type AddOnCSRsLocal
- type AddOnCSRsRemote
- type AddOnConfigMapsLocal
- type AddOnConfigMapsRemote
- type AddOnConformance
- type AddOnCronJobs
- type AddOnFargate
- type AddOnHollowNodesLocal
- type AddOnHollowNodesRemote
- type AddOnIRSA
- type AddOnIRSAFargate
- type AddOnJobsEcho
- type AddOnJobsPi
- type AddOnJupyterHub
- type AddOnKubeflow
- type AddOnKubernetesDashboard
- type AddOnManagedNodeGroups
- type AddOnNLBHelloWorld
- type AddOnNodeGroups
- type AddOnPrometheusGrafana
- type AddOnSecretsLocal
- type AddOnSecretsRemote
- type AddOnStresserLocal
- type AddOnStresserRemote
- type AddOnWordpress
- type ClusterStatus
- type Config
- func (cfg *Config) EvaluateCommandRefs() error
- func (cfg *Config) IsEnabledAddOnALB2048() bool
- func (cfg *Config) IsEnabledAddOnAppMesh() bool
- func (cfg *Config) IsEnabledAddOnCSIEBS() bool
- func (cfg *Config) IsEnabledAddOnCSRsLocal() bool
- func (cfg *Config) IsEnabledAddOnCSRsRemote() 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) IsEnabledAddOnHollowNodesLocal() bool
- func (cfg *Config) IsEnabledAddOnHollowNodesRemote() 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) IsEnabledAddOnNLBHelloWorld() bool
- func (cfg *Config) IsEnabledAddOnNodeGroups() 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) 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 MNG
- type Parameters
- type Status
Constants ¶
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" // 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 // 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 = 300 // 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 = "AWS_K8S_TESTER_EKS_"
AWS_K8S_TESTER_EKS_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 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 EnvironmentVariablePrefixAddOnConfigMapsLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIG_MAPS_LOCAL_"
EnvironmentVariablePrefixAddOnConfigMapsLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnConfigMapsRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CONFIG_MAPS_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 EnvironmentVariablePrefixAddOnHollowNodesLocal = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_LOCAL_"
EnvironmentVariablePrefixAddOnHollowNodesLocal is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnHollowNodesRemote = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_HOLLOW_NODES_REMOTE_"
EnvironmentVariablePrefixAddOnHollowNodesRemote 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 EnvironmentVariablePrefixAddOnManagedNodeGroups = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_MANAGED_NODE_GROUPS_"
EnvironmentVariablePrefixAddOnManagedNodeGroups 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 EnvironmentVariablePrefixAddOnNodeGroups = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_NODE_GROUPS_"
EnvironmentVariablePrefixAddOnNodeGroups 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 EnvironmentVariablePrefixAddOnWordpress = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_WORDPRESS_"
EnvironmentVariablePrefixAddOnWordpress is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixParameters = AWS_K8S_TESTER_EKS_PREFIX + "PARAMETERS_"
EnvironmentVariablePrefixParameters 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"` }
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // 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"` }
AddOnAppMesh defines parameters for EKS cluster add-on "EKS App Mesh Integration".
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // 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"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // DeploymentReplicas is the number of replicas to create for workers. // The total number of objects to be created is "DeploymentReplicas" * "Objects". DeploymentReplicas int32 `json:"deployment-replicas,omitempty"` // 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"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" 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"` }
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 AddOnConfigMapsLocal ¶ added in v1.2.2
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // 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"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-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.2.2
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // DeploymentReplicas is the number of replicas to create for workers. // The total number of objects to be created is "DeploymentReplicas" * "Objects". DeploymentReplicas int32 `json:"deployment-replicas,omitempty"` // 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"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" 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"` }
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // 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"` 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"` SonobuoyResultTarGzPath string `json:"sonobuoy-result-tar-gz-path" read-only:"true"` SonobuoyResultDir string `json:"sonobuoy-result-dir" read-only:"true"` SonobuoyResultE2eLogPath string `json:"sonobuoy-result-e2e-log-path" read-only:"true"` SonobuoyResultJunitXMLPath string `json:"sonobuoy-result-junit-xml-path" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // Namespace is the namespace to create objects in. Namespace string `json:"namespace"` // 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // 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 AddOnHollowNodesLocal ¶ added in v1.1.9
type AddOnHollowNodesLocal 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // Nodes is the number of hollow nodes to create. Nodes int `json:"nodes"` // NodeNamePrefix is the node name prefix for node names. NodeNamePrefix string `json:"node-name-prefix"` // NodeLabelPrefix is the node prefix. NodeLabelPrefix string `json:"node-label-prefix"` // NodeLabels is the node labels to attach when creating hollow nodes. NodeLabels map[string]string `json:"node-labels" read-only:"true"` // MaxOpenFiles is number of files that can be opened by hollow node kubelet process. // "cmd/kubelet/app.rlimit.SetNumFiles(MaxOpenFiles)" sets this for the host. // More than >100 node may exceed local system file descriptor limits. // e.g. too many open files MaxOpenFiles int64 `json:"max-open-files"` // CreatedNodeNames is the list of created "Node" object names. CreatedNodeNames []string `json:"created-node-names" read-only:"true"` }
AddOnHollowNodesLocal defines parameters for EKS cluster add-on hollow nodes local. It generates loads from the local host machine. Every object is written serially with no concurrency. Use remote tester to write with concurrency.
type AddOnHollowNodesRemote ¶ added in v1.1.9
type AddOnHollowNodesRemote 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // DeploymentReplicas is the number of replicas to create for workers. // The total number of objects to be created is "DeploymentReplicas" * "Nodes". DeploymentReplicas int32 `json:"deployment-replicas,omitempty"` // Nodes is the number of hollow nodes to create. // The total number of objects to be created is "DeploymentReplicas" * "Nodes". Nodes int `json:"nodes"` // NodeNamePrefix is the node name prefix for node names. NodeNamePrefix string `json:"node-name-prefix"` // NodeLabelPrefix is the node prefix. NodeLabelPrefix string `json:"node-label-prefix"` // MaxOpenFiles is number of files that can be opened by kubelet process. // "cmd/kubelet/app.rlimit.SetNumFiles(MaxOpenFiles)" sets this for the host. MaxOpenFiles int64 `json:"max-open-files"` // CreatedNodeNames is the list of created "Node" object names. CreatedNodeNames []string `json:"created-node-names" read-only:"true"` }
AddOnHollowNodesRemote defines parameters for EKS cluster add-on hollow nodes 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.
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // 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"` // 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // FetchLogs is true to fetch logs from remote nodes using SSH. FetchLogs bool `json:"fetch-logs"` // RoleName is the name of the managed node group. RoleName string `json:"role-name"` // RoleCreate is true to auto-create and delete role. RoleCreate bool `json:"role-create"` // RoleARN is the role ARN that EKS managed node group uses to create AWS // resources for Kubernetes. // By default, it's empty which triggers tester to create one. RoleARN string `json:"role-arn"` // RoleServicePrincipals is the node group Service Principals RoleServicePrincipals []string `json:"role-service-principals"` // RoleManagedPolicyARNs is node group managed policy ARNs. RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"` RoleCFNStackID string `json:"role-cfn-stack-id" read-only:"true"` // 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"` // 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 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // FetchLogs is true to fetch logs from remote nodes using SSH. FetchLogs bool `json:"fetch-logs"` // RoleName is the name of thed node group. RoleName string `json:"role-name"` // RoleCreate is true to auto-create and delete role. RoleCreate bool `json:"role-create"` // RoleARN is the role ARN that EKS node group uses to create AWS // resources for Kubernetes. // By default, it's empty which triggers tester to create one. RoleARN string `json:"role-arn"` // RoleServicePrincipals is the node group Service Principals RoleServicePrincipals []string `json:"role-service-principals"` // RoleManagedPolicyARNs is node groupd policy ARNs. RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"` RoleCFNStackID string `json:"role-cfn-stack-id" read-only:"true"` // NodeGroupSecurityGroupID is the security group ID for the node group. NodeGroupSecurityGroupID string `json:"node-group-security-group-id" read-only:"true"` NodeGroupSecurityGroupCFNStackID string `json:"node-group-security-group-cfn-stack-id" read-only:"true"` // 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"` // 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
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // 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"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` // RequestsSummaryReadsJSONPath is the file path to store reads requests summary in JSON format. RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` // RequestsSummaryReadsTablePath is the file path to store reads requests summary in table format. RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // DeploymentReplicas is the number of replicas to create for workers. // The total number of objects to be created is "DeploymentReplicas" * "Objects". DeploymentReplicas int32 `json:"deployment-replicas,omitempty"` // 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"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` // RequestsSummaryReads is the reads results. // Reads happen inside "Pod" where it reads "Secret" objects from the mounted volume. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` // RequestsSummaryReadsJSONPath is the file path to store reads requests summary in JSON format. RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` // RequestsSummaryReadsTablePath is the file path to store reads requests summary in table format. RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-path" 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"` }
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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // 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"` // Duration is the duration to run load testing. // The cluster loader waits "one" "Duration" for hollow ones. // And other one for cluster loader. Duration time.Duration `json:"duration,omitempty"` DurationString string `json:"duration-string,omitempty" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` // RequestsSummaryReadsJSONPath is the file path to store reads requests summary in JSON format. RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` // RequestsSummaryReadsTablePath is the file path to store reads requests summary in table format. RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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"` // 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"` // DeploymentReplicas is the number of replicas to create for workers. // Write QPS will be client QPS * replicas. // Read QPS will be client QPS * replicas. DeploymentReplicas int32 `json:"deployment-replicas,omitempty"` // 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 load testing. // The cluster loader waits "one" "Duration" for hollow ones. // And other one for cluster loader. Duration time.Duration `json:"duration,omitempty"` DurationString string `json:"duration-string,omitempty" read-only:"true"` // RequestsSummaryWrites is the writes results. RequestsSummaryWrites metrics.RequestsSummary `json:"requests-summary-writes,omitempty" read-only:"true"` // RequestsSummaryWritesJSONPath is the file path to store writes requests summary in JSON format. RequestsSummaryWritesJSONPath string `json:"requests-summary-writes-json-path" read-only:"true"` // RequestsSummaryWritesTablePath is the file path to store writes requests summary in table format. RequestsSummaryWritesTablePath string `json:"requests-summary-writes-table-path" read-only:"true"` // RequestsSummaryReads is the reads results. RequestsSummaryReads metrics.RequestsSummary `json:"requests-summary-reads,omitempty" read-only:"true"` // RequestsSummaryReadsJSONPath is the file path to store reads requests summary in JSON format. RequestsSummaryReadsJSONPath string `json:"requests-summary-reads-json-path" read-only:"true"` // RequestsSummaryReadsTablePath is the file path to store reads requests summary in table format. RequestsSummaryReadsTablePath string `json:"requests-summary-reads-table-path" 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"` }
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 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"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" 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 ClusterStatus ¶ added in v0.6.5
ClusterStatus represents the cluster status.
type Config ¶
type Config struct { // 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"` // 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"` // 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. 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"` // S3BucketCreate is true to auto-create S3 bucket. S3BucketCreate bool `json:"s3-bucket-create"` // S3BucketCreateKeep is true to not delete auto-created S3 bucket. // The created S3 bucket is kept. S3BucketCreateKeep bool `json:"s3-bucket-create-keep"` // S3BucketName is the name of cluster S3. S3BucketName string `json:"s3-bucket-name"` // S3BucketLifecycleExpirationDays is expiration in days for the lifecycle of the object. S3BucketLifecycleExpirationDays int64 `json:"s3-bucket-lifecycle-expiration-days"` // Parameters defines EKS "cluster" creation parameters. // It's ok to leave any parameters empty. // If empty, it will use default values. Parameters *Parameters `json:"parameters,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"` // 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"` // AddOnCSIEBS defines parameters for EKS cluster // add-on AWS EBS CSI Driver. AddOnCSIEBS *AddOnCSIEBS `json:"add-on-csi-ebs,omitempty"` // AddOnAppMesh defines parameters for EKS cluster // add-on "EKS App Mesh Integration". AddOnAppMesh *AddOnAppMesh `json:"add-on-app-mesh,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"` // AddOnNLBHelloWorld defines parameters for EKS cluster // add-on NLB hello-world service. AddOnNLBHelloWorld *AddOnNLBHelloWorld `json:"add-on-nlb-hello-world,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-config-maps-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-config-maps-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"` // AddOnConformance defines parameters for EKS cluster // add-on Conformance. AddOnConformance *AddOnConformance `json:"add-on-conformance,omitempty"` // AddOnHollowNodesLocal defines parameters for EKS cluster // add-on hollow nodes local. // It generates loads from the local host machine. AddOnHollowNodesLocal *AddOnHollowNodesLocal `json:"add-on-hollow-nodes-local,omitempty"` // AddOnHollowNodesRemote defines parameters for EKS cluster // add-on hollow nodes remote. // It generates loads from the remote workers (Pod) in the cluster. AddOnHollowNodesRemote *AddOnHollowNodesRemote `json:"add-on-hollow-nodes-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"` // 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) EvaluateCommandRefs ¶ added in v1.0.6
EvaluateCommandRefs updates "CommandAfterCreateCluster" and "CommandAfterCreateAddOns". currently, only support "GetRef.Name" and "GetRef.ClusterARN"
func (*Config) IsEnabledAddOnALB2048 ¶ added in v0.7.5
IsEnabledAddOnALB2048 returns true if "AddOnALB2048" 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) 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) IsEnabledAddOnConfigMapsLocal ¶ added in v1.2.2
IsEnabledAddOnConfigMapsLocal returns true if "AddOnConfigMapsLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnConfigMapsRemote ¶ added in v1.2.2
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) IsEnabledAddOnHollowNodesLocal ¶ added in v1.1.9
IsEnabledAddOnHollowNodesLocal returns true if "AddOnHollowNodesLocal" is enabled. Otherwise, nil the field for "omitempty".
func (*Config) IsEnabledAddOnHollowNodesRemote ¶ added in v1.1.9
IsEnabledAddOnHollowNodesRemote returns true if "AddOnHollowNodesRemote" 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) 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) 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) 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) 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 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"` // 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. // 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"` // AMIType is the AMI type for the node group. // Allowed values are AL2_x86_64 and AL2_x86_64_GPU. // 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 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 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"` // CFNStackID is the CloudFormation stack ID for a managed node group. CFNStackID string `json:"cfn-stack-id" read-only:"true"` RemoteAccessSecurityGroupID string `json:"remote-access-security-group-id" read-only:"true"` RemoteAccessSecurityGroupIngressEgressCFNStackID string `json:"remote-access-security-group-ingress-egress-cfn-stack-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"` }
MNG represents parameters for one EKS "Managed Node Group".
type Parameters ¶ added in v0.5.0
type Parameters struct { // RoleName is the name of cluster role. RoleName string `json:"role-name"` // RoleCreate is true to auto-create and delete cluster role. RoleCreate bool `json:"role-create"` // RoleARN is the role ARN that EKS uses to create AWS resources for Kubernetes. // By default, it's empty which triggers tester to create one. RoleARN string `json:"role-arn"` // RoleServicePrincipals is the EKS Role Service Principals RoleServicePrincipals []string `json:"role-service-principals"` // RoleManagedPolicyARNs is EKS Role managed policy ARNs. RoleManagedPolicyARNs []string `json:"role-managed-policy-arns"` RoleCFNStackID string `json:"role-cfn-stack-id" read-only:"true"` // 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"` // VPCCreate is true to auto-create and delete VPC. VPCCreate bool `json:"vpc-create"` // VPCID 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. VPCID string `json:"vpc-id"` VPCCFNStackID string `json:"vpc-cfn-stack-id" read-only:"true"` // VpcCIDR is the IP range (CIDR notation) for VPC, must be a valid private // (RFC 1918) CIDR range. VPCCIDR string `json:"vpc-cidr,omitempty"` // PublicSubnetCIDR1 is the CIDR Block for subnet 1 within the VPC. PublicSubnetCIDR1 string `json:"public-subnet-cidr-1,omitempty"` // PublicSubnetCIDR2 is the CIDR Block for subnet 2 within the VPC. PublicSubnetCIDR2 string `json:"public-subnet-cidr-2,omitempty"` // PublicSubnetCIDR3 is the CIDR Block for subnet 3 within the VPC. PublicSubnetCIDR3 string `json:"public-subnet-cidr-3,omitempty"` // PrivateSubnetCIDR1 is the CIDR Block for subnet 1 within the VPC. PrivateSubnetCIDR1 string `json:"private-subnet-cidr-1,omitempty"` // PrivateSubnetCIDR2 is the CIDR Block for subnet 2 within the VPC. PrivateSubnetCIDR2 string `json:"private-subnet-cidr-2,omitempty"` // PublicSubnetIDs is the list of all public subnets in the VPC. PublicSubnetIDs []string `json:"public-subnet-ids" read-only:"true"` // PrivateSubnetIDs is the list of all private subnets in the VPC. PrivateSubnetIDs []string `json:"private-subnet-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"` // 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"` // 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"` // EncryptionCMKCreate is true to auto-create and delete KMS CMK // for encryption feature. EncryptionCMKCreate bool `json:"encryption-cmk-create"` // EncryptionCMKARN is the KMS CMK ARN for encryption feature. // If not empty, the cluster is created with encryption feature // enabled. EncryptionCMKARN string `json:"encryption-cmk-arn"` }
Parameters defines parameters for EKS "cluster" creation.
type Status ¶ added in v0.5.0
type Status struct { // Up is true if the cluster is up. Up bool `json:"up"` // ServerVersionInfo is the server version from EKS kube-apiserver. ServerVersionInfo k8s_client.ServerVersionInfo `json:"server-version-info" read-only:"true"` // CreateTook is the duration that took to create the resource. CreateTook time.Duration `json:"create-took,omitempty" read-only:"true"` // CreateTookString is the duration that took to create the resource. CreateTookString string `json:"create-took-string,omitempty" read-only:"true"` // DeleteTook is the duration that took to create the resource. DeleteTook time.Duration `json:"delete-took,omitempty" read-only:"true"` // DeleteTookString is the duration that took to create the resource. DeleteTookString string `json:"delete-took-string,omitempty" read-only:"true"` // TimeUTCCreateComplete is the time when cluster creation is complete. TimeUTCCreateComplete time.Time `json:"time-utc-create-complete,omitempty" read-only:"true"` TimeUTCCreateCompleteRFC3339Micro string `json:"time-utc-create-complete-rfc3339-micro,omitempty" read-only:"true"` // TimeUTCDeleteStart is the time when cluster and add-on deletion is started. TimeUTCDeleteStart time.Time `json:"time-utc-delete-start,omitempty" read-only:"true"` TimeUTCDeleteStartRFC3339Micro string `json:"time-utc-delete-start-rfc3339-micro,omitempty" 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"` ClusterCFNStackID string `json:"cluster-cfn-stack-id"` ClusterARN string `json:"cluster-arn"` // ClusterControlPlaneSecurityGroupID is the security group ID for the cluster control // plane communication with worker nodes. ClusterControlPlaneSecurityGroupID string `json:"cluster-control-plane-security-group-id"` // 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"` }
Status represents the current status of AWS resources. Read-only. Cannot be configured via environmental variables.
Source Files ¶
- add-on-alb-2048.go
- add-on-app-mesh.go
- add-on-config-maps-local.go
- add-on-config-maps-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-fargate.go
- add-on-hollow-nodes-local.go
- add-on-hollow-nodes-remote.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-nlb-hello-world.go
- add-on-node-groups.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.go
- add-on-wordpress.go
- config.go
- env.go
- init.go
- parameters.go
- status.go