Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Installez SUSE Storage à l’aide de Fleet

Conditions préalables

L’installation de SUSE Storage nécessite un accès authentifié à la SUSE Application Collection. Pour plus de détails, consultez le guide d’authentification.

  • Votre poste de travail : Installez Helm v3.0 ou une version ultérieure.

  • Cluster Kubernetes :

    • Assurez-vous que chaque nœud remplit les exigences d’installation.

    • Installez SUSE® Rancher Prime: Continuous Delivery à l’aide de Helm.

      helm repo add fleet https://rancher.github.io/fleet-helm-charts/
      helm -n cattle-fleet-system install --create-namespace --wait fleet-crd fleet/fleet-crd
      helm -n cattle-fleet-system install --create-namespace --wait fleet fleet/fleet

      Laissez un certain temps pour le déploiement des composants de Fleet dans l’espace de noms cattle-fleet-system.

Le outil de ligne de commande Longhorn peut être utilisé pour vérifier l’environnement Longhorn à la recherche de problèmes potentiels.

Installation

  1. Dans votre dépôt GitOps, créez un fichier fleet.yaml qui inclut ce qui suit :

    • Paramètre pour installer SUSE Storage dans l’espace de noms longhorn-system

       defaultNamespace: longhorn-system
    • Paramètres pour ignorer les CRD modifiés

       diff:
         comparePatches:
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: engineimages.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: nodes.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: volumes.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: engines.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: instancemanagers.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: replicas.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: settings.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
    • Paramètres pour spécifier la version du chart Helm à installer

     helm:
       repo: https://charts.longhorn.io
       chart: longhorn
       version: v1.11.2 # Replace with the version you would like to install or upgrade to
       releaseName: longhorn

    + Exemple d’un fichier fleet.yaml complet :

    +

     defaultNamespace: longhorn-system
     helm:
       repo: https://charts.longhorn.io
       chart: longhorn
       version: v1.11.2
       releaseName: longhorn
     diff:
       comparePatches:
       - apiVersion: apiextensions.k8s.io/v1
         kind: CustomResourceDefinition
         name: engineimages.longhorn.io
         operations:
         - {"op": "replace", "path": "/status"}
       - apiVersion: apiextensions.k8s.io/v1
         kind: CustomResourceDefinition
         name: nodes.longhorn.io
         operations:
         - {"op": "replace", "path": "/status"}
       - apiVersion: apiextensions.k8s.io/v1
         kind: CustomResourceDefinition
         name: volumes.longhorn.io
         operations:
         - {"op": "replace", "path": "/status"}
  2. Créez une ressource personnalisée GitRepo (CR) qui pointe vers votre dépôt GitOps.

     cat > longhorn-gitrepo.yaml << "EOF"
     apiVersion: fleet.cattle.io/v1alpha1
     kind: GitRepo
     metadata:
       name: longhorn
       namespace: fleet-local
     spec:
       repo: https://github.com/your-username/your-gitops-repo.git
       revision: main
       paths:
       - .
     EOF
  3. Appliquez le CR GitRepo.

     kubectl apply -f longhorn-gitrepo.yaml
  4. Vérifiez que le CR GitRepo a été créé et synchronisé avec succès.

     kubectl -n fleet-local get gitrepo -w
  5. Vérifiez que SUSE Storage a été installé avec succès.

     kubectl -n longhorn-system get pod

    Exemple d’une installation réussie :

     NAME                                                READY   STATUS    RESTARTS   AGE
     longhorn-ui-b7c844b49-w25g5                         1/1     Running   0          2m41s
     longhorn-manager-pzgsp                              1/1     Running   0          2m41s
     longhorn-driver-deployer-6bd59c9f76-lqczw           1/1     Running   0          2m41s
     longhorn-csi-plugin-mbwqz                           2/2     Running   0          100s
     csi-snapshotter-588457fcdf-22bqp                    1/1     Running   0          100s
     csi-snapshotter-588457fcdf-2wd6g                    1/1     Running   0          100s
     csi-provisioner-869bdc4b79-mzrwf                    1/1     Running   0          101s
     csi-provisioner-869bdc4b79-klgfm                    1/1     Running   0          101s
     csi-resizer-6d8cf5f99f-fd2ck                        1/1     Running   0          101s
     csi-provisioner-869bdc4b79-j46rx                    1/1     Running   0          101s
     csi-snapshotter-588457fcdf-bvjdt                    1/1     Running   0          100s
     csi-resizer-6d8cf5f99f-68cw7                        1/1     Running   0          101s
     csi-attacher-7bf4b7f996-df8v6                       1/1     Running   0          101s
     csi-attacher-7bf4b7f996-g9cwc                       1/1     Running   0          101s
     csi-attacher-7bf4b7f996-8l9sw                       1/1     Running   0          101s
     csi-resizer-6d8cf5f99f-smdjw                        1/1     Running   0          101s
     instance-manager-b34d5db1fe1e2d52bcfb308be3166cfc   1/1     Running   0          114s
     engine-image-ei-df38d2e5-cv6nc                      1/1     Running   0          114s
  6. Créer un contrôleur d’Ingress NGINX avec une authentification de base pour accéder à l’interface utilisateur. L’authentification à l’interface utilisateur n’est pas activée par défaut.

  7. Accédez à l’interface utilisateur.