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.

Kubefirst on Civo Marketplace

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:

  1. Civo Marketplace UI
  2. 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.

Civo Marketplace UI Kubernetes Cluster

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."

Install Kubefirst on Civo Marketplace

Step 3: Upon successful initiation, you should see a confirmation message or progress indicator. Ensure that the installation is completed without any errors.

Note: In case of any issues during installation, check our Kubernetes docs or reach out to Civo support.

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.

Kubefirst on Civo

After following through the commands, your Kubefirst console will be available at http://localhost:8080/

Accessing the Kubefirst Dashboard

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:

Kubefirst UI GIT provider

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.

Kubefirst Authentication

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.

Kubefirst Cluster Details

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.

Kubefirst Provisioining

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.

Kubefirst cluster management is up and running

When you click on the “Open Kubefirst console” button, you’ll see all the tools on your Civo Kubernetes cluster.

Available tools on your Kubernetes cluster through Kubefirst

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:

Creating your Kubefirst management cluster

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: