Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Installieren Sie SUSE Storage mit Fleet

Voraussetzungen

Die Installation von SUSE Storage erfordert authentifizierten Zugriff auf die SUSE Application Collection. Für weitere Details, überprüfen Sie den Authentifizierungsleitfaden.

  • Ihr Arbeitsplatz: Installieren Sie Helm v3.0 oder höher.

  • Kubernetes-Cluster:

    • Stellen Sie sicher, dass jeder Knoten die Installationsanforderungen erfüllt.

    • Installieren Sie SUSE® Rancher Prime: Continuous Delivery mit 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

      Geben Sie etwas Zeit für die Implementierung der Fleet-Komponenten im cattle-fleet-system-Namespace.

Das Longhorn-Kommandozeilenwerkzeug kann verwendet werden, um die Longhorn-Umgebung auf potenzielle Probleme zu überprüfen.

Installation

  1. Erstellen Sie in Ihrem GitOps-Repository eine fleet.yaml-Datei, die Folgendes enthält:

    • Parameter zur Installation von SUSE Storage im longhorn-system-Namespace

       defaultNamespace: longhorn-system
    • Parameter für das Ignorieren modifizierter CRDs

       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"}
    • Parameter zur Angabe der Version des zu installierenden Helm-Charts

     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

    + Beispiel einer vollständigen fleet.yaml-Datei:

    +

     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. Erstellen Sie eine benutzerdefinierte Ressource (CR) vom Typ GitRepo, die auf Ihr GitOps-Repository verweist.

     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. Wenden Sie die GitRepo-CR an.

     kubectl apply -f longhorn-gitrepo.yaml
  4. Überprüfen Sie, ob die GitRepo-CR erfolgreich erstellt und synchronisiert wurde.

     kubectl -n fleet-local get gitrepo -w
  5. Überprüfen Sie, ob SUSE Storage erfolgreich installiert wurde.

     kubectl -n longhorn-system get pod

    Beispiel einer erfolgreichen Installation:

     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. Erstellen Sie einen NGINX Ingress-Controller mit grundlegender Authentifizierung, um auf die Benutzeroberfläche zuzugreifen. Die Authentifizierung zur Benutzeroberfläche ist standardmäßig nicht aktiviert.

  7. Zugriff auf die Benutzeroberfläche.