11 KiB
11 KiB
| page_title | subcategory | description |
|---|---|---|
| stackit_ske_cluster Resource - stackit | SKE Cluster Resource schema. Must have a region specified in the provider configuration. -> When updating node_pools of a stackit_ske_cluster, the Terraform plan might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied. |
stackit_ske_cluster (Resource)
SKE Cluster Resource schema. Must have a region specified in the provider configuration.
-> When updating node_pools of a stackit_ske_cluster, the Terraform plan might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.
Example Usage
resource "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example"
kubernetes_version_min = "x.x"
node_pools = [
{
name = "np-example"
machine_type = "x.x"
os_version = "x.x.x"
minimum = "2"
maximum = "3"
availability_zones = ["eu01-3"]
}
]
maintenance = {
enable_kubernetes_version_updates = true
enable_machine_image_version_updates = true
start = "01:00:00Z"
end = "02:00:00Z"
}
}
Schema
Required
name(String) The cluster name.node_pools(Attributes List) One or morenode_poolblock as defined below. (see below for nested schema)project_id(String) STACKIT project ID to which the cluster is associated.
Optional
extensions(Attributes) A single extensions block as defined below. (see below for nested schema)hibernations(Attributes List) One or more hibernation block as defined below. (see below for nested schema)kubernetes_version_min(String) The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have setmaintenance.enable_kubernetes_version_updatesto true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE. To get the current kubernetes version being used for your cluster, use the read-onlykubernetes_version_usedfield.maintenance(Attributes) A single maintenance block as defined below. (see below for nested schema)network(Attributes) Network block as defined below. (see below for nested schema)region(String) The resource region. If not defined, the provider region is used.
Read-Only
egress_address_ranges(List of String) The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.id(String) Terraform's internal resource ID. It is structured as "project_id,region,name".kubernetes_version_used(String) Full Kubernetes version used. For example, if 1.22 was set inkubernetes_version_min, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have setmaintenance.enable_kubernetes_version_updatesto true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.pod_address_ranges(List of String) The network ranges (in CIDR notation) used by pods of the cluster.
Nested Schema for node_pools
Required:
availability_zones(List of String) Specify a list of availability zones. E.g.eu01-mmachine_type(String) The machine type.maximum(Number) Maximum number of nodes in the pool.minimum(Number) Minimum number of nodes in the pool.name(String) Specifies the name of the node pool.
Optional:
allow_system_components(Boolean) Allow system components to run on this node pool.cri(String) Specifies the container runtime. Defaults tocontainerdlabels(Map of String) Labels to add to each node.max_surge(Number) Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. Themax_surgeandmax_unavailablefields cannot both be unset at the same time.max_unavailable(Number) Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. Themax_surgeandmax_unavailablefields cannot both be unset at the same time.os_name(String) The name of the OS image. Defaults toflatcar.os_version(String, Deprecated) This field is deprecated, useos_version_minto configure the version andos_version_usedto get the currently used version instead.os_version_min(String) The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have setmaintenance.enable_kubernetes_version_updatesto true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE. To get the current OS image version being used for the node pool, use the read-onlyos_version_usedfield.taints(Attributes List) Specifies a taint list as defined below. (see below for nested schema)volume_size(Number) The volume size in GB. Defaults to20volume_type(String) Specifies the volume type. Defaults tostorage_premium_perf1.
Read-Only:
os_version_used(String) Full OS image version used. For example, if 3815.2 was set inos_version_min, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have setmaintenance.enable_kubernetes_version_updatesto true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.
Nested Schema for node_pools.taints
Required:
effect(String) The taint effect. E.gPreferNoSchedule.key(String) Taint key to be applied to a node.
Optional:
value(String) Taint value corresponding to the taint key.
Nested Schema for extensions
Optional:
acl(Attributes) Cluster access control configuration. (see below for nested schema)argus(Attributes, Deprecated) A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. (see below for nested schema)dns(Attributes) DNS extension configuration (see below for nested schema)observability(Attributes) A single observability block as defined below. (see below for nested schema)
Nested Schema for extensions.acl
Required:
allowed_cidrs(List of String) Specify a list of CIDRs to whitelist.enabled(Boolean) Is ACL enabled?
Nested Schema for extensions.argus
Required:
enabled(Boolean) Flag to enable/disable Argus extensions.
Optional:
argus_instance_id(String) Argus instance ID to choose which Argus instance is used. Required when enabled is set totrue.
Nested Schema for extensions.dns
Required:
enabled(Boolean) Flag to enable/disable DNS extensions
Optional:
zones(List of String) Specify a list of domain filters for externalDNS (e.g.,foo.runs.onstackit.cloud)
Nested Schema for extensions.observability
Required:
enabled(Boolean) Flag to enable/disable Observability extensions.
Optional:
instance_id(String) Observability instance ID to choose which Observability instance is used. Required when enabled is set totrue.
Nested Schema for hibernations
Required:
end(String) End time of hibernation in crontab syntax. E.g.0 8 * * *for waking up the cluster at 8am.start(String) Start time of cluster hibernation in crontab syntax. E.g.0 18 * * *for starting everyday at 6pm.
Optional:
timezone(String) Timezone name corresponding to a file in the IANA Time Zone database. i.e.Europe/Berlin.
Nested Schema for maintenance
Required:
end(String) Time for maintenance window end. E.g.01:23:45Z,05:00:00+02:00.start(String) Time for maintenance window start. E.g.01:23:45Z,05:00:00+02:00.
Optional:
enable_kubernetes_version_updates(Boolean) Flag to enable/disable auto-updates of the Kubernetes version. Defaults totrue. SKE automatically updates the cluster Kubernetes version if you have setmaintenance.enable_kubernetes_version_updatesto true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.enable_machine_image_version_updates(Boolean) Flag to enable/disable auto-updates of the OS image version. Defaults totrue. SKE automatically updates the cluster Kubernetes version if you have setmaintenance.enable_kubernetes_version_updatesto true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.
Nested Schema for network
Optional:
id(String) ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed.