Orchestration

KubeSolo

Distribution Kubernetes single-node ultra-légère de Portainer. Binaire unique, démarrage instantané, conçue pour edge computing, IoT et labs avec ressources contraintes.

KubeSolo est une distribution Kubernetes single-node ultra-légère développée par Portainer, lancée en 2024. Packagée en un seul binaire statique, elle cible les environnements contraints en ressources : edge computing, IoT, labs et postes de développement. Elle est conçue pour s'intégrer nativement avec Portainer comme interface de gestion.

Idéale pour : développement local minimaliste, edge computing, IoT, démo rapide de workloads Kubernetes sans infrastructure complexe.

Projet jeune : KubeSolo est en développement actif depuis 2024. Certaines fonctionnalités avancées peuvent être manquantes ou en cours d'implémentation. Vérifier le GitHub pour l'état courant.


Informations essentielles

Origine : Portainer.io (Nouvelle-Zélande)  ·  Licence : zlib  ·  Architectures : x86_64, ARM64

Liens : GitHub  ·  Releases  ·  Portainer

Support : Projet communautaire en développement actif - pas de LTS défini. Consulter les releases GitHub pour les versions supportées.

Stack par défaut

ComposantValeur
Runtimecontainerd (inclus)
CNIFlannel
Ingress controllerAucun (à installer séparément)
StockageAucun (à installer séparément)
DNSCoreDNS
ModeSingle-node uniquement

Prérequis

  • Linux 64-bit (kernel ≥ 4.x) ou ARM64
  • 512 MB RAM minimum (1 GB recommandé)
  • 2 GB d'espace disque
  • Droits root

Installation

# Télécharger le binaire
curl -LO https://github.com/portainer/kubesolo/releases/latest/download/kubesolo-linux-amd64
chmod +x kubesolo-linux-amd64
sudo mv kubesolo-linux-amd64 /usr/local/bin/kubesolo

# Démarrer le cluster
sudo kubesolo server

Démarrer comme service systemd

sudo tee /etc/systemd/system/kubesolo.service <<EOF
[Unit]
Description=KubeSolo Kubernetes
After=network.target

[Service]
ExecStart=/usr/local/bin/kubesolo server
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now kubesolo

Configurer kubectl

mkdir -p ~/.kube
sudo cp /var/lib/kubesolo/kubeconfig ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config

kubectl get nodes

Déployer un workload

# nginx-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
  - port: 80
    nodePort: 30080
kubectl apply -f nginx-deploy.yaml
kubectl get pods
curl http://localhost:30080

Intégration Portainer

KubeSolo est conçu pour être géré via Portainer. Une fois le cluster démarré :

# Déployer Portainer dans KubeSolo
kubectl apply -n portainer -f https://downloads.portainer.io/ee2-19/portainer-k8s-lb.yaml

# Accéder à l'interface
kubectl get svc -n portainer

Mise à jour

# Arrêter le service
sudo systemctl stop kubesolo

# Télécharger le nouveau binaire
curl -LO https://github.com/portainer/kubesolo/releases/latest/download/kubesolo-linux-amd64
chmod +x kubesolo-linux-amd64
sudo mv kubesolo-linux-amd64 /usr/local/bin/kubesolo

# Redémarrer
sudo systemctl start kubesolo

Troubleshooting

Cluster non démarré

sudo systemctl status kubesolo
sudo journalctl -u kubesolo -f

Pod bloqué en Pending

kubectl describe pod <nom>
kubectl get events --sort-by='.lastTimestamp'
# Vérifier les ressources disponibles
kubectl top nodes

Reset complet

sudo systemctl stop kubesolo
sudo rm -rf /var/lib/kubesolo
sudo systemctl start kubesolo

Commandes utiles

# État du cluster
kubectl get nodes
kubectl get pods -A

# Logs du service
sudo journalctl -u kubesolo -f

# Version
kubesolo --version

# Arrêter / démarrer
sudo systemctl stop kubesolo
sudo systemctl start kubesolo

Ressources

Newsletter · 2 000+ abonnés

Reste au courant de ce qui bouge en prod

RudeOps veille devops hebdo, droit au but.

Gratuit · Sans spam · Désinscription en un clic