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 Argo CD

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 das Argo CD CLI.

  • Kubernetes-Cluster:

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

    • Installieren Sie Argo CD.

      kubectl create namespace argocd
      kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml

      Lassen Sie etwas Zeit für die Implementierung der Argo CD-Komponenten im argocd Namespace.

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

Installation

  1. Melden Sie sich bei Argo CD an.

     argocd login --core
  2. Setzen Sie den aktuellen Namespace auf argocd.

     kubectl config set-context --current --namespace=argocd
  3. Erstellen Sie die SUSE Storage benutzerdefinierte Ressource für die Anwendung.

    cat > longhorn-application.yaml <<EOF
    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: longhorn
      namespace: argocd
    spec:
      syncPolicy:
        syncOptions:
          - CreateNamespace=true
      project: default
      sources:
        - chart: longhorn
          repoURL: https://charts.longhorn.io/
          targetRevision: v{{<current-version>}} # Replace with the Longhorn version you'd like to install or upgrade to
          helm:
            values: |
              preUpgradeChecker:
                jobEnabled: false
      destination:
        server: https://kubernetes.default.svc
        namespace: longhorn-system
      # add ignoreDifferences to prevent preserveUnknownFields field from make causing the application to be out of sync
      ignoreDifferences:
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: engineimages.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: engines.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: instancemanagers.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: nodes.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: replicas.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: settings.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: volumes.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
    EOF
    kubectl apply -f longhorn-application.yaml
  4. Stellen Sie SUSE Storage mit den konfigurierten Einstellungen bereit.

     argocd app sync longhorn
  5. Überprüfen Sie, ob SUSE Storage erfolgreich installiert wurde.

     kubectl -n longhorn-system get pod

    Beispiel für eine erfolgreiche 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.