Architekturüberblick
Simplifier läuft auf SAP BTP innerhalb von Kyma Services – daher benötigen Sie bestimmte Voraussetzungen, um Simplifier zu installieren.
Worum geht es?
Dieses Kapitel erläutert die grundlegenden Dienste dieser Installationsanleitung.
Was ist SAP BTP Kyma?
SAP BTP Kyma Runtime ist eine Cloud-native Application Runtime auf der SAP Business Technology Platform (BTP), die Kubernetes für die Bereitstellung und Verwaltung von Cloud-nativen Anwendungen und Erweiterungen wie die Simplifier Low Code Plattform nutzt.
Was ist der SAP BTP Kyma Connectivity Service?
Er bietet einen Connectivity Proxy für den auf Kyma laufenden Simplifier und nutzt den SAP Cloud Connector, um sichere Tunnel zu erstellen, die den Zugriff auf On-Premise SAP-Systeme und andere ermöglichen, ohne diese direkt dem Internet auszusetzen.
Voraussetzungen
- Aktive Kyma-Umgebung, die auf einem SAP BTP-Konto läuft
- Git und kubectl auf dem Client installiert (Tutorial)
Serviceplan für Connectivity Service zum SAP Cloud Connector im globalen Konto berechtigen
Um den Connectivity Proxy innerhalb der Kyma Runtime zu konfigurieren, müssen Sie zunächst sicherstellen, dass die Connectivity Service Entitlement in Ihrem Subaccount vorhanden ist. Dies kann erreicht werden durch
Innerhalb Ihres globalen Kontos…
- Wählen Sie Berechtigungen -> Entitätszuordnungen
- Suchen Sie nach Connectivity Service
- Wählen Sie connectivity_proxy für den Plan
- Wählen Sie 1 Serviceplan hinzufügen
- Wählen Sie Speichern
Klonen Sie das Simplifier BTP Kubernetes Repository
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 Kubeconfig.yaml über die bereitgestellte URL innerhalb der SAP BTP Kyma Umgebung in Ihren lokalen Workspace herunter
Setzen Sie die KUBECONFIG-Variable auf diese Kyma Cluster Konfiguration
export KUBECONFIG=PFAD/ZU/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 Geheimnisse wie Passwörter für den MySQL-Server usw. – Sie können sie an Ihre Sicherheitsanforderungen anpassen:
# base64-codiert 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 - Sollte dem Simplifier DB + "_monitoring" entsprechen>
Nachdem Sie die Konfiguration an Ihre Bedürfnisse angepasst haben, stellen Sie die Secrets und Namespaces bereit
kubectl apply -f ./config/config.yaml
MySQL-Datenbankdienst bereitstellen
MySQL-Datenbankserver bereitstellen
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 Sie, ob die Datenbank läuft
kubectl -n simplifier get pods -l app=mysql
Manuelle Konfigurationsanpassungen innerhalb des Kyma-Dashboards
Gehen Sie zu Ihrem Kyma-Dashboard
Geben Sie die folgende URL in Ihren Browser ein
https://dashboard.kyma.cloud.sap/clusters
Fügen Sie das Connectivity Proxy Modul innerhalb des Kyma Cluster Dashboards hinzu
Bevor wir fortfahren, müssen Sie das Modul innerhalb des Kyma Dashboards hinzufügen, siehe Beispiel unten
Suchen Sie nach der API-URL
Sie sehen hier die URL für die Kyma-API
Erstellen Sie die neue 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 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 |
Simplifier bereitstellen
Simplifier Application Server bereitstellen
kubectl apply -f ./simplifier/simplifier-deployment.yaml
Simplifier Launchpad bereitstellen (optional)
kubectl apply -f ./simplifier/simplifier-launchpad.yaml
Simplifier Workflow Designer bereitstellen (optional)
kubectl apply -f ./simplifier/simplifier-designtime.yaml
Simplifier Workflow Runtime bereitstellen (optional)
Bevor Sie die Workflow Runtime bereitstellen – fügen Sie bitte die bereitgestellte Kyma Public Access URL in
simplifier/simplifier-runtime.yaml
wie
- name: SIMPLIFIER_LAUNCHPAD_BASE_URL value: "https://mysimplifier.kyma.ondemand.com"
Nachdem die korrekte URL geändert wurde, kann der Workflow Runtime Service bereitgestellt werden:
kubectl apply -f ./simplifier/simplifier-runtime.yaml
Ingress-Routen mit istio einrichten
Diese Datei konfiguriert das Routing mit dem Standard-Kyma-Gateway und setzt auch den benötigten Header zur Unterstützung der CORS-Richtlinie. (Mehr erfahren)
Vor der Bereitstellung muss der Basis-Domainname zur Simplifier Kyma URL geändert werden in:
kyma/istio.yaml
zu
# todo url apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: simplifier-svc namespace: simplifier spec: hosts: - <your-full-qualified-domain-name-here> http:
Nachdem ein gültiger Host konfiguriert wurde, können die Richtlinien und Routen bereitgestellt werden
kubectl apply -f ./kyma/istio.yaml
Connectivity Service bereitstellen
Der letzte Schritt ist die Bereitstellung des Kyma Connectivity Service innerhalb des Simplifier Clusters
kubectl apply -f ./kyma/connectivity-proxy-instance.yaml -n simplifier
Backup / Wiederherstellung
Backup erstellen
kubectl apply -f ./snapshot/create-snapshot.yaml
Hinweis: Der Snapshot hat keinen dynamischen Namen und es würden keine Änderungen erkannt und daher kein neuer Snapshot erstellt. Benennen Sie den Snapshot um oder löschen Sie den alten
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 das Backup wiederherzustellen, löschen Sie die aktuellen Deployments
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 Persistent Volume Claim aus dem Snapshot neu
kubectl apply -f ./snapshot/restore-snapshot.yaml
Erstellen Sie schließlich die Deployments 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
















