Überblick über die Architektur
Simplifier läuft auf SAP BTP innerhalb von Kyma Services – daher benötigen Sie bestimmte Voraussetzungen, um Simplifier zu installieren.
Voraussetzungen
- Aktive Kyma-Umgebung, die auf einem SAP BTP-Konto ausgeführt wird
- Git und kubectl auf dem Client installiert (Tutorial)
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 diesen Kyma-Cluster-Konfigurationstest fest, wenn die Konfiguration geladen ist:
kubectl config get-contexts
Sie sollten etwas wie dieses sehen
export KUBECONFIG=PATH/TO/kubeconfig.yaml
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
Finden Sie die richtige öffentliche Kyma-URL heraus
Gehen Sie zu Ihrem Kyma-Dashboard
Geben Sie die folgende URL in Ihren Browser ein
https://dashboard.kyma.cloud.sap/clusters
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
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