Skip to main content
NetApp Solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Beschleunigte Softwareentwicklung mit NetApp FlexClone Technologie

Beitragende

Überblick

Das Klonen einer in einem Kubernetes Cluster implementierten Applikation ist ein sehr nützliches Tool für Entwickler, das ihre Workflows beschleunigen möchte, indem Umgebungen mit Partnern gemeinsam genutzt oder neue Code-Versionen in einer Entwicklungsumgebung getestet werden, ohne die aktuelle Version zu beeinträchtigen. Das statusorientierte und applikationskonsistente Klonen einer Kubernetes Applikation ist eine wichtige Funktion, die in NetApp Astra Control enthalten ist und zusätzlich die Backup- und Restore-Vorgänge von Applikationen übernimmt. Wenn eine Applikation innerhalb desselben Kubernetes Clusters über dasselbe Storage-Backend geklont wird, nutzt Astra Control standardmäßig die NetApp FlexClone Technologie zur Duplizierung persistenter Daten-Volumes, wodurch der Prozess erheblich beschleunigt wird. Durch Beschleunigung dieses Prozesses wird die geklonte Umgebung in wenigen Augenblicken bereitgestellt und verfügbar. So können Entwickler die Arbeit im Vergleich zur Neuimplementierung ihrer Test- oder Entwicklungsumgebung mit nur einer kurzen Pause wiederaufnehmen. Darüber hinaus können alle Funktionen von NetApp Astra Control mit einer API aufgerufen werden, die die einfache Integration in Automatisierungs-Frameworks wie Ansible ermöglicht. Daher können Umgebungen noch schneller bereitgestellt werden, da für das Klonen nur geringfügige Änderungen in einem Playbook oder einer Rolle erforderlich sind.

Was ist NetApp FlexClone Technologie?

Die NetApp FlexClone Technologie ist eine beschreibbare, zeitpunktgenaue Snapshot-basierte Kopie einer NetApp FlexVol. Sie werden nahezu sofort bereitgestellt, enthalten alle Daten vom Quell-Volume und verbrauchen keinen zusätzlichen Speicherplatz, bis die Daten im neuen Volume vom Quellspeicherort abweichen. Sie werden häufig in Entwicklungs- oder vorlagenbasierten Umgebungen verwendet, wenn mehrere Datenkopien für Staging-Zwecke nützlich sind und Storage-Systeme nur über begrenzte Ressourcen zur Bereitstellung dieser Volumes verfügen. Im Vergleich zu einem herkömmlichen Storage-System, bei dem Daten mehrfach kopiert werden müssen, wodurch viel Speicherplatz und Zeit in Anspruch genommen werden, beschleunigt die NetApp FlexClone Technologie die speicherabhängige Aufgabe.

Bild zu FlexClone

Um mehr über die NetApp FlexClone Technologie zu erfahren, besuchen Sie die Seite auf "NetApp Dokumente".

Voraussetzungen

  1. Eine unterstützte Kubernetes-Distribution, z. B. Red hat OpenShift 4.6.8+, Rancher 2.5+ oder Kubernetes 1.19+.

  2. NetApp Astra Control Center 21.12 oder höher

  3. Ein NetApp ONTAP System mit einem über NetApp Astra Trident konfigurierten Storage-Backend.

  4. Ansible, 2.9 Oder Höher

  5. Vorlagen für die Umgebungen, die Sie als gemanagte Applikationen in NetApp Astra Control klonen möchten.

Anwendungsfallvorstellung

Für diesen Anwendungsfall betrachten wir etwas, das dem folgenden Workflow ähnelt:

