Amazon Elastic Kubernetes Service (EKS) configuration
Defines the configuration for Amazon Elastic Kubernetes Service (EKS) settings in the application, including cluster settings and Kubernetes specifics
Type: eks-configuration
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| cluster (EKS cluster settings) | object | Settings specific to the EKS cluster. | yes |
| network | object | Network-related configurations, including load balancer configurations | no |
| balancer (Load Balancer Configuration) | object | Load balancer configurations for public and private traffic routing | no |
| security | object | Security-related configurations, including service accounts and other Kubernetes security elements | no |
| traffic_manager (Traffic Manager Settings) | object | Traffic manager sidecar container settings | no |
| resource_management | object | Kubernetes resource allocation and limit settings for containerized applications | no |
Additional Properties: not allowed
Example
{
"cluster": {
"id": "my-cluster",
"namespace": "my-namespace"
},
"network": {
"balancer_group_suffix": "my-suffix"
},
"balancer": {
"public_name": "my-public-balancer",
"private_name": "my-private-balancer",
"alb_capacity_threshold": 75
},
"security": {
"image_pull_secrets": [
"image-pull-secret-nullplatform"
],
"service_account_name": "my-service-account"
},
"traffic_manager": {
"version": "latest"
},
"resource_management": {}
}
cluster: EKS cluster settings
Settings specific to the EKS cluster.
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| id (Cluster Name) | string | The name of the Amazon EKS cluster (e.g., "my-cluster"). Cluster names must be unique within your AWS account and region Maximal Length: 100Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,98}[a-zA-Z0-9])?$ | yes |
| namespace (Kubernetes Namespace) | string | The Kubernetes namespace within the EKS cluster where the application is deployed (e.g.,"my-namespace"). Namespace names must be DNS labels Maximal Length: 63Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ | no |
| use_nullplatform_namespace | boolean | When enabled, uses the nullplatform system namespace instead of a custom namespace | no |
Example
{
"id": "my-cluster",
"namespace": "my-namespace"
}
network: Network
Network-related configurations, including load balancer configurations
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| balancer_group_suffix (ALB Name Suffix) | string | When set, this suffix is added to the Application Load Balancer name, enabling management across multiple clusters in the same account or exceeding AWS ALB limit. Maximal Length: 63Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
Example
{
"balancer_group_suffix": "my-suffix"
}
balancer: Load Balancer Configuration
Load balancer configurations for public and private traffic routing
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| public_name (Main Public Load Balancer) | string | Primary public-facing load balancer name for external traffic routing Maximal Length: 100Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,98}[a-zA-Z0-9])?$ | |
| private_name (Main Private Load Balancer) | string | Primary private load balancer name for internal traffic routing Maximal Length: 100Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,98}[a-zA-Z0-9])?$ | |
| alb_capacity_threshold | integer | Maximum ALB rule usage percentage (50-99). The remaining capacity (100 minus this value) reserves slots for concurrent deployments. Higher values maximize ALB utilization but increase the risk of deployment failures due to insufficient available slots Default: 75Maximum: 99 | |
| additional_public_names (Additional Public Load Balancers) | string[] | Additional public load balancers to support scope deployments beyond the 100-rule ALB limit | |
| additional_private_names (Additional Private Load Balancers) | string[] | Additional private load balancers to support scope deployments beyond the 100-rule ALB limit |
Example
{
"public_name": "my-public-balancer",
"private_name": "my-private-balancer",
"alb_capacity_threshold": 75
}
balancer.additional_public_names[]: Additional Public Load Balancers
Additional public load balancers to support scope deployments beyond the 100-rule ALB limit
Items
Item Type: string
Item Maximal Length: 100
Item Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,98}[a-zA-Z0-9])?$
balancer.additional_private_names[]: Additional Private Load Balancers
Additional private load balancers to support scope deployments beyond the 100-rule ALB limit
Items
Item Type: string
Item Maximal Length: 100
Item Pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,98}[a-zA-Z0-9])?$
security: Security
Security-related configurations, including service accounts and other Kubernetes security elements
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| image_pull_secrets (List of secret names to use image pull secrets) | string[] | Image pull secrets store Docker credentials in EKS clusters, enabling secure access to private container images for seamless Kubernetes application deployment. | |
| service_account_name | string | The name of the Kubernetes service account used for deployments. |
Example
{
"image_pull_secrets": [
"image-pull-secret-nullplatform"
],
"service_account_name": "my-service-account"
}
security.image_pull_secrets[]: List of secret names to use image pull secrets
Image pull secrets store Docker credentials in EKS clusters, enabling secure access to private container images for seamless Kubernetes application deployment.
Items
Item Type: string
Item Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
Example
[
"image-pull-secret-nullplatform"
]
traffic_manager: Traffic Manager Settings
Traffic manager sidecar container settings
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| version (Traffic Manager Version) | string | Uses 'latest' by default, but you can specify a different tag for the traffic container Default: "latest"Maximal Length: 63Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
Example
{
"version": "latest"
}
resource_management: Resource Management
Kubernetes resource allocation and limit settings for containerized applications
Properties
| Name | Type | Description | Required |
|---|---|---|---|
| max_milicores (Max Mili-Cores) | string | Sets the maximum amount of CPU mili cores a pod can use. It caps the maxCoreMultiplier value when it is set | |
| memory_cpu_ratio | string | Amount of MiB of ram per CPU. Default value is 2048, it means 1 core for every 2 GiB of RAM | |
| max_cores_multiplier | string | Sets the ratio between requested and limit CPU. Default value is 3, must be a number greater than or equal to 1 | |
| memory_request_to_limit_ratio | string | Sets the ratio between requested and limit memory. Default value is 1, must be a number greater than or equal to 1 |