Überblick über die Architektur
Simplifier läuft auf SAP BTP innerhalb von Kyma Services – daher benötigen Sie bestimmte Voraussetzungen, um Simplifier zu installieren.
Worum geht’s?
In diesem Kapitel werden die grundlegenden Dienste dieses Installationshandbuchs erläutert.
Was ist SAP BTP Kyma?
SAP BTP Kyma Runtime ist eine Laufzeitumgebung für Cloud-native Anwendungen auf SAP Business Technology Platform (BTP), die Kubernetes für die Bereitstellung und Verwaltung von Cloud-nativen Anwendungen und Erweiterungen wie Simplifier Low Code Plattform nutzt.
Was ist der SAP BTP Kyma-Konnektivitätsdienst?
Es stellt einen Konnektivitäts-Proxy für den Simplifier, der auf Kyma läuft, zur Verfügung und nutzt den SAP Cloud Connector, um sichere Tunnel aufzubauen, die den Zugriff auf On-Premise-SAP-Systeme und andere Systeme ermöglichen, ohne sie direkt dem Internet auszusetzen.
Voraussetzungen
- Aktive Kyma-Umgebung, die auf einem SAP BTP-Konto ausgeführt wird
- Git und kubectl auf dem Client installiert (Tutorial)
Berechtigen Sie den Serviceplan für den Konnektivitätsdienst zu SAP Cloud Connector im globalen Konto
Um den Konnektivitäts-Proxy innerhalb der Kyma Runtime zu konfigurieren, müssen Sie zunächst sicherstellen, dass die Konnektivitätsdienst-Berechtigung in Ihrem Unterkonto vorhanden ist. Dies kann erreicht werden durch
Innerhalb Ihres globalen Kontos…
- Wählen Sie Berechtigungen -> Entitätszuordnungen
- Suche nach Konnektivitätsdienst
- Wählen Sie connectivity_proxy für denPlan
- Wählen Sie 1 Serviceplan hinzufügen
- Wählen Sie Speichern
Klonen des Simplifier BTP Kubernetes-Repositorys
Um die benötigten Setup-Dateien herunterzuladen und zu klonen, erstellen Sie ein Arbeitsverzeichnis und klonen Sie das Repository hinein
git clone --branch main https://github.com/simplifier-ag/simplifier-sap-btp-kyma-deployment.git
Verbinden Sie sich mit dem Kyma-Cluster
Laden Sie die Datei Kubeconfig.yaml über die angegebene URL in SAP BTP Kyma Environment in Ihren lokalen Arbeitsbereich herunter
Legen Sie die Variable KUBECONFIG auf diese Kyma-Cluster-Konfiguration fest.
export KUBECONFIG=PATH/TO/kubeconfig.yaml
Testen Sie, ob die Konfiguration geladen ist:
kubectl config get-contexts
Sie sollten so etwas sehen
Konfiguration vorbereiten
Die Konfigurationsdatei enthält alle Secrets wie Passwörter für MySQL, Server usw. – Sie können sie an Ihre Sicherheitsanforderungen anpassen:
# base64 encoded apiVersion: v1 kind: Secret metadata: name: simplifier-secrets namespace: simplifier type: Opaque data: MYSQL_ROOT_PW: <YourSecretPasswordforMySQLRootAccount> SIMPLIFIER_PW: <YourSecretPasswordforSimplifierDatabase> MYSQL_USER: <NameofSimplifierUserforSimplifierDatabase> SIMPLIFIER_DB: <NameofSimplifierDatabase> SIMPLIFIER_DB_MONITORING: <NameOfSimplifierMonitoringDatabase - Should be same as Simplifier db + "_monitoring">
Nachdem Sie die Konfiguration an Ihre Anforderungen angepasst haben, stellen Sie die Geheimnisse und Namespaces bereit
kubectl apply -f ./config/config.yaml
Bereitstellen des MySQL-Datenbankdienstes
Bereitstellen des MySQL-Datenbankservers
kubectl apply -f ./mysql/mysql-deployment.yaml
Erstellen Sie Datenbanken mit Job, warten Sie auf den abgeschlossenen Job
kubectl apply -f ./mysql/mysql-init-deployment.yaml
Überprüfen, ob die Datenbank ausgeführt wird
kubectl -n simplifier get pods -l app=mysql
Manuelle Konfigurationsanpassungen innerhalb von Kyma Dashboard
Gehen Sie zu Ihrem Kyma-Dashboard
Geben Sie die folgende URL in Ihren Browser ein
https://dashboard.kyma.cloud.sap/clusters
Hinzufügen des Konnektivitäts-Proxy-Moduls in Kyma Cluster Dashboard
Bevor wir fortfahren, müssen Sie das Modul in Kyma Dashboard hinzufügen (siehe Beispiel unten)
Suchen Sie nach der API-URL
Hier sehen Sie die URL für die Kyma-API
Erstellen der neuen URL für Simplifier
Ersetzen Sie das Wort “api” durch z.B. “simplifier” wie folgt
https://simplifier.c-4083ffa.kyma.ondemand.com
Verwenden Sie diese URL in den folgenden Schritten, um den Parameter SIMPLIFIER_LAUNCHPAD_BASE_URL und den Host für die istio.yml vorzubereiten
| Simplifier Launchpad URL | https://simplifier.c-4083ffa.kyma.ondemand.com |
| Host für Ingress Controller istio | simplifier.c-4083ffa.kyma.ondemand.com |
Bereitstellen von Simplifier
Bereitstellen des Simplifier-Anwendungsservers
kubectl apply -f ./simplifier/simplifier-deployment.yaml
Bereitstellen des Simplifier Launchpad (optional)
kubectl apply -f ./simplifier/simplifier-launchpad.yaml
Bereitstellen von Simplifier Workflow Designer (optional)
kubectl apply -f ./simplifier/simplifier-designtime.yaml
Bereitstellen der Simplifier Workflow Runtime (optional)
Bevor Sie die Workflow Runtime bereitstellen – fügen Sie bitte die bereitgestellte Kyma Public Access-URL in
simplifier/simplifier-runtime.yaml
mögen
- name: SIMPLIFIER_LAUNCHPAD_BASE_URL
value: "https://mysimplifier.kyma.ondemand.com"
Nach dem Wechsel zur richtigen URL kann der Workflow Runtime-Dienst bereitgestellt werden:
kubectl apply -f ./simplifier/simplifier-runtime.yaml
Einrichten von Ingress-Routen mit istio
Diese Datei konfiguriert das Routing mit dem standardmäßigen Kyma-Gateway und legt auch den erforderlichen Header zur Unterstützung der CORS-Richtlinie fest. (Weiterlesen)
Vor der Bereitstellung muss die URL des Basisdomänennamens in Simplifier Kyma wie folgt geändert werden:
kyma/istio.yaml
An
# todo url apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: simplifier-svc namespace: simplifier spec: hosts: - <your-full-qualified-domain-name-here> http:
Nach der Konfiguration eines gültigen Hosts können die Richtlinien und Routen bereitgestellt werden
kubectl apply -f ./kyma/istio.yaml
Bereitstellung des Konnektivitätsdienstes
Der letzte Schritt ist der Einsatz des Kyma-Konnektivitätsdienstes im Simplifier-Cluster.
kubectl apply -f ./kyma/connectivity-proxy-instance.yaml -n simplifier
Sichern / Wiederherstellen
Backup erstellen
kubectl apply -f ./snapshot/create-snapshot.yaml
Hinweis: Der Snapshot hat keinen dynamischen Namen und es werden keine Änderungen erkannt und daher kein neuer Snapshot erstellt. Benennen Sie den Snapshot um oder löschen Sie den alten Snapshot
Nach dem Erstellen des Snapshots dauert es einige Zeit, bis der Snapshot verwendbar ist
Überprüfen Sie das “READYTOUSE”-Flag
kubectl -n simplifier get volumesnapshot NAME READYTOUSE SOURCEPVC snapshot-mysql true mysql-pvc snapshot-simplifier true simplifier-pvc snapshot-simplifier-designtime true simplifier-designtime-pvc snapshot-simplifier-launchpad true simplifier-launchpad-pvc snapshot-simplifier-runtime true simplifier-runtime-pvc
Backup wiederherstellen
Um die Sicherung wiederherzustellen, löschen Sie die aktuellen Bereitstellungen
kubectl delete -f ./mysql/mysql-deployment.yaml kubectl delete -f ./simplifier/simplifier-deployment.yaml kubectl delete -f ./simplifier/simplifier-launchpad.yaml kubectl delete -f ./simplifier/simplifier-designtime.yaml kubectl delete -f ./simplifier/simplifier-runtime.yaml
Erstellen Sie dann den Anspruch auf ein persistentes Volume aus dem Snapshot neu
kubectl apply -f ./snapshot/restore-snapshot.yaml
Erstellen Sie abschließend die Bereitstellungen neu
kubectl apply -f ./mysql/mysql-deployment.yaml kubectl apply -f ./simplifier/simplifier-deployment.yaml kubectl apply -f ./simplifier/simplifier-launchpad.yaml kubectl apply -f ./simplifier/simplifier-designtime.yaml kubectl apply -f ./simplifier/simplifier-runtime.yaml
Nächste Schritte
Wenn Sie Simplifier auf BTP installiert haben, fügen Sie die Lizenz ein und fahren Sie fort mit
















