While I have been going through the Kubecon posts on Twitter, I had noticed some interesting post about K3s powered lightweight production ready Kubernetes cluster developed by Civo. I was in the middle of few of my works but thought to give it a go as it was an interesting topic and also they have provided $70 credit for #KUBE100 beta members.
You can still signup for this program here and try a k3s-powered kubernetes cluster within “two” minutes. Unlike other cloud platforms you don’t need to have a Credit Card in your hand for this program and it is only for the Kubernetes “Beta” program. Civo also provide IaaS to run workloads and you need to have a credit card for that. So let’s see how we can create our very first K3s-powered Kubernetes Cluster on Civo.
- KubeAcademy Pro From VMware For Kubernetes Learning
- Deploy Applications Easily With Kubeapps On Kubernetes
- How To Run VMware Project Octant As A Service For Remote Access
- How To Install Kubectl On Windows Using PowerShell
- Darkbit MKIT – Managed Kubernetes Inspection Tool
Creating account is just few clicks and straight forward, I also got couple of emails with the account details as well as the Slack channel invitation for the community. Creating a cluster was even much easier as below.
Provided a name for the cluster, specified the number of nodes and the size of the cluster. I selected the “Extra Small” cluster for the testing. It gave me a total cluster cost as $15 for month and, I assume this can be vary according to the usage.
One other important thing is, It has a market place with some necessary applications and also, allows you to add open source products in to the market place with a submission of a PR. You can find the Civo Market place on the Github page here.
Once you select your options you can create the cluster. It will give you the best estimation, believe me my cluster came up within 110s.
Once it provisioned, it will give you an endpoint and an option to download the kubeconfig file to access the cluster
You can allow your public IP address to access the cluster, I opened port 6443 to my public IP address to access the cluster remotely.
I was able to access my provisioned three node cluster from my local computer.
Civo uses traefik as the ingress controller and it routes traffic through the master nodes public IP address.
Civo also provides the default quota for the account and you can see how much capacity you have in your account and it is nothing to do with the payment or the charges. These limits can be increased up on the request but Civo will not withhold any request without a proper reason.
Also, you can set the billing alerts, check current usage and credit balance in the “Billing” page.
Also, you can scale up and down your cluster easily and it shows how much it is going to cost at the end of the month.
Running Gitlab Kubernetes Executors On The Cluster
I have deployed the Gitlab runners using a helm chart just to see how this K3s-powered cluster platform in my CI/CD pipelines. I do not much focus on the Gitlab runner configurations here as it is not the intention of this article. If you need more information about the runner deployments, follow the Gitlab article here.
Runner came online in my Gitlab project in few seconds
I tested the functionality with couple of multi-job pipelines and, honestly it came up with a good speed and completed jobs without any issues. Compared to the shared runners this was pretty fast, also I worked with similar setup with K3s and I felt this was much faster than the previous one.
Civo also provides a good CLI tool to interact with the cluster and, I will write an another article the usage of the CLI with my experience. At the meantime, I encourage you to give it a try and share your feedback for the growth.