Contexte et présentation de Kasten K10
Kasten K10, développé par Veeam, est une solution de sauvegarde et de restauration conçue spécifiquement pour les environnements Kubernetes. Elle offre des fonctionnalités avancées pour la protection des charges de travail cloud-native, y compris la sauvegarde incrémentale, la planification de tâches, la gestion de la conformité, et la mobilité des applications entre clusters. Grâce à son architecture cloud-native, Kasten s’intègre de manière transparente avec les principaux fournisseurs de stockage, les systèmes de snapshot CSI, les outils de sécurité et les plateformes cloud tels qu’AWS, Azure et GCP.
Ce guide technique couvre le déploiement standard de Kasten K10 via Helm dans un cluster Kubernetes existant, en mettant l’accent sur la reproductibilité, la sécurité et la fiabilité de la procédure. La documentation officielle (source : docs.kasten.io) constitue la référence principale utilisée pour détailler les étapes ci-dessous.
Objectifs du guide
Ce guide a pour objectif de permettre le déploiement complet et sécurisé de Kasten K10 sur un cluster Kubernetes, afin d’assurer la sauvegarde et la restauration des applications et persitent volumes en environnement cloud-native.
Prérequis
- Un cluster Kubernetes compatible (1.18 ou supérieur, certifié CNCF)
- kubectl installé et configuré pour accéder au cluster
- Helm 3 installé localement
- Rôles d’administration sur le cluster (ClusterRoleBinding requis)
- Accès à Internet pour télécharger les images et les graphes Helm
- Dispositif de stockage compatible CSI pour la gestion des snapshots (ex : EBS sur AWS, Azure Disk, etc.)
Étapes
1. Préparer le namespace et ajouter le dépôt Helm Kasten
Définir un namespace dédié au déploiement de Kasten et ajouter le dépôt officiel Helm de l’éditeur.
kubectl create namespace kasten-io
helm repo add kasten https://charts.kasten.io/
helm repo update
💡 Il est recommandé d’isoler Kasten dans un namespace pour faciliter sa gestion, son upgrade et sa suppression ultérieure.
2. Vérifier les composants de stockage CSI
Kasten K10 s’appuie sur les interfaces CSI (Container Storage Interface) pour gérer les sauvegardes basées sur snapshots. Il est indispensable que votre cluster intègre un pilote CSI fonctionnel.
kubectl get csidrivers
kubectl get storageclass
⚠️ Si aucun CSI n’est déployé, il est nécessaire de configurer un backend comme AWS EBS CSI driver ou Azure Disk CSI driver avant de poursuivre.
3. Installer Kasten K10 à l’aide de Helm
Lancer l’installation de Kasten à l’aide de Helm dans le namespace précédemment créé. L’installation par défaut active l’interface Web, la planification de sauvegardes, et la prise en charge des volumes persistants.
helm install k10 kasten/k10 --namespace kasten-io
💡 Vous pouvez personnaliser l’installation avec des options telles que la désactivation de la télémétrie ou la spécification d’un provider cloud. Référez-vous à la documentation officielle.
4. Vérifier les pods et l’interface utilisateur
Une fois l’installation terminée, vérifier que tous les pods sont en état `Running`.
kubectl get pods -n kasten-io
Pour accéder à l’interface Web (Dashboard), exécutez une redirection de port :
kubectl --namespace kasten-io port-forward service/gateway 8080:8000
Ouvrez ensuite le navigateur sur http://127.0.0.1:8080/k10/#/
5. Configurer les policies initiales
Définir une première policy de sauvegarde permet d’assurer la mise en œuvre automatique de la protection des workloads.
Accédez à l’interface graphique (Dashboard), puis :
- Allez dans “Policies”
- Créez une nouvelle policy avec vos critères : type de sauvegarde, fréquence, rétention, etc.
💡 Vous pouvez aussi passer par YAML pour versionner vos policies dans un dépôt GitOps.
6. Tester une sauvegarde d’application
Déployez une application de test avec un volume persistant, puis appliquez une policy Kasten pour valider son bon fonctionnement.
Par exemple, vous pouvez utiliser une application comme nginx + PVC
, puis lancer manuellement une sauvegarde via l’interface.
Vérification
Assurez-vous que :
- Tous les pods Kasten sont en statut
Running
dans le namespacekasten-io
- Vous pouvez accéder au Dashboard via le port-forwarding
- Une policy de sauvegarde a bien été appliquée à une application cible
- Des snapshots ont bien été générés (vérifiables via Kasten UI ou :
kubectl get volumesnapshot -A
⚠️ En cas d’échec, vérifier la configuration du CSI driver, des StorageClass et les permissions RBAC de Kasten.
Nettoyage / rollback
Pour supprimer complètement Kasten K10 :
helm uninstall k10 --namespace kasten-io
kubectl delete namespace kasten-io
⚠️ Cette action supprime toutes les données de configuration. Les snapshots créés sur le backend CSI peuvent subsister selon la politique de rétention définie.
Conclusion
Avec ce guide, vous avez pu mettre en œuvre le déploiement de Kasten K10 sur un cluster Kubernetes, en validant son bon fonctionnement via une sauvegarde test. Cette mise en place permet désormais de protéger les volumes et applications de production en environnement containerisé selon les bonnes pratiques cloud-native.
Prochaine étape : intégrer Kasten dans une stratégie GitOps ou DevSecOps, et automatiser la gestion des policies via des outils comme ArgoCD ou FluxCD.
No comment yet, add your voice below!