* Add projectId to resource manager project, fix value conversion error * Support both uuid and container id, update acceptance tests * Update docs * Fix unit tests * Adapt acc test names
5.5 KiB
5.5 KiB
| page_title | subcategory | description |
|---|---|---|
| stackit_ske_cluster Resource - stackit | SKE Cluster Resource schema. Must have a region specified in the provider configuration. |
stackit_ske_cluster (Resource)
SKE Cluster Resource schema. Must have a region specified in the provider configuration.
Example Usage
resource "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-name"
kubernetes_version = "1.25"
node_pools = [
{
name = "np-example"
machine_type = "b1.2"
os_version = "3510.2.5"
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
kubernetes_version(String) Kubernetes version. Must only contain major and minor version (e.g. 1.22)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
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)maintenance(Attributes) A single maintenance block as defined below. (see below for nested schema)
Read-Only
id(String) Terraform's internal resource ID. It is structured as "project_id,name".kube_config(String, Sensitive) Kube config file used for connecting to the clusterkubernetes_version_used(String) Full Kubernetes version used. For example, if 1.22 was selected, this value may result to 1.22.15
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.os_version(String) The OS image version.
Optional:
cri(String) Specifies the container runtime. E.g.containerdlabels(Map of String) Labels to add to each node.max_surge(Number) Maximum number of additional VMs that are created during an update.max_unavailable(Number) Maximum number of VMs that that can be unavailable during an update.os_name(String) The name of the OS image. E.g.flatcar.taints(Attributes List) Specifies a taint list as defined below. (see below for nested schema)volume_size(Number) The volume size in GB. E.g.20volume_type(String) Specifies the volume type. E.g.storage_premium_perf1.
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) A single argus block as defined below. (see below for nested schema)
Nested Schema for extensions.acl
Required:
enabled(Boolean) Is ACL enabled?
Optional:
allowed_cidrs(List of String) Specify a list of CIDRs to whitelist.
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 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:
enable_kubernetes_version_updates(Boolean) Flag to enable/disable auto-updates of the Kubernetes version.enable_machine_image_version_updates(Boolean) Flag to enable/disable auto-updates of the OS image version.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.