Workflow-Bild
  1. Ein Benutzer führt das ansible-Playbook aus, um eine neue Staging-Umgebung zu erstellen.

  2. Ansible verwendet das URI-API-Modul, um Astra Control zum Ausführen des Klonvorgangs aufzurufen.

  3. Astra Control führt einen Klonvorgang in einer vorab bereitgestellten Vorlagenumgebung aus und erstellt auf diese Weise eine neue, gemanagte Applikation.

    Hinweis Diese Umgebung kann es sich um eine einzelne Standalone-Applikation in der Entwicklung oder um eine gesamte Entwicklungsumgebung wie eine Jenkins CI/CD-Pipeline handeln.
  4. Der Benutzer zieht dann eine Codeversion von einem Online-Repository wie Gitea in die geklonte Entwicklungsumgebung ein.

  5. Die neue Version der Applikation wird von NetApp Astra Control implementiert und gemanagt.

    Hinweis Beide Prozesse können automatisiert werden.
  6. In dieser geklonten Umgebung kann der Benutzer neuen Code entwickeln.

  7. Wenn der Benutzer mit seinen Entwicklungsbemühungen zufrieden ist, kann er den Code zurück in das gehostete Repository übertragen.

Der hier vorgestellte Anwendungsfall hängt von dem Vorhandensein von goldenen Vorlagen für die speziellen Umgebungen oder Applikationen ab, die geklont werden sollen. In unserer Umgebung haben wir drei solche Vorlagen erstellt, eine für eine WordPress-Bereitstellung, eine für eine Magento-Bereitstellung und eine für eine Jenkins CI/CD-Umgebung mit Gitea, die wir mit DevTools betitelt haben.

Vorlagen Bild

Jede dieser Umgebungen wird durch den NetApp Astra Control gemanagt, wobei persistente Volumes auf einem NetApp ONTAP Storage-System mit einem durch NetApp Astra Trident bereitgestellten NFS-Back-End gespeichert sind.

Validierung von Anwendungsfällen

  1. das netapp Solutions Engineering Team klont das ansible Toolkit, das die Klonrolle und das Playbook für Applikations-Updates enthält.

    [netapp-user@rhel7 ~]$ git clone https://github.com/NetApp-Automation/na_astra_control_suite.git
    [netapp-user@rhel7 ~]$ cd na_astra_control_suite
  2. Bearbeiten vars/clone_vars.yml Und füllen Sie die globalen Werte aus, die zu Ihrer Astra Control-Umgebung passen.

    astra_control_fqdn: astra-control-center.example.com
    astra_control_account_id: "xxxx-xxxx-xxxx-xxxx-xxxx"
    astra_control_api_token: "xxxxx"
    Hinweis Die erforderlichen globalen Umgebungswerte sind im NetApp Astra Control über das API Access-Menü unter dem Benutzerprofilsymbol verfügbar.
    API-Zugriffsbild
  3. Wenn die globalen Variablen abgeschlossen sind, können Sie die Werte für die spezifische Applikation auswählen, die Sie klonen möchten. Um die devTools-Umgebung in einer persönlichen Umgebung namens zu klonen alan-devtools, Sie würden Folgendes tun:

    clone_details:
      - clone_name: alan-devtools
        destination_namespace: alan-dev-namespace
        source_cluster_name: ocp-vmware2
        destination_cluster_name: ocp-vmware2
        source_application_name: devtools-template
    Hinweis Um beim Klonprozess die NetApp FlexClone Technologie zu nutzen, src-cluster Und dest-cluster Muss gleich sein.
  4. Sie können nun das Playbook ausführen, um die Applikation zu klonen.

    [netapp-user@rhel7 na_astra_control_suite]$ ansible-playbook -K clone_app_playbook.yml]
    Hinweis Das Playbook muss vom Root-Benutzer oder einer Person ausgeführt werden, die den Sudo-Prozess durchlaufen kann, indem es das Argument „-K“ gibt.
  5. Nach Abschluss des Playbooks wird die geklonte Applikation in der Astra Control Center-Konsole angezeigt.

    Geklontes App-Image
  6. Ein Benutzer kann sich anschließend in der Kubernetes-Umgebung, in der die Applikation implementiert wurde, überprüfen, ob die Applikation mit einer neuen IP-Adresse konfrontiert ist, und seine Entwicklungsarbeiten starten.

Eine Demonstration dieses Anwendungsfalls und eines Beispiels zum Aktualisieren einer Anwendung finden Sie unter "Hier".