SKS - Scalable Kubernetes Service - is a managed control plane service for Kubernetes (K8S) by Exoscale.
- 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
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)
SKS is available in 2 versions with the following differences:
|Usage||for K8S in the development pipeline and proof of concepts||for all workloads that need flexibility and full protection|
|Backup of etcd||no||Min. Daily|
Service Level and Support
With SKS all components of the Control Plane are covered by our SLA including:
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:
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.
The SKS offering is currently available in the following Exoscale zones:
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