exoscale_sks_cluster (Resource)
Manage Exoscale Scalable Kubernetes Service (SKS) Clusters.
Example Usage
resource "exoscale_sks_cluster" "my_sks_cluster" {
zone = "ch-gva-2"
name = "my-sks-cluster"
}
output "my_sks_cluster_endpoint" {
value = exoscale_sks_cluster.my_sks_cluster.endpoint
}
Next step is to attach exoscale_sks_nodepool(s) to the cluster.
Please refer to the examples directory for complete configuration examples.
Schema
Required
name
(String) The SKS cluster name.zone
(String) ❗ The Exoscale Zone name.
Optional
addons
(Set of String, Deprecated)auto_upgrade
(Boolean) Enable automatic upgrading of the control plane version.cni
(String) The CNI plugin that is to be used. Available options are “calico” or “cilium”. Defaults to “calico”. Setting empty string will result in a cluster with no CNI.description
(String) A free-form text describing the cluster.exoscale_ccm
(Boolean) Deploy the Exoscale Cloud Controller Manager in the control plane (boolean; default:true
; may only be set at creation time).exoscale_csi
(Boolean) Deploy the Exoscale Container Storage Interface on worker nodes (boolean; default:false
; requires the CCM to be enabled).labels
(Map of String) A map of key/value labels.metrics_server
(Boolean) Deploy the Kubernetes Metrics Server in the control plane (boolean; default:true
; may only be set at creation time).oidc
(Block List, Max: 1) An OpenID Connect configuration to provide to the Kubernetes API server (may only be set at creation time). Structure is documented below. (see below for nested schema)service_level
(String) The service level of the control plane (pro
orstarter
; default:pro
; may only be set at creation time).timeouts
(Block, Optional) (see below for nested schema)version
(String) The version of the control plane (default: latest version available from the API; seeexo compute sks versions
for reference; may only be set at creation time).
Read-Only
aggregation_ca
(String) The CA certificate (in PEM format) for TLS communications between the control plane and the aggregation layer (e.g.metrics-server
).control_plane_ca
(String) The CA certificate (in PEM format) for TLS communications between control plane components.created_at
(String) The cluster creation date.endpoint
(String) The cluster API endpoint.id
(String) The SKS cluster ID.kubelet_ca
(String) The CA certificate (in PEM format) for TLS communications between kubelets and the control plane.nodepools
(Set of String) The list of exoscale_sks_nodepool (IDs) attached to the cluster.state
(String) The cluster state.
Nested Schema for oidc
Required:
client_id
(String) The OpenID client ID.issuer_url
(String) The OpenID provider URL.
Optional:
groups_claim
(String) An OpenID JWT claim to use as the user’s group.groups_prefix
(String) An OpenID prefix prepended to group claims.required_claim
(Map of String) A map of key/value pairs that describes a required claim in the OpenID Token.username_claim
(String) An OpenID JWT claim to use as the user name.username_prefix
(String) An OpenID prefix prepended to username claims.
Nested Schema for timeouts
Optional:
create
(String)delete
(String)read
(String)update
(String)
-> The symbol ❗ in an attribute indicates that modifying it, will force the creation of a new resource.
Import
An existing SKS cluster may be imported by <ID>@<zone>
:
terraform import \
exoscale_sks_cluster.my_sks_cluster \
f81d4fae-7dec-11d0-a765-00a0c91e6bf6@ch-gva-2
~> NOTE: Importing an exoscale_sks_cluster
resource does not import related exoscale_sks_nodepool
resources.