In October 2020 we released the community-driven roadmap for 2021. It's time to revisit and see all the things we have completed from the list!
I am very proud to say that at Civo we have taken the community suggestions and implemented most of them during the launch on May 4th 2021.
Let's dive into each of the features listed in the original blog post and see where we are with the 2021 Civo Roadmap.
High Availability
Civo manages the control plane free for our users, ensuring resilience for management of your clusters. When you create a Kubernetes cluster, you won't see control plane node and also will not be able to schedule workload on control plane. You only pay for the nodes where your workloads run.
This will also remove one of the common issues that was reported our community faced, where suddenly their clusters became unreachable just because they inadvertently overloaded the cluster and the control plane went down.
With the current scenario the control plane node is managed by Civo and you will always get a highly available cluster.
#3 Node Cluster in London region
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3s-roadmap-6ac7481e-node-pool-5f4c Ready <none> 110s v1.20.2+k3s1
k3s-roadmap-6ac7481e-node-pool-9ffe Ready <none> 109s v1.20.2+k3s1
k3s-roadmap-6ac7481e-node-pool-4df6 Ready <none> 109s v1.20.2+k3s1
Multi-Region
We are now live in two regions NYC1 and LON1. By no means stopping here, with more regions to come this year. Now when you log in to Civo you can see that you will be able to select the region and create resources in a particular region.
Note: We will be making our current OpenStack SVG1 region end-of-life as of 11th of June. If you have any resources running on the legacy SVG1 region, please migrate to LON1 or NYC1 as appropriate.
Multiple-Version
This feature is in the development phase and will be out very soon: Users will be able to choose from multiple Kubernetes versions for their clusters. We are working to provide two versions at the moment for Kubernetes - 1.20 and 1.21, but eventually in the future (envisioned as from 1.21 onwards) we will be maintaining 3 versions as per the Kubernetes release cycle.
Managed Persistent Storage Service
We have written our custom CSI driver so you get a new storage class in your cluster that you can used for your persistent workloads directly.
kubectl get sc
civo-volume (default) csi.civo.com Delete Immediate false 11h
So when you create a PersistentVolumeClaim (PVC) it will automatically create a Persistent Volume (PV), with the storage solution based on StorageOS.
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
EOF
kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-18d2785b-961f-489d-95ea-a5392295fb35 3Gi RWO Delete Bound default/task-pv-claim civo-volume 1h
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
task-pv-claim Bound pvc-18d2785b-961f-489d-95ea-a5392295fb35 3Gi RWO civo-volume 1h
The volume also appears in the Civo web interface in your account:
k8s External DNS
External DNS synchronises exposed Kubernetes services and Ingresses with DNS providers. We have already raised a pull request for this.
Control Plane Backup
Since we have separated the control plane of your clusters, the backup for the control plane database is taken care of by Civo. However, this does not mean that the customer workloads are backed up, so we recommend you implement a solution to back up your workloads periodically.
Multiple Node Pools
This feature was one of our most requested and I am glad to announce that it is live and you can create multiple node pools and scale them separately as well. This means you can create node pools for specific work loads that can scale based on the demands based on those individual components:
So we have now a 5 node cluster with 2 node pools for different types of workloads:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3s-roadmap-6ac7481e-node-pool-9ffe Ready <none> 42h v1.20.2+k3s1
k3s-roadmap-6ac7481e-node-pool-5f4c Ready <none> 42h v1.20.2+k3s1
k3s-roadmap-6ac7481e-node-pool-4df6 Ready <none> 42h v1.20.2+k3s1
k3s-roadmap-6ac7481e-node-pool-18a4 Ready <none> 77s v1.20.2+k3s1
k3s-roadmap-6ac7481e-node-pool-0e4d Ready <none> 60s v1.20.2+k3s1
Autoscaling
A great feature that our community loves and has requested. We are currently working with a member of our community to build this autoscaling solution.
Databases as a Service (DBaaS)
DBaaS In progress and on the verge of completion. So very soon you will be getting this to play around with!
Wrapping Up
So that was a quick update on where we are with the roadmap for 2021 that we published based on the Civo user community's suggestions.
We are not stopping here and the next 6 months will be more awesome as we have a lot of things for you all in the store which we will keep on revealing every month.
If there is a feature you would love to see on Civo, head to your account's suggestions page and see if it's already been requested or post one of your own!