119 lines
4.8 KiB
Markdown
119 lines
4.8 KiB
Markdown
---
|
|
title: Kubero
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, deployment, kubernetes, paas, devops]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/kubero-dev/kubero]
|
|
---
|
|
|
|
# 🚀 Kubero
|
|
|
|
> **PaaS Kubernetes léger** — déployez vos applications en quelques clics, sans devenir expert K8s. L'alternative Heroku/Heroku-like sur votre cluster.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [kubero.dev](https://www.kubero.dev/) |
|
|
| **GitHub** | [kubero-dev/kubero](https://github.com/kubero-dev/kubero) |
|
|
| **License** | Apache-2.0 |
|
|
| **Langage** | TypeScript (Node.js) + Go (opérateur) |
|
|
| **Étoiles GitHub** | 4,3k ⭐ |
|
|
| **Catégorie** | [[cat-deployment\|Deployment]] |
|
|
| **Stack cible** | Kubernetes (auto-hébergé, K3s, EKS, GKE…) |
|
|
|
|
## 📝 Description
|
|
|
|
**Kubero** est une **plateforme PaaS open source** qui s'installe au-dessus d'un cluster Kubernetes existant pour offrir une expérience proche d'Heroku ou de Fly.io. L'objectif affiché est de masquer la complexité de K8s au développeur : on pousse son code (via Git ou via une image de conteneur) et Kubero s'occupe de créer le Deployment, le Service, l'Ingress, le certificat TLS et la base de données associée.
|
|
|
|
Kubero se compose de **deux éléments** : une UI web (Node.js/TypeScript) qui sert de tableau de bord, et un **opérateur Kubernetes** (Go) qui gère le cycle de vie des ressources dans le cluster. L'authentification s'appuie sur GitHub ou GitLab OAuth, et chaque "app" Kubero correspond à un namespace Kubernetes dédié avec isolation réseau.
|
|
|
|
**Fonctionnalités principales** :
|
|
|
|
- ✅ **Buildpacks et Docker** : déploiement depuis Git (Heroku-style) ou image OCI pré-construite
|
|
- ✅ **Add-ons managés** : PostgreSQL, MySQL, Redis, MongoDB (provisionnés automatiquement)
|
|
- ✅ **TLS automatique** via cert-manager + Let's Encrypt
|
|
- ✅ **Multi-utilisateurs** : chaque développeur a son namespace
|
|
- ✅ **Logs et exec** directement dans l'UI
|
|
- ✅ **Sleep mode** : mise en veille automatique des apps peu utilisées (économie de ressources)
|
|
|
|
**Positionnement** : plus simple qu'ArgoCD, plus complet que Canine. Idéal pour une équipe de 2-10 devs qui veut self-hoster sans monter un cluster Rancher. Pour un usage solo, [[app-coolify]] ou Dokku restent plus simples (K8s pas requis).
|
|
|
|
## 🚀 Installation
|
|
|
|
### Prérequis
|
|
- Un cluster Kubernetes fonctionnel (K3s, microK8s, k3d, ou cluster managé)
|
|
- `kubectl` configuré localement
|
|
- Helm 3
|
|
|
|
### Via Helm (recommandé)
|
|
|
|
```bash
|
|
# Ajouter le repo Helm
|
|
helm repo add kubero https://kubero-dev.github.io/kubero
|
|
helm repo update
|
|
|
|
# Installer l'opérateur
|
|
helm install kubero-operator kubero/kubero-operator \
|
|
--namespace kubero --create-namespace
|
|
|
|
# Installer l'UI
|
|
helm install kubero kubero/kubero \
|
|
--namespace kubero
|
|
```
|
|
|
|
### Installation manuelle (sans Helm)
|
|
|
|
```yaml
|
|
# kubero-namespace.yaml
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: kubero
|
|
---
|
|
# voir https://github.com/kubero-dev/kubero/tree/main/deploy
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **OAuth Provider** : configurer GitHub/GitLab OAuth App et renseigner `KUBERO_OAUTH_GITHUB_ID` / `KUBERO_OAUTH_GITHUB_SECRET`
|
|
- **Domaines personnalisés** : déclarer le wildcard (`*.apps.example.com`) dans les paramètres du cluster et pointer un CNAME DNS vers l'Ingress
|
|
- **Resource limits** : fixer les `requests`/`limits` par app pour éviter qu'un pod ne sature le cluster
|
|
- **Backups** : les add-ons DB intègrent un cron de dump vers S3/SFTP
|
|
- **Sleep schedule** : activer le mode "sleep on inactivity" sur les apps de staging
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **[[app-canine]]** — autre PaaS K8s minimaliste, plus jeune et plus simple mais moins complet
|
|
- **[[app-coolify]]** — PaaS Docker (pas K8s), plus accessible, alternatif direct Heroku
|
|
- **ArgoCD** — GitOps pur K8s, courbe d'apprentissage beaucoup plus raide
|
|
- **Rancher** — management de cluster complet, vise l'entreprise
|
|
- **Dokku** — PaaS sur un seul serveur (Docker only, pas K8s)
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- ⚠️ **Ne pas exposer Kubero en HTTP** : forcer HTTPS via l'Ingress et un cert valide
|
|
- **RBAC Kubernetes** : limiter les permissions du ServiceAccount de l'opérateur au strict nécessaire
|
|
- **Isolation des namespaces** : vérifier que les NetworkPolicies empêchent un app Kubero d'en snooper une autre
|
|
- **Secrets des add-ons DB** : stockés en Secrets K8s, mais activer le chiffrement at-rest de `etcd` pour aller plus loin
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel](https://www.kubero.dev/)
|
|
- [Dépôt GitHub](https://github.com/kubero-dev/kubero)
|
|
- [Documentation](https://www.kubero.dev/docs)
|
|
- [Démo en ligne](https://demo.kubero.dev/)
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-deployment]]
|
|
- [[app-portainer]]
|
|
- [[app-canine]]
|
|
- [[app-coolify]]
|
|
- [[cat-docker]]
|
|
- [[securisation-home-lab]]
|
|
- [[recettes-docker-compose]]
|