Installez et utilisez Fleet CLI
Le CLI SUSE® Rancher Prime Continuous Delivery est une interface de ligne de commande (CLI) qui vous permet d’interagir directement avec SUSE® Rancher Prime Continuous Delivery depuis votre machine locale. Il vous permet de créer, appliquer et inspecter bundles sans nécessiter un GitRepo. Les cas d’utilisation typiques incluent :
-
Tester et prévisualiser le contenu des bundles.
-
Créer des bundles directement à partir de charts Helm, de manifests Kubernetes et de fichiers
fleet.yaml. -
Vérifier quels clusters un bundle ciblerait.
-
Valider les déploiements sans installer SUSE® Rancher Prime Continuous Delivery dans le cluster.
|
Vous pouvez utiliser Pour plus d’informations, voir Installer Fleet. |
Installer Fleet CLI
Fleet CLI est un binaire autonome que vous pouvez télécharger depuis la page des versions GitHub de Fleet.
Linux/macOS
curl -L -o fleet https://github.com/rancher/fleet/releases/latest/download/fleet-linux-amd64
# Make it executable and move to PATH
chmod +x fleet
sudo mv fleet /usr/local/bin/
Conditions préalables
Assurez-vous d’avoir les outils suivants installés et configurés :
-
Un cluster Kubernetes fonctionnel (par exemple, k3s, kind ou un fournisseur de cloud).
-
kubectlest configuré pour votre cluster. -
Helm est installé.
-
Fleet CLI est installé et accessible dans votre terminal.
Commandes clés
SUSE® Rancher Prime Continuous Delivery fournit plusieurs commandes CLI pour créer, prévisualiser et déployer des bundles. Ces commandes sont utiles pour le débogage et pour comprendre le cycle de vie du bundle.
-
fleet apply: Crée ou prévisualise un bundle à partir de fichiers locaux, tels qu’un chart Helm, des manifestes Kubernetes ou des dossiers Kustomize. Cette commande ne nécessite pas d’accès à un cluster, elle fonctionne donc même sans SUSE® Rancher Prime Continuous Delivery oukubectlinstallés.Exemple :
fleet apply my-bundle ./manifests
-
fleet target: Lit un fichier de bundle et évalue quels clusters le recevraient, en fonction des sélecteurs et des règles de ciblage telles quetargets,targetOverrides,clusterGroupset les sélecteurs d’étiquettes.Exemple :
fleet target my-bundle ./manifests
-
fleet deploy: Prend la sortie defleet target, ou une ressourcebundledeployment/content exportée, et la déploie sur un cluster, tout comme le feraitfleet-agent.Vous pouvez l’utiliser dans ces scénarios :
fleet apply -o - name ./folderpour vérifier le YAML du bundle avant de le créer. Pour plus d’informations, voir Examiner le cycle de vie du bundle avec la CLI. Utilisez avec une cible pour déboguer les sélecteurs et vérifier quels clusters en aval sont ciblés. **fleet deploy --dry-runpour imprimer les ressources qui seraient déployées, sans les appliquer.
Déployer un bundle d’exemple en utilisant Fleet CLI
Vous pouvez déployer des charges de travail sans utiliser de GitRepos en les appliquant localement avec la CLI. Par exemple, utilisez le dépôt d’exemples Fleet :
git clone https://github.com/rancher/fleet-examples
cd fleet-examples/single-cluster
Appliquez-le au cluster actuel :
fleet apply -o my-cool-bundle manifests
Cette commande crée une ressource Bundle dans l’espace de noms.
Convertir un Helm Chart en un Bundle
Vous pouvez utiliser Fleet CLI pour convertir un chart Helm en un bundle. Par exemple, pour convertir le chart Helm de l’opérateur external-secrets :
cat > targets.yaml <<EOF
targets:
- clusterSelector: {}
EOF
mkdir app
cat > app/fleet.yaml <<EOF
defaultNamespace: external-secrets
helm:
repo: https://charts.external-secrets.io
chart: external-secrets
EOF
fleet apply --compress --targets-file=targets.yaml -n fleet-default -o - external-secrets app > eso-bundle.yaml
kubectl apply -f eso-bundle.yaml
Assurez-vous d’utiliser un sélecteur de cluster dans targets.yaml qui correspond à tous les clusters sur lesquels vous souhaitez déployer.
Pour plus d’informations, consultez Fleet : Déploiement Multi-Cluster avec l’aide des Secrets Externes.
Dépannage
Si le bundle n’est pas prêt :
-
Vérifiez si les pods
fleet-controlleretfleet-agentsont en cours d’exécution. -
Assurez-vous que le cluster
fleet-localest enregistré. -
Inspectez le bundle pour des messages d’erreur :
kubectl describe bundle -n fleet-local <bundle-name> -
Supprimez et réappliquez le bundle si vous rencontrez des conflits de propriété Helm.
Vérifier l’état de l’Agent et du Contrôleur
Avant de résoudre les problèmes de bundle ou de déploiement, vérifiez que le Fleet agent est enregistré et en cours d’exécution sur le cluster en aval. Pour plus d’informations, voir Fleet agent est enregistré, surveille les BundleDeployments.
Si un bundle n’est pas prêt sur un cluster donné, vérifiez les éléments suivants :
-
Sur le cluster de gestion :
-
Vérifiez que les pods
fleet-controlleretgitjob(ouhelmops, selon votre configuration) sont en cours d’exécution. -
Assurez-vous que l’état du cluster indique Prêt.
-
Vérifiez l’état du bundle - il devrait contenir un message d’erreur si le déploiement a échoué.
-
-
Sur le cluster cible où le bundle n’est pas prêt :
-
Vérifiez que ce cluster cible est enregistré et a un pod
fleet-agenten cours d’exécution. -
En dernier recours, vérifiez les journaux du pod
fleet-agent.
-