Presentation

SKS - Scalable Kubernetes Service - is a managed control plane service for Kubernetes (K8S) by Exoscale.

Terminology

  • Instance Pool (IP): group of similar compute instances whose lifecycle is managed by the scheduler, created upon a set of user-specified instance properties (e.g. size, template, security groups…)
  • Node Pool (NP): IP managed by SKS scheduler (user can’t modify properties directly), which can be used by users to assign K8S pods to specific group of Nodes by specifying a nodeSelector spec
  • Node: function assumed by a set of components running on a Compute instance member of an IP, mapping to a K8S Node.
  • Control Plane (CP): set of components managing the lifecycle of a K8S cluster (TLS certificates, etcd cluster, K8S Master-related components), mapping to a K8S “master”
  • Cluster: virtual entity encapsulating a CP and # NP

Features

Scalable Kubernetes Service has the following feature set

  • Managed, highly available CP (depending on version)
  • A NP can be grown/shrunk live (as the underlying IP can)
  • Multiple NP can be attached to a SKS cluster
  • K8S services of type LoadBalancer in a SKS cluster can be exposed by a Network Load Balancer (provisioned by the CP cloud-controller component)
  • SKS cluster can be created/grown/shrunk/destroyed on demand
  • SKS cluster can be upgraded on demand to a new available version
  • SKS cluster’s root credentials (kubeconfig) can be retrieved via an SKS API call (the credentials have a TTL of 30 days)

Pricing tiers

SKS is available in 2 versions with the following differences:

Exoscale SKS STARTER PRO
Usage for K8S in the development pipeline and proof of concepts for all workloads that need flexibility and full protection
API yes yes
CLI yes yes
Terraform yes yes
High Availability no yes
Backup of etcd no Min. Daily
SLA no 99.95%
Price Free See pricing

Service Level and Support

With SKS all components of the Control Plane are covered by our SLA including:

  • etcd
  • Apiserver
  • Scheduler
  • Controller-manager
  • CCM

There is no SLA for any node components running inside the SKS cluster. Each Node is however covered by the standard compute SLA of 99.95%.

At the time of writing we deploy the following components inside SKS clusters:

  • Calico
  • CoreDNS
  • Konnectivity
  • Kubeproxy

These components are not covered by the SKS SLA as it is not possible to ensure a clear responsibility split between between parties. We support these in best effort mode and provide upgrade tools and operations.

User support scope is limited to the components mentioned above.

A temporary Kubeconfig may be requested to user to access its cluster if any of these components needs troubleshooting.

Availability

The SKS offering is currently available in the following Exoscale zones:

  • at-vie-1
  • bg-sof-1
  • ch-dk-2
  • ch-gva-2
  • de-fra-1
  • de-muc-1

Limitations

SKS is available with the following limitations to ensure correct performance and supportability:

  • Minimum instance size: Small or 2 GB RAM equivalent
  • No cross zone stretch support: each cluster is local to a single zone only
  • Root credentials maximum Time To Live of 30 days

See Also