Kubefirst is an open source instant GitOps platform. The goal of the Kubefirst platform is to streamline the development process and make Kubernetes management simpler. The Kubefirst platform provides a user-friendly interface for managing, monitoring, and deploying Kubernetes cluster applications.
In a recent livestream hosted by Kubefirst, Kai Hoffman (Developer Advocate at Civo) spoke with John Dietz (Founder at Kubefirst) and Frédéric Harper (Developer Advocate at Kubefirst) about how you can install your favorite Kubernetes applications, including your preferred instant open source GitOps platform, in seconds straight from the Civo dashboard or CLI. Watch the recording here:
Throughout this tutorial, we are going to explore how Kubefirst integrates smoothly with the Civo Marketplace, offering a powerful solution for simplified Kubernetes management. This will allow us to look at how this integration enhances development speed, performance, cost-efficiency, and provides access to a broad tool ecosystem, making Kubernetes administration enjoyable and effective.
Prerequisites
Before we begin, there are some prerequisites you’ll need to have in place:
Installing Kubefirst
There are 2 options to install Kubefirst on your Civo Kubernetes cluster:
- Civo Marketplace UI
- Civo CLI
Civo Marketplace UI
To install Kubefirst on Civo Marketplace, follow these steps:
Step 1: After you have launched your Kubernetes cluster, go to the "Kubernetes" section in your Civo dashboard and choose the specific Kubernetes cluster where you wish to deploy Kubefirst.
Step 2: In your chosen cluster's dashboard, locate the "Marketplace" section. Kubefirst is listed among the applications in the “Featured” category within the Marketplace. Find and select the "Kubefirst" option. To start the installation process, click on "Install Apps."
Step 3: Upon successful initiation, you should see a confirmation message or progress indicator. Ensure that the installation is completed without any errors.
Civo CLI
To install Kubefirst through the Civo CLI, use the following command:
civo kubernetes applications add kubefirst --cluster <CLUSTER-NAME>
Use the actual name of your Kubernetes cluster in place of CLUSTER-NAME
. If there is no error during installation, the Kubefirst application will be successfully installed into the Kubernetes cluster, and you'll get this result:
The application was installed in the Kubernetes cluster <CLUSTER-NAME>
Accessing the Kubefirst Dashboard
After successfully installing the Kubefirst application on your Kubernetes cluster, proceed to connect to the install cluster and the Kubefirst installer service. To do this, download and run your new cluster's kubeconfig. Use the following command:
civo kubernetes config <CLUSTER-NAME> > ./kubefirst-kubeconfig
export KUBECONFIG=./kubefirst-kubeconfig
To ensure that Kubefirst is installed and active in your Kubernetes cluster, use the following command:
kubectl get ns
You’ll get a similar result to this:
NAME STATUS AGE
default Active 104m
kube-system Active 104m
kube-public Active 104m
kube-node-lease Active 104m
kubefirst Active 98m
Now, proceed to connect to the Kubefirst console:
kubectl --namespace kubefirst port-forward svc/kubefirst-console 8080:8080
You can also see the “Usage instructions” on your Kubefirst application on the Civo UI to connect to the Kubefirst console.
After following through the commands, your Kubefirst console will be available at http://localhost:8080/
Installing the Kubefirst management cluster
A variety of apps that are added to your Kubernetes cluster are housed in the Kubefirst management cluster. Argo CD, Argo Workflows, Metaphor, Vault, and Atlantis enable instant GitOps processes within your cluster.
There are two methods available for deploying the Kubefirst management cluster – the Kubefirst UI and the Command Line Interface (CLI). By using the Kubefirst UI technique, you can configure cluster parameters, choose your favorite Git provider, and access the tools via an intuitive interface. As an alternative, to deploy the cluster via the CLI technique, you must first set the necessary tokens and execute some particular commands. Additionally, you will be able to access the necessary credentials for cluster administration in your CLI.
Kubefirst UI
To create your Kubefirst management cluster in the Kubefirst console, first select your most preferred GIT provider. In this tutorial, I'll be using GitHub.
Select GitHub:
Input your GitHub personal access token > Crosscheck your username associated with your GitHub token > Input your GitHub organization name > Input your Civo API key. Then, click the "Next" button.
On the "Cluster details" page, input your Alerts email > Input your Cloud region > Input your DNS provider > Input your Cluster domain name > Input your cluster name. Then, click the "Create Cluster" button.
Once your cluster has been provisioned successfully, you’ll see an indication showing “Completed” with a progress indicator of 100% on the “Provisioning” page. You can also see a “CONCISE” and “VERBOSE” tab for your deployment history. If you encounter any errors, you’ll be able to view them in the “VERBOSE” section.
After you’re done with the provisioning page, click the “Next” button.
On the “Ready” page, copy your k-bot user password. The k-bot user on Kubefirst runs all of the automation on the platform. After copying your k-bot password, Click on the “Open kubefirst console” button.
When you click on the “Open Kubefirst console” button, you’ll see all the tools on your Civo Kubernetes cluster.
Kubefirst UI
To create your Kubefirst management cluster in your CLI, you’ll need your GitHub and Civo tokens in addition to the appropriate values for your new platform. Use the following commands:
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxx
export CIVO_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kubefirst civo create \
--alerts-email yourdistro@your-company.io \
--github-org your-github-org \
--domain-name your-domain.io \
--cluster-name kubefirst
If your deployment has no errors, your browser will launch a new tab to the Kubefirst console, and you’ll be able to navigate your new suite of tools running in your cluster.
To obtain your k-bot user password, Argo CD admin password, and Vault root token, use the following command:
kubefirst civo root-credentials
You’ll get something similar to this:
The installer cluster may be removed straight from the Civo UI when your Kubefirst management cluster installation has been completed. It serves just to set up the framework.
What are the benefits of using Kubefirst?
Let’s explore the benefits of the Civo Marketplace + Kubefirst:
Terminology | Description |
---|---|
Effortless Deployment | Kubefirst enables simple deployment in any environment, ensuring quick setup and operation of your Kubernetes landscape. Its ease of integration stands out, even when used in platforms like Civo Marketplace. |
Optimized Performance | Kubefirst is designed for top performance. Its architecture ensures seamless functionality, resulting in improved efficiency, whether integrated in platforms like Civo or standalone. |
Cost-Efficiency | Kubefirst prioritizes effective resource utilization, reducing the overall costs associated with Kubernetes cluster management. Platforms like Civo further enhance its cost-effectiveness. |
Scalability | Kubefirst offers unparalleled scalability. Users can effortlessly scale their Kubernetes applications and infrastructure based on demand, ensuring agility in operations. |
Reliable Support | Kubefirst provides dedicated support services, assisting users throughout deployment and ongoing operations. When combined with platforms like Civo, users receive an additional layer of support. |
Accelerated Development Lifecycle | Kubefirst simplifies the deployment process, accelerating the application development lifecycle. This enables teams to focus more on development, optimizing their apps, and shortening time-to-market. |
Seamless Integration with Third-Party Tools | Kubefirst facilitates seamless interactions with a plethora of third-party tools, enhancing the overall ecosystem and providing a comprehensive toolkit for Kubernetes management and app deployment. |
Summary
We covered the seamless integration of Kubefirst with the Civo Marketplace in this tutorial, which is a potent combination that makes Kubernetes management easier. Kubefirst provides an easy-to-use and efficient way to deploy and orchestrate apps within Kubernetes clusters with its user-friendly interface, GitOps capabilities, and Civo Marketplace's expedited setup procedure. Kubernetes administration may be a fun and successful project by utilizing the integration's potential, which enables faster development, improved performance, cost-efficiency, and a comprehensive ecosystem of tools.
Additional resources
If you want to know more about GitOps and the Kubefirst application, take a look at these resources: