Scalable Infrastructure · JSON Structure
Scalable Infrastructure Kubernetes Cluster Structure
Hierarchical structure of a managed Kubernetes cluster across AWS EKS, GKE, AKS, and DigitalOcean DOKS.
Type:
Properties: 0
Cloud InfrastructureComputeDevOpsInfrastructure as CodeKubernetesNetworkingScalabilityStorage
Kubernetes Cluster is a JSON Structure definition published by Scalable Infrastructure.
Meta-schema:
JSON Structure
{
"name": "Kubernetes Cluster",
"description": "Hierarchical structure of a managed Kubernetes cluster across AWS EKS, GKE, AKS, and DigitalOcean DOKS.",
"fields": [
{
"name": "id",
"type": "string",
"description": "Provider-assigned cluster identifier.",
"required": false
},
{
"name": "name",
"type": "string",
"description": "Human-readable cluster name in kebab-case.",
"required": true
},
{
"name": "provider",
"type": "string",
"description": "Cloud provider (aws-eks, google-gke, azure-aks, digitalocean-doks, self-managed).",
"required": true
},
{
"name": "region",
"type": "string",
"description": "Cloud region where the control plane runs.",
"required": true
},
{
"name": "version",
"type": "string",
"description": "Kubernetes version (e.g., 1.30).",
"required": true
},
{
"name": "status",
"type": "string",
"description": "Cluster operational status (provisioning, running, upgrading, degraded, deleting, deleted).",
"required": false,
"default": "provisioning"
},
{
"name": "endpoint",
"type": "string",
"description": "Kubernetes API server URL.",
"required": false,
"format": "uri"
},
{
"name": "nodePools",
"type": "array",
"description": "Worker node pools with instance type and autoscaling config.",
"required": true,
"items": {
"type": "object",
"fields": [
{"name": "name", "type": "string", "description": "Node pool name.", "required": true},
{"name": "instanceType", "type": "string", "description": "VM instance type (e.g., t3.xlarge, n2-standard-4).", "required": true},
{"name": "minCount", "type": "integer", "description": "Minimum node count.", "required": true},
{"name": "maxCount", "type": "integer", "description": "Maximum node count.", "required": true},
{"name": "desiredCount", "type": "integer", "description": "Current desired node count."},
{"name": "diskSizeGB", "type": "integer", "description": "Node root disk size in GB.", "default": 100},
{"name": "labels", "type": "object", "description": "Kubernetes node labels."},
{"name": "taints", "type": "array", "description": "Kubernetes node taints."},
{"name": "spotEnabled", "type": "boolean", "description": "Use spot/preemptible instances.", "default": false}
]
}
},
{
"name": "networking",
"type": "object",
"description": "Network configuration for pod and service CIDRs and CNI plugin.",
"required": false,
"fields": [
{"name": "vpcId", "type": "string", "description": "VPC or virtual network ID."},
{"name": "podCidr", "type": "string", "description": "CIDR block for pod addresses."},
{"name": "serviceCidr", "type": "string", "description": "CIDR block for service cluster IPs."},
{"name": "cni", "type": "string", "description": "CNI plugin (vpc-cni, calico, cilium, flannel, weave)."},
{"name": "privateCluster", "type": "boolean", "description": "Whether API server is private.", "default": false}
]
},
{
"name": "autoscaling",
"type": "object",
"description": "Cluster Autoscaler settings.",
"required": false,
"fields": [
{"name": "enabled", "type": "boolean", "description": "Whether cluster autoscaling is enabled.", "default": true},
{"name": "minNodes", "type": "integer", "description": "Minimum total cluster node count."},
{"name": "maxNodes", "type": "integer", "description": "Maximum total cluster node count."},
{"name": "scaleDownEnabled", "type": "boolean", "description": "Whether scale-down is permitted.", "default": true},
{"name": "scaleDownDelayAfterAdd", "type": "string", "description": "Delay after adding nodes before scale-down evaluation."},
{"name": "scaleDownUnneededTime", "type": "string", "description": "Time a node must be idle before removal."}
]
},
{
"name": "addons",
"type": "array",
"description": "Managed cluster add-ons (coredns, metrics-server, vpc-cni, etc.).",
"required": false
},
{
"name": "tags",
"type": "object",
"description": "Key-value metadata labels.",
"required": false
},
{
"name": "createdAt",
"type": "string",
"description": "Cluster creation timestamp.",
"required": false,
"format": "date-time"
}
]
}