Playing with Scaleway Cluster — Part #3

webofmars
3 min readOct 28, 2021
Photo by Jeremy Thomas on Unsplash

NOTE: This article is part of a serie dedicated on Scaleway Kosmos. If you haven’t read from the beggining you can should start here:

Part #1 was a lot of fun and straight easy but not realy a real world example. What about staeful apps how our MC cluster will handle it ? Continue reading for finding out more … 🚀

More MC fun — Part #2 — Stateful apps

For the use case I created a StatefulSet k8s manifest including a VolumeClaimTemplates primitive as it is an easy way to simulate a real stateful apps deployed on a multi nodes cluster. Check it at here: https://raw.githubusercontent.com/webofmars/labs-kosmos/main/k8s/sts-with-pvc-1.yaml

Deploying StaefulSet with VolumeClaims

Once deployed you will notice that you pods will stay as Pending for an infinite amount of time. A describe command can enlight you about the cause but this is also very predictable.

If you check what kind of StorageClass the MC cluster supports you will see that it only capable of 2 SCs related to Scaleway Block Storage services (scw-bssd and scw-bssd-retain). Since i don’t have any Scaleway node in my cluster this will not work.

NOTE: Please ignore local-path in screenshot above since it will be used in next section only.

This is an issue … Let work around this …

You have to find a common StorageClass supported on all of your cloud providers at the same time, name you own … emptyDir, local-path, Ceph, Longhorn, NFS, FlexVolumes, Portwork etc … For my lab i landed up using the Rancher Labs local-path StorageClass which is not ideal but demonstrate my meaning here.

local-path StorageClass setup

Then i modified my StatefulSet in order to use the newly deployed StorageClass:

Use local-path SC in STS
Deploying Stateful Apps with PVC on kosmos multi-cloud cluster

Part 2 conclusions: 2 options are available here:

  • either you create one of your node pool on Scaleway CP and use it to deploy all of your stateful apps (exclusively, no MC HA here)
  • or you bring your universal storage class indepent of the local cloud-provider. check the examples of compatible storageclasses above

To be continued …

In the next article we will dig into the details of the multi-cloud network aka the kubernetes CNI ! Stay tunned for the next release …

Photo by Mark Duffel on Unsplash

--

--

webofmars

DevOps coach & specialist. ☸️ CKA | ☁️ AWS solutions architect. Containers enthusiast | 🐶 Datadog Partner. #French, #Geek, #Dad, #Curious