My hands-on experience with “Cyclops” to deploy applications on kubernetes clusters.
[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.
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
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
The interface is accessible at : “http://127.0.0.1:3000/”.
And the user interface showing the state of my cluster!
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.
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).
After validation of your input, if there are no errors, you can use the template to deploy a module based on your template.
Click on “Modules” and hit the “Add module” button.
Search the module you want to deploy.
Validate the module settings (you can change the default values provided in different sections) and deploy it.
Once it’s done, you can go back and check your cluster’s nodes again.
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
- Cyclops: https://github.com/cyclops-ui/cyclops
- Cyclops documentation: https://cyclops-ui.com/docs/about/
- Bitnami charts: https://github.com/bitnami/charts
Top comments (2)
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?
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.