Skip to main content

Google Kubernetes Engine

Defines the settings for Google Kubernetes Engine, including cluster and gateway specifics

Type: gke-configuration

Properties

NameTypeDescriptionRequired
clusterobjectSettings specific to the cluster
yes
gatewayobjectGateway-related settings
yes
securityobjectSecurity-related configurations, including service accounts and other Kubernetes security elements
no
traffic_manager
(Traffic Manager Settings)
objectTraffic manager sidecar container settings
no
resource_managementobjectKubernetes resource allocation and limit settings for containerized applications
no

Additional Properties: not allowed
Example

{
"cluster": {
"id": "my-gke-cluster",
"location": "us-central1-a",
"namespace": "my-namespace"
},
"gateway": {
"namespace": "istio-ingress-system",
"public_name": "public-gateway",
"private_name": "private-gateway"
},
"security": {
"image_pull_secrets": [
"image-pull-secret-nullplatform"
],
"service_account_name": "my-service-account"
},
"traffic_manager": {
"version": "latest"
},
"resource_management": {}
}

cluster: Cluster​

Settings specific to the cluster

Properties

NameTypeDescriptionRequired
id
(Name)
stringThe name of the GKE cluster (e.g., 'my-gke-cluster'). Cluster names must be unique within your Google Cloud project and region
Minimal Length: 1
Maximal Length: 40
Pattern: ^[a-z]([-a-z0-9]*[a-z0-9])?$
yes
locationstringThe location where the GKE cluster is deployed. This can be a specific zone or a region for regional clusters.
yes
namespace
(Applications Namespace)
stringThe Kubernetes namespace within the GKE cluster where the application is deployed (e.g., 'my-namespace'). Namespace names must be valid DNS labels
Maximal Length: 63
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
yes

Example

{
"id": "my-gke-cluster",
"location": "us-central1-a",
"namespace": "my-namespace"
}

gateway: Gateway​

Gateway-related settings

Properties

NameTypeDescriptionRequired
namespacestringThe namespace in which the gateway is deployed
Maximal Length: 63
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
no
public_name
(Public Gateway Name)
stringThe name of the public gateway (e.g., 'public-gateway')
Maximal Length: 63
Pattern: ^[a-z]([-a-z0-9]*[a-z0-9])?$
yes
private_name
(Private Gateway Name)
stringThe name of the private gateway (e.g., 'private-gateway')
Maximal Length: 63
Pattern: ^[a-z]([-a-z0-9]*[a-z0-9])?$
no

Example

{
"namespace": "istio-ingress-system",
"public_name": "public-gateway",
"private_name": "private-gateway"
}

security: Security​

Security-related configurations, including service accounts and other Kubernetes security elements

Properties

NameTypeDescriptionRequired
image_pull_secrets
(List of secret names to use image pull secrets)
string[]Image pull secrets store Docker credentials in GKE clusters, enabling secure access to private container images for seamless Kubernetes application deployment.
service_account_namestringThe 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 GKE 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

NameTypeDescriptionRequired
version
(Traffic Manager Version)
stringUses 'latest' by default, but you can specify a different tag for the traffic container
Default: "latest"
Maximal Length: 63
Pattern: ^[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

NameTypeDescriptionRequired
max_milicores
(Max Mili-Cores)
stringSets the maximum amount of CPU mili cores a pod can use. It caps the maxCoreMultiplier value when it is set
memory_cpu_ratiostringAmount of MiB of ram per CPU. Default value is 2048, it means 1 core for every 2 GiB of RAM
max_cores_multiplierstringSets 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_ratiostringSets the ratio between requested and limit memory. Default value is 1, must be a number greater than or equal to 1