exoscale_sks_nodepool (Resource)
Manage Exoscale Scalable Kubernetes Service (SKS) Node Pools.
Example Usage
resource "exoscale_sks_cluster" "my_sks_cluster" {
zone = "ch-gva-2"
name = "my-sks-cluster"
}
resource "exoscale_sks_nodepool" "my_sks_nodepool" {
cluster_id = exoscale_sks_cluster.my_sks_cluster.id
zone = exoscale_sks_cluster.my_sks_cluster.zone
name = "my-sks-nodepool"
instance_type = "standard.medium"
size = 3
}Please refer to the examples directory for complete configuration examples.
Schema
Required
cluster_id(String) ❗ The parent exoscale_sks_cluster ID.instance_type(String) The managed compute instances type (<family>.<size>, e.g.standard.medium; use the Exoscale CLI -exo compute instance-type list- for the list of available types).name(String) The SKS node pool name.size(Number)zone(String) ❗ The Exoscale Zone name.
Optional
anti_affinity_group_ids(Set of String) A list of exoscale_anti_affinity_group (IDs) to be attached to the managed instances.deploy_target_id(String) A deploy target ID.description(String) A free-form text describing the pool.disk_size(Number) The managed instances disk size (GiB; default:50).instance_prefix(String) The string used to prefix the managed instances name (defaultpool).ipv6(Boolean) Enable IPV6 for the nodepool nodeskubelet_image_gc(Attributes) Configuration for this nodepool’s kubelet image garbage collector. (see below for nested schema)kubelet_max_pods(Number) The maximum number of pods per node (default is 110).labels(Map of String) A map of key/value labels.nvidia_mig_profile(String) The NVIDIA Multi-Instance GPU (MIG) profile to enable on the managed GPUs. The GPU family is inferred frominstance_type:gpua30.*accepts2g.12gb,1g.6gb+me,1g.6gb,2g.12gb+me,4g.24gb;gpurtx6000pro.*accepts1g.24gb-me,1g.24gb,2g.48gb-me,2g.48gb,4g.96gb+gfx,1g.24gb+me,2g.48gb+me.all,1g.24gb+gfx,1g.24gb+me.all,4g.96gb,2g.48gb+gfx.private_network_ids(Set of String) A list of exoscale_private_network (IDs) to be attached to the managed instances.security_group_ids(Set of String) A list of exoscale_security_group (IDs) to be attached to the managed instances.storage_lvm(Boolean) Create nodes with non-standard partitioning for persistent storage (requires min 100G of disk space) (may only be set at creation time).taints(Map of String) A map of key/value Kubernetes taints (’taints = {= “ : ” }’). timeouts(Block, Optional) (see below for nested schema)
Read-Only
created_at(String) The pool creation date.id(String) The SKS node pool ID.instance_pool_id(String) The underlying exoscale_instance_pool ID.state(String) The current pool state.template_id(String) The managed instances template ID.version(String) The managed instances version.
Nested Schema for kubelet_image_gc
Optional:
high_threshold(Number) The percent of disk usage after which image garbage collection is always runlow_threshold(Number) The percent of disk usage before which image garbage collection is never runmin_age(String) The minimum age for an unused image before it is garbage collected (k8s duration format, eg. 1h)
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.read(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Read operations occur during any refresh or planning operation when refresh is enabled.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
-> The symbol ❗ in an attribute indicates that modifying it, will force the creation of a new resource.
Import
An existing SKS node pool may be imported by <cluster-ID>/<nodepool-ID>@<zone>:
terraform import \
exoscale_sks_nodepool.my_sks_nodepool \
f81d4fae-7dec-11d0-a765-00a0c91e6bf6/9ecc6b8b-73d4-4211-8ced-f7f29bb79524@ch-gva-2Last updated on