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. |
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.
resource "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example"
kubernetes_version = "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"
}
}
name
(String) The cluster name.node_pools
(Attributes List) One or morenode_pool
block as defined below. (see below for nested schema)project_id
(String) STACKIT project ID to which the cluster is associated.
allow_privileged_containers
(Boolean) Flag to specify if privileged mode for containers is enabled or not. This should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs). Deprecated as of Kubernetes 1.25 and laterextensions
(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
(String, Deprecated) Kubernetes version. Must only contain major and minor version (e.g. 1.22). This field is deprecated, usekubernetes_version_min instead
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_updates
to 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_used
field.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)
id
(String) Terraform's internal resource ID. It is structured as "project_id
,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_updates
to true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.
Required:
availability_zones
(List of String) Specify a list of availability zones. E.g.eu01-m
machine_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 tocontainerd
labels
(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_surge
andmax_unavailable
fields cannot both be unset at the same time.max_unavailable
(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_surge
andmax_unavailable
fields 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_min
to configure the version andos_version_used
to 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_updates
to 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_used
field.taints
(Attributes List) Specifies a taint list as defined below. (see below for nested schema)volume_size
(Number) The volume size in GB. Defaults to20
volume_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_updates
to true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.
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.
Optional:
acl
(Attributes) Cluster access control configuration. (see below for nested schema)argus
(Attributes) A single argus block as defined below. (see below for nested schema)dns
(Attributes) DNS extension configuration (see below for nested schema)
Required:
allowed_cidrs
(List of String) Specify a list of CIDRs to whitelist.enabled
(Boolean) Is ACL enabled?
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
.
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
)
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
.
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_updates
to 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_updates
to true or if there is a mandatory update, as described in Updates for Kubernetes versions and Operating System versions in SKE.
Optional:
id
(String) ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed.