---
title: Kubetail
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, logs, kubernetes, k8s, dashboard, real-time, multi-pod, typescript, kubectl]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Logs, https://github.com/kubetail-org/kubetail]
---

# 📋 Kubetail

> **Le `kubectl logs` revisité** : dashboard web et TUI pour suivre les logs de plusieurs pods Kubernetes en temps réel, avec sélection de containers, namespaces et tail multi-stream. Le k9s des logs.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [kubetail.com](https://www.kubetail.com/) |
| **GitHub** | [kubetail-org/kubetail](https://github.com/kubetail-org/kubetail) |
| **License** | Apache-2.0 |
| **Langage** | TypeScript (Node.js) + Go (backend) |
| **Étoiles GitHub** | 1.7k ⭐ |
| **Dernière MAJ** | 2026-06-04 |
| **Catégorie** | [[cat-logs|Logs]] |

## 📝 Description

**Kubetail** est un **dashboard de logs Kubernetes** qui résout le plus gros point de friction de `kubectl` : **suivre les logs de plusieurs pods simultanément**. Fini le jonglage entre 5 terminaux avec `kubectl logs -f pod-1`, `kubectl logs -f pod-2`, etc. Kubetail unifie tout dans une seule UI web (ou TUI) avec sélection des containers, namespaces, et filtrage.

L'outil propose deux interfaces : une **UI web** moderne (basée sur le kubeconfig local ou un service account K8s) et un **TUI** terminal (style k9s). Les deux supportent le **tail multi-pod**, la **colorisation par container**, la **recherche full-text**, et la **sélection dynamique** des ressources à suivre. C'est un outil indispensable pour le debug en cluster.

Kubetail peut être utilisé en **mode local** (CLI qui lit votre kubeconfig) ou **mode serveur** (déployé dans le cluster avec un service account, accessible à toute l'équipe). Le mode serveur permet de **partager** une session de debug avec des collègues ou de surveiller depuis un navigateur distant.

**Public cible** : développeurs backend qui débuggent des microservices K8s, SRE qui font du troubleshooting en cluster, équipes DevOps qui veulent partager des sessions de logs, toute personne qui trouve `kubectl logs` limité.

- ✅ **Dashboard web** : UI moderne accessible depuis le navigateur
- ✅ **TUI terminal** : pour les SSH dans des jump hosts
- ✅ **Multi-pod** : tail simultané de N pods/containers
- ✅ **Multi-namespace** : switch rapide entre namespaces
- ✅ **Recherche full-text** : grep-like sur les logs en temps réel
- ✅ **Colorisation** : logs colorés par container/pod
- ✅ **Mode CLI local** : utilise votre `~/.kube/config`
- ✅ **Mode serveur** : déployé dans le cluster pour l'équipe
- ✅ **Kubernetes RBAC** : respect des permissions K8s natives
- ✅ **Source d'events K8s** : integration avec les Events API
- ✅ **Apache-2.0** : usage libre, même commercial
- ⚠️ **Pas de rétention** : viewer, pas aggregator (utiliser Loki en complément)

## 🚀 Installation

### Option 1 : Kubetail CLI (mode local)

```bash
# macOS / Linux
curl -L https://raw.githubusercontent.com/kubetail-org/kubetail/main/install.sh | sh

# Homebrew
brew install kubetail

# Vérifier l'install
kubetail --version
```

### Option 2 : Docker (mode serveur)

```yaml
# docker-compose.yml (déploiement dans le cluster recommandé)
# Ou en standalone pour test :
version: '3.8'
services:
  kubetail:
    image: kubetail-org/kubetail:latest
    container_name: kubetail
    restart: unless-stopped
    ports:
      - "7500:7500"   # Backend API
      - "8080:8080"   # Web UI
    volumes:
      - ./kubeconfig:/root/.kube/config:ro
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.kubetail.rule=Host(`kubetail.example.com`)"
      - "traefik.http.routers.kubetail.entrypoints=websecure"
      - "traefik.http.routers.kubetail.tls.certresolver=letsencrypt"
```

### Option 3 : Helm (Kubernetes)

```bash
helm repo add kubetail https://kubetail-org.github.io/helm-charts
helm install kubetail kubetail/kubetail \
  --namespace logging --create-namespace
```

### Option 4 : kubectl plugin

```bash
kubectl krew install tail
kubectl tail deployment/my-app
```

## ⚙️ Configuration Initiale

1. **Vérifier kubectl** : `kubectl get nodes` doit fonctionner
2. **Lancer le mode local** : `kubetail` → ouvre le TUI
3. **Sélectionner une ressource** : TUI > taper le nom du deployment/statefulset
4. **Lancer le mode web** : `kubetail web --port 8080`
5. **Accéder à l'UI** : `http://IP:8080`
6. **Sélectionner namespace/pods** : UI > dropdowns
7. **Tail multi-pod** : cocher plusieurs pods dans l'UI
8. **Rechercher** : barre de recherche (regex supporté)
9. **Mode serveur cluster** : déployer via Helm, créer un ServiceAccount dédié

## 🔄 Alternatives

### Open Source
- **k9s** — Dashboard K8s généraliste (inclut logs)
- **Lens** — IDE K8s avec logs intégrés
- **Rancher** — Plateforme K8s (logs)
- [[app-loki]] + [[app-grafana]] — Pour archivage long terme
- **stern** — Multi-pod log tailer en CLI (Go)
- **kubectl-tail** — Plugin kubectl de base

### Comparaison Kubetail vs autres

| Critère | Kubetail | k9s | stern | Loki/Grafana |
| :--- | :--- | :--- | :--- | :--- |
| **Focus** | Logs | K8s général | Logs CLI | Logs + métriques |
| **UI** | Web + TUI | TUI | CLI | Web |
| **Multi-pod** | ✅ UI | ✅ UI | ✅ | ✅ |
| **Mode partageable** | ✅ (serveur) | ❌ | ❌ | ✅ |
| **Recherche full-text** | ✅ | ❌ | ✅ | ✅ Excellente |
| **Rétention** | ❌ | ❌ | ❌ | ✅ Configurable |
| **Setup** | 2 min | 5 min | 30s | 30 min |
| **Ressources cluster** | Aucune | Aucune | Aucune | Lourdes |
| **License** | Apache-2.0 | Apache-2.0 | Apache-2.0 | AGPL-3.0 |

**Verdict** : Kubetail est **le meilleur viewer de logs K8s** pour le debug en temps réel. Pour l'archivage long terme, [[app-loki]] + Grafana est incontournable. En complément de k9s, c'est le duo parfait.

### Propriétaires (ce que Kubetail remplace)
- **Datadog Log Monitoring** (cher, K8s integration payante)
- **New Relic Logs** (K8s)
- **Splunk Observability Cloud** (K8s)
- **Sumo Logic** (K8s log monitoring)
- **Dynatrace** (K8s log management)

## 🔐 Sécurité

- ⚠️ **Logs = données sensibles** : logs K8s contiennent souvent des secrets, tokens
- ✅ **Chiffrement in-transit** : TLS obligatoire (Traefik en reverse proxy)
- ✅ **K8s RBAC natif** : Kubetail respecte les permissions Kubernetes
- ✅ **Service Account dédié** : créer un SA avec permissions minimales
- ✅ **Read-only** : Kubetail ne fait que lire, jamais d'écriture sur le cluster
- ⚠️ **Rétention** : aucune, c'est un viewer (ne pas y aller pour la conformité)
- ✅ **Pas de stockage** : aucune base de données à compromettre
- ✅ **Audit K8s** : les accès logs sont tracés par K8s audit log
- ✅ **Pas de backup nécessaire** : stateless
- ⚠️ **Secret leak** : attention aux secrets en clair dans les env vars des pods

## 📚 Ressources

- [GitHub kubetail-org/kubetail](https://github.com/kubetail-org/kubetail)
- [Documentation officielle](https://www.kubetail.com/docs)
- [Démo en ligne](https://demo.kubetail.com/)
- [Blog technique](https://www.kubetail.com/blog)

## Pages Liées

- [[cat-logs]] — Catégorie Logs
- [[app-loki]] — Archivage long terme K8s
- [[app-grafana]] — Visualisation (couplage Loki)
- [[app-prometheus]] — Métriques K8s
- [[app-uptime-kuma]] — Monitoring uptime
- [[securisation-home-lab]] — Bonnes pratiques sécurité
