Installation & Mise à niveau
Déployez et mettez à jour vos applications sur Kubernetes.
Installation
Installer un pack dans le cluster :
sherpack install <nom> <pack> [options]
Installation basique
# Installer depuis un répertoire
sherpack install myapp ./mypack
# Installer depuis une archive
sherpack install myapp mypack-1.0.0.tar.gz
# Avec un namespace
sherpack install myapp ./mypack -n production
Avec des valeurs
# Remplacer des valeurs
sherpack install myapp ./mypack --set app.replicas=3
# Utiliser un fichier de valeurs
sherpack install myapp ./mypack -f production.yaml
# Combiner les deux
sherpack install myapp ./mypack -f base.yaml --set image.tag=v2.0.0
Attendre la disponibilité
# Attendre que toutes les ressources soient prêtes
sherpack install myapp ./mypack --wait
# Avec un timeout
sherpack install myapp ./mypack --wait --timeout 10m
Installation atomique
Rollback automatique en cas d'échec :
sherpack install myapp ./mypack --atomic
Exécution à blanc
Prévisualiser sans appliquer :
sherpack install myapp ./mypack --dry-run
Mise à niveau
Mettre à niveau une release existante :
sherpack upgrade <nom> <pack> [options]
Mise à niveau basique
# Mettre à niveau avec une nouvelle version du pack
sherpack upgrade myapp ./mypack
# Mettre à niveau avec de nouvelles valeurs
sherpack upgrade myapp ./mypack --set app.replicas=5
Gestion des valeurs
# Réinitialiser aux valeurs par défaut du pack, puis appliquer les nouvelles valeurs
sherpack upgrade myapp ./mypack --reset-values --set image.tag=v2
# Réutiliser les valeurs précédentes, remplacer des valeurs spécifiques
sherpack upgrade myapp ./mypack --reuse-values --set image.tag=v2
# Réinitialiser puis réutiliser (réinitialiser les défauts, garder les valeurs utilisateur)
sherpack upgrade myapp ./mypack --reset-then-reuse-values
Diff avant mise à niveau
Prévisualiser les changements :
sherpack upgrade myapp ./mypack --diff
La sortie montre ce qui va changer :
--- deployed
+++ pending
@@ -10,7 +10,7 @@
spec:
- replicas: 3
+ replicas: 5
template:
Installer ou mettre à niveau
Installer si n'existe pas, sinon mettre à niveau :
sherpack upgrade myapp ./mypack --install
Référence des options
Options d'installation
| Option | Description |
|---|---|
-n, --namespace | Namespace cible |
-f, --values | Fichier de valeurs (répétable) |
--set | Définir une valeur (répétable) |
--wait | Attendre la disponibilité |
--timeout | Timeout d'attente [défaut : 5m] |
--atomic | Rollback en cas d'échec |
--dry-run | Ne pas appliquer |
--create-namespace | Créer le namespace s'il manque |
Options de mise à niveau
| Option | Description |
|---|---|
-n, --namespace | Namespace cible |
-f, --values | Fichier de valeurs (répétable) |
--set | Définir une valeur (répétable) |
--wait | Attendre la disponibilité |
--timeout | Timeout d'attente |
--atomic | Rollback en cas d'échec |
--dry-run | Ne pas appliquer |
--diff | Afficher le diff avant application |
--reuse-values | Réutiliser les valeurs précédentes |
--reset-values | Réinitialiser aux défauts |
--install | Installer si n'existe pas |
Flux d'installation
- Charger le pack et fusionner les valeurs
- Valider contre le schéma (si présent)
- Rendre les templates
- Stocker la release comme "pending-install"
- Exécuter les hooks pre-install
- Appliquer les ressources (Server-Side Apply)
- Attendre la santé (si
--wait) - Exécuter les hooks post-install
- Mettre à jour la release vers "deployed"
Flux de mise à niveau
- Obtenir la release actuelle
- Charger le pack et fusionner les valeurs
- Rendre les nouveaux templates
- Stocker la release comme "pending-upgrade"
- Exécuter les hooks pre-upgrade
- Appliquer les changements de ressources
- Attendre la santé (si
--wait) - Exécuter les hooks post-upgrade
- Marquer la précédente comme "superseded", la nouvelle comme "deployed"