DEV Community

Cover image for Nice open-source UI Tool to interact with kubernetes clusters
Alain Airom
Alain Airom

Posted on

1 1 1 1

Nice open-source UI Tool to interact with kubernetes clusters

My hands-on experience with “Cyclops” to deploy applications on kubernetes clusters.

Image description
[Image courtesy Cyclops GitHub page]

Introduction

Few days ago I discovered Cyclops, a UI interface to interact with your Kubernetes clusters. It’s an open-source project and really easy to implement and use.

What is Cyclops?

Excerpt of the public repository;

Cyclops is an open-source dev tool that simplifies Kubernetes with an easy-to-use UI, making it less intimidating. Instead of creating and configuring your Kubernetes manifests with YAML, use Cyclops to painlessly configure and deploy your applications — validations included!

Thanks to the templates system, Cyclops’s UI is highly customizable when defining configurations. Our templates turn hours and days of configuring applications into a few clicks.

First step: installation

I test the tool on my local minikube cluster.

# my configuration of Minikube using Podman
minikube start --driver=podman

  minikube v1.35.0 sur Darwin 15.4
✨  Utilisation du pilote podman (expérimental) basé sur la configuration de l'utilisateur
📌  Utilisation du pilote Podman avec le privilège root
👍  Démarrage du nœud "minikube" primary control-plane dans le cluster "minikube"
🚜  Extraction de l'image de base v0.0.46...
💾  Téléchargement du préchargement de Kubernetes v1.32.0...
    > preloaded-images-k8s-v18-v1...:  333.57 MiB / 333.57 MiB  100.00% 14.43 M
    > gcr.io/k8s-minikube/kicbase...:  500.31 MiB / 500.31 MiB  100.00% 9.81 Mi
E0407 11:03:18.386448   63922 cache.go:222] Error downloading kic artifacts:  not yet implemented, see issue #8426
🔥  Création de podman container (CPU=2, Memory=3575Mo) ...
🐳  Préparation de Kubernetes v1.32.0 sur Docker 27.4.1...E0407 11:04:31.625886   63922 start.go:132] Unable to get host IP: RoutableHostIPFromInside is currently only implemented for linux

    ▪ Génération des certificats et des clés
    ▪ Démarrage du plan de contrôle ...
    ▪ Configuration des règles RBAC ...
🔗  Configuration de bridge CNI (Container Networking Interface)...
🔎  Vérification des composants Kubernetes...
    ▪ Utilisation de l'image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Modules activés: storage-provisioner, default-storageclass
🏄  Terminé ! kubectl est maintenant configuré pour utiliser "minikube" cluster et espace de noms "default" par défaut.
Enter fullscreen mode Exit fullscreen mode

Everything is up and running!

kubectl get namespaces                                                                            ✔  took 2m 32s   base   at minikube ⎈  at 11:04:58  ▓▒░
NAME              STATUS   AGE
default           Active   2m38s
kube-node-lease   Active   2m38s
kube-public       Active   2m38s
kube-system       Active   2m39s
Enter fullscreen mode Exit fullscreen mode

Install and launch of Cyclops locally;

kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.18.0/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com


 kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
Enter fullscreen mode Exit fullscreen mode

The interface is accessible at : “http://127.0.0.1:3000/”.

And the user interface showing the state of my cluster!

Image description

Second step: deploying modules

The tool comes with a certain number of modules (13 at first), out of the box and ready to be deployed on the cluster.

Image description

If you want to add more modules, it’s quite straightforward. I did the following steps for instance to add “Keycloak”.

On the “Template” screen click on “Add template reference”. Fill the screen with the values as provided (from Bitnami packages in my use-case).

Image description

After validation of your input, if there are no errors, you can use the template to deploy a module based on your template.

Image description

Click on “Modules” and hit the “Add module” button.

Image description

Search the module you want to deploy.

Image description

Validate the module settings (you can change the default values provided in different sections) and deploy it.

Image description

Once it’s done, you can go back and check your cluster’s nodes again.

Image description

Well, that’s all. Quite cool 🆒!

Conclusion

Cyclops is a nice open-source tool to manage application deployments on a kubernetes cluster. It’s handy for people not quite enthusiast about YAML files. My verdict is that it’s worth a try 😉

Links

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (2)

Collapse
 
nevodavid profile image
Nevo David

Cyclops looks amazing; it's great for managing Kubernetes clusters easily! How could tools like Cyclops further simplify and enhance cloud-native workflows, particularly for diverse deployment scenarios?

Collapse
 
aairom profile image
Alain Airom

In my opinion, using a GUI, it would help people who are not very comfortable with YAML and all... however when one tries to add new "templates" they should know where to get the information and how to do it (eg. helm charts, images registries, bitnami).
I tried it, will I ever use it? I have doubts.

Image of Stellar post

Check out Episode 1: How a Hackathon Project Became a Web3 Startup 🚀

Ever wondered what it takes to build a web3 startup from scratch? In the Stellar Dev Diaries series, we follow the journey of a team of developers building on the Stellar Network as they go from hackathon win to getting funded and launching on mainnet.

Read more

👋 Kindness is contagious

Explore a trove of insights in this engaging article, celebrated within our welcoming DEV Community. Developers from every background are invited to join and enhance our shared wisdom.

A genuine "thank you" can truly uplift someone’s day. Feel free to express your gratitude in the comments below!

On DEV, our collective exchange of knowledge lightens the road ahead and strengthens our community bonds. Found something valuable here? A small thank you to the author can make a big difference.

Okay