Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Anmelden für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Oracle FLEXCUBE auf OKE bereitstellen
Einführung
Oracle FLEXCUBE Universal Banking erfordert mehrere Schritte, bevor eine Umgebung hochgefahren und gestartet wird. Als Java Enterprise Edition-(JEE-)Anwendung umfasst sie eine minimale zu installierende Softwarebasis, wie Datenbank- und Anwendungsserver. In diesem Beispiel werden Oracle WebLogic und Oracle Database als Teil des technischen Stacks verwendet. Um ein voll funktionsfähiges System zu aktivieren, führt ein Standard-Deployment folgende Schritte aus:
1. Install Oracle Database
2. Install Oracle Weblogic Fusion Middleware Infrastructure
3. Install Oracle FLEXCUBE database artifacts
4. Install Oracle FLEXCUBE application server artifacts
5. Configure initial setup
6. Tune database
7. Tune application
8. Personalize as per business needs
Ein Anwendungsinstallationsprogramm führt die ersten Schritte aus. Der Prozess kann wiederholt werden, ist aber auch zeitaufwendig. Das bedeutet, dass es je nach Komplexität der zu erstellenden Umgebung einige Tage dauern kann, bis das System bereitgestellt wird. Eine Möglichkeit, diesen Prozess zu verbessern, besteht darin, den größten Teil davon zu automatisieren. Hier können Containerisierungsstrategien von diesen Architekturen profitieren.
Die ersten 7 oben genannten Schritte können vollständig mit Containern wie Docker-Images und einer Kombination von Tools zur Wartung und Verwaltung automatisiert werden. Die in der Datenbank konfigurierten Daten werden zu einem replizierbaren Seed-Artefakt, und der Anwendungslayer wird in ein Image umgewandelt, das bereits als Master-Kopie optimiert und gespeichert wurde. Oracle Cloud Infrastructure (OCI) stellt dann Elemente bereit, die jederzeit repliziert werden können, eine vollständige Umgebung, die auf dieser Masterkopie des Systems basiert.
Hinweis:
Können die Datenbank oder möglicherweise verschiedene Datenspeicher in unabhängigen Containern bereitgestellt werden?
Potenziell ja, aber für dieses Tutorial haben wir beschlossen, es als reguläres Cloud-Datenbank-Deployment mit allen Datenspeichern in demselben Schema beizubehalten und alle vorhandenen gängigen Vorgehensweisen auf Datenbankebene beizubehalten.
Dieses Tutorial soll die Architektur nicht in eine auf Microservices basierende Architektur umwandeln, da dies andere strukturelle Änderungen erfordern würde, die nicht Teil des Geltungsbereichs sind. Weitere Informationen zur Oracle-Datenbank in Docker finden Sie unter: Oracle GitHub.
Ziele
- FLEXCUBE-Image manuell bereitstellen
- FLEXCUBE-Bilder für Container erstellen
- Erstellen Sie ein DevOps-Build und -Deployment von FLEXCUBE in einem Kubernetes-Cluster
Voraussetzungen
- Ein OKE-Cluster mit einem Worker-Knoten mit mindestens:
- 8 OCPUs
- 64 GB RAM
kubectl-Zugriff auf OKE-Cluster für lokale Vorgänge- FLEXCUBE-Datenbankbackup in OCI-Datenbank (DBaaS)
- OKE-VCN muss auf DBaaS zugreifen
- Berechtigung und Begrenzung der zu erstellenden Verwendung:
- Load Balancer
- Block-Volume-Speicher
- JDBC-Konfiguration für Ihr FLEXCUBE-Backup:
- Benutzername
- Kennwort
- Oracle Database-Endpunkt (IP/Port)
- Kenntnisse von:
- Verwendung von WebLogic Administration and Tools: Verwendung von
setWLSEnv.sh - Grundlegende Kubernetes-Administration
- Visual Builder- oder Jenkins-Vorgang
- FLEXCUBE-Administration und -Konfiguration
- Verwendung von WebLogic Administration and Tools: Verwendung von
Hinweis:
Informationen zum Erstellen eines OKE-Clusters in Ihrem OCI-Mandanten finden Sie unter OKE-Cluster erstellen.
Wenn Sie das OKE-Cluster bereits erstellt haben, prüfen Sie, ob Sie den Zugriff auf das Cluster konfiguriert haben, wie im Thema Kubeconfig-Datei herunterladen beschrieben.
Anweisungen zur Installation von kubectl finden Sie unter kubectl installieren
Aufgabe 1: WebLogic-Admin-Server erstellen
Beginnen wir mit einem einfachen WebLogic-Admin-Server-POD in Ihrem Kubernetes-Cluster.
-
In der Datei weblogic.zip finden Sie:
- README: Einige Links, mit denen Sie Ihr OKE-Cluster erstellen können, sofern noch nicht geschehen
- secret.sh: Ein bash-Skript, mit dem Sie das Secret für den Zugriff auf das Oracle-Image-Repository zur Verwendung des WebLogic-Images erstellen können
- weblogic.YAML: Die YAML-Datei zum Erstellen einer Instanz von WebLogic und Serviceports für den Zugriff auf den Admin-Server
Hinweis: Sie müssen das Oracle Image Repository zuweisen und Ihre Zugangsdaten (Benutzer/Kennwort) festlegen, um das WebLogic-Image abzurufen. Weitere Informationen finden Sie unter: Oracle Image Repository
-
Mit Ihren Zugangsdaten in Oracle Image Repository (Anmeldung/Kennwort) müssen Sie das Skript secret.sh bearbeiten und Ihre Zugangsdaten zur Datei hinzufügen. Führen Sie diesen Befehl aus, um das Secret in Ihrem OKE-Cluster anzugeben. Sie können den WebLogic-Container nicht ohne diesen Schritt bereitstellen.
sh secret.sh -
Jetzt können Sie mit dem Deployment WebLogic fortfahren. Sie können viele Parameter anpassen. Für diesen Test müssen Sie jedoch den Port 7001 und die Zugangsdaten für die Anmeldung auf dem WebLogic-Admin-Server verwalten.
weblogic.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: weblogic-deployment spec: replicas: 1 selector: matchLabels: app: weblogic template: metadata: labels: app: weblogic spec: containers: - name: weblogic image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 env: - name: DOMAIN_NAME value: "myDomain" - name: ADMIN_NAME value: "myadmin" - name: ADMIN_LISTEN_PORT value: "7001" - name: ADMIN_HOST value: "AdminContainer" - name: ADMINISTRATION_PORT_ENABLED value: "false" - name: ADMINISTRATION_PORT value: "9005" - name: MANAGED_SERVER_PORT value: "8001" - name: MANAGED_SERVER_NAME_BASE value: "MS" - name: CONFIGURED_MANAGED_SERVER_COUNT value: "2" - name: CLUSTER_NAME value: "cluster1" - name: CLUSTER_TYPE value: "DYNAMIC" - name: PRODUCTION_MODE value: "dev" - name: DOMAIN_HOST_VOLUME value: "/app/domains" - name: PROPERTIES_FILE_DIR value: "/u01/oracle/properties" - name: PROPERTIES_FILE value: "/u01/oracle/properties/domain.properties" command: [ "/bin/bash", "-c", "--" ] args: [ "mkdir /u01/oracle/properties; cd /u01/oracle/properties; echo 'username=weblogic' > domain.properties; echo 'password=weblogic123' >> domain.properties; cd /u01/oracle; ./createAndStartEmptyDomain.sh; while true; do sleep 30; done;" ] ports: - name: port9005 containerPort: 9005 imagePullSecrets: - name: oracledockersecret --- apiVersion: v1 kind: Service metadata: name: weblogic-service labels: app: weblogic spec: selector: app: weblogic ports: - port: 7001 targetPort: 7001 name: adminserver - port: 8001 targetPort: 8001 name: managedserver - port: 9005 targetPort: 9005 name: adminport type: LoadBalancer -
In Ihrem Terminal können Sie die Datei
weblogic.yamlausführen, um den Admin-Server bereitzustellen.kubectl apply -f weblogic.yaml -
Sie können den Port für Services und Load Balancer für den Zugriff auf Ihren Admin-Server anzeigen. Führen Sie den folgenden Befehl aus:
kubectl get svc -
Die folgenden Details werden angezeigt:

-
Beachten Sie einen ausstehenden Wert in Ihrem weblogic-service. Das bedeutet, dass ein Load Balancer nicht mit einer öffentlichen IP bereit ist. Warten Sie eine Minute, und wiederholen Sie den kubectl-Befehl, um die öffentliche IP anzuzeigen.
-
Öffnen Sie mit einer öffentlichen IP-Adresse die folgende URL in Ihrem Browser:
http://<Public IP>:7001/console -
Sie können jetzt den Admin-Server sehen. Der in Ihrer YAML-Datei definierte Benutzer und das Kennwort lautet:
Benutzer: weblogisches Kennwort: weblogic123

Aufgabe 2: Datenbankkennwort im AES256-Format abrufen
Prüfen Sie das Backup der FLEXCUBE-Datenbank, und rufen Sie das Datenbankkennwort im Format AES256 ab.
-
Denken Sie daran, dass Sie die Oracle Database in OCI DBaaS benötigen und Ihr FLEXCUBE-Backup wiederherstellen müssen. Nachdem Sie die Wiederherstellung eines gültigen FLEXCUBE-Datenbankbackups geprüft haben, benötigen Sie diese Informationen, um auf den FLEXCUBE-Datenbankinhalt zuzugreifen:
- Endpunkt (IP/Port)
- Benutzername
- Kennwort
-
Sie können das Kennwort nicht im Textformat verwenden. Sie müssen das Kennwort in ein AES256-Format konvertieren. Am einfachsten können Sie Ihr Kennwort in ein AES256-Format konvertieren, indem Sie das WebLogic-Tool verwenden:
setWLSEnv.sh -
Dieses Tool-bash-Skript finden Sie im WebLogic-Pfad:
./oracle/wlserver/server/bin -
Um Ihr Kennwort zu konvertieren, müssen Sie folgende Befehle ausführen:
cd ./oracle/wlserver/server/bin . ./setWLSEnv.sh java -Dweblogic.RootDirectory=../user_projects/domains/integrated weblogic.security.Encrypt <Database Password> -
Nach der Ausführung von setWLSEnv.sh erhalten Sie ein Kennwort im Format AES256 wie in diesem Beispiel:
{AES256}7kfaltdnEBjKNq.......RIU0IcLOynq1ee8Ib8= -
Verwenden Sie den neueren Admin-Server-POD WebLogic, um diesen Befehl auszuführen.
kubectl exec -it $(kubectl get pod -l app=weblogic -o jsonpath="{.items[0].metadata.name}") -- /bin/bash -
Warten Sie, bis Sie in den Container des WebLogic-Servers eingeben können. Führen Sie die folgende Befehlssequenz aus:
cd /u01/oracle/wlserver/server/bin . ./setWLSEnv.sh java -Dweblogic.RootDirectory=/u01/oracle/user_projects/domains/myDomain weblogic.security.Encrypt <Database Password> -
Ersetzen Sie
durch Ihr Textpasswort. -
Das Passwort {AES256} wird angezeigt. Speichern Sie diese Informationen für die nächsten Schritte.
-
Führen Sie diesen Befehl aus, um den Container zu beenden:
exit. -
Jetzt können Sie den WebLogic-Admin-Server löschen. Sie müssen es aufgrund von FLEXCUBE löschen, es wird auch den Port 7001 verwenden.
kubectl delete -f weblogic.yaml
Aufgabe 3: Manuelles Deployment mit kubectl ausführen
Mit dem Befehl kubectl können Sie FLEXCUBE (fcubs) in Ihrem OKE-Cluster bereitstellen. Sie kann auf Ihrem lokalen Rechner ausgeführt werden, wenn Sie Zugriff auf das OKE-Cluster für das kubectl-Befehlstool konfiguriert haben.
Sehen wir uns die Datei integrated145.yaml an.
Die YAML-Datei enthält einige wichtige Parameter zum Erstellen des Pods: Umfasst den Deployment-Namen, erkennt die interne IP/Hostnamen, wo das Image aus WebLogic, die JDBC-Verbindung und den verschlüsselten Datenbankzugriff ausgewählt werden soll.

In derselben YAML-Datei wird auch die vom Pod erwartete Größe definiert. Dabei wird die Anzahl der erforderlichen Ressourcen berücksichtigt, und bis zu dem Limit, das bei einer Erhöhung des Verbrauchs anwachsen kann.

Die bereitzustellenden Ports werden auch in der YAML-Datei definiert, was eine personalisierte Sicherheit ermöglicht. Auf die Anwendung kann der Geschäftsbenutzer, die WebLogic-Konsole durch den Administrator, Webservices durch Entwickler usw. zugreifen.

Hinweis: In diesem Szenario wurden alle Services in demselben POD erstellt. Um zu skalieren, müssen wir alles skalieren. Eine gute Möglichkeit, einen Monolith zu brechen, besteht darin, unterschiedliche Pods mit verschiedenen Ports zu instanziieren, die in verschiedenen WebLogic-Servern verfügbar gemacht werden. Folglich können die Pods unabhängig skaliert werden.
Als Beispiel könnte ein Webservices-POD, der stark in Integrationen verwendet wird, 10 Cores erfordern und bei Bedarf skalieren, während die Anwendung (im anderen Pod bereitgestellt) nur 2 Cores benötigt und ein "konstanteres" Verhalten aufweist.
Dies ist die Datei integrated145.yaml:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexcubeclaim
spec:
accessModes:
- ReadWriteOnce
storageClassName: oci-bv
resources:
requests:
storage: 500Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: integrated145-deployment
spec:
replicas: 1
selector:
matchLabels:
app: integrated145
template:
metadata:
labels:
app: integrated145
spec:
hostname: integrated145
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "fcubs.oracle.com"
containers:
- name: integrated145
image: gru.ocir.io/idvkxij5qkne/oraclefmw-infra:12.2.1.4.0_jdk8u281_pt34080315_apr22
command: [ "/bin/sh", "-c"]
args:
[ "sleep 180; su - gsh ; cd /; yum -y install wget; wget https://objectstorage.us-ashburn-1.oraclecloud.com/p/dX80UuetlAvWOEbvQNMBv47H3ZPR-zZHJJmTsu_GQ66icfgFaPSSu_97j8q3Fyrp/n/idcci5ks1puo/b/flexcubeBucketNewVersion/o/initializeConfig.sh; yum -y install unzip; sh initializeConfig.sh jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com {AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99; while true; do sleep 30; done;" ]
ports:
- name: port7001
containerPort: 7001
- name: port7002
containerPort: 7002
- name: port7003
containerPort: 7003
- name: port7004
containerPort: 7004
- name: port7005
containerPort: 7005
- name: port7006
containerPort: 7006
- name: port7007
containerPort: 7007
- name: port7008
containerPort: 7008
- name: port7009
containerPort: 7009
- name: port7010
containerPort: 7010
- name: port7011
containerPort: 7011
- name: port7012
containerPort: 7012
- name: port7013
containerPort: 7013
- name: port7014
containerPort: 7014
- name: port7015
containerPort: 7015
- name: port7016
containerPort: 7016
- name: port7017
containerPort: 7017
- name: port7018
containerPort: 7018
- name: port7019
containerPort: 7019
- name: port7020
containerPort: 7020
- name: port5556
containerPort: 5556
# livenessProbe:
# httpGet:
# path: /console
# port: 7001
# initialDelaySeconds: 3000
# timeoutSeconds: 30
# periodSeconds: 300
# failureThreshold: 3
volumeMounts:
- name: data
mountPath: /scratch/gsh/kernel145
readOnly: false
resources:
requests:
cpu: "5"
memory: "36Gi"
#ephemeral-storage: "500Gi"
limits:
cpu: "8"
memory: "64Gi"
#ephemeral-storage: "500Gi"
# restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: flexcubeclaim
imagePullSecrets:
- name: ocirsecret
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-service
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7004
targetPort: 7004
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-service-weblogic
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7001
targetPort: 7001
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: or Jenkins
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7005
targetPort: 7005
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-webservices2
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7009
targetPort: 7009
type: LoadBalancer
Hinweis: Resilienz - Das FLEXCUBE-Deployment ist resilient. Wenn also WebLogic oder FLEXCUBE heruntergefahren wird, wird das Kubernetes-Cluster geladen und erneut ausgeführt. Die Ursache hierfür ist die Livenessprobe innerhalb der Datei integrated145.yaml. Heben Sie die Kommentarzeichen für die folgenden Zeilen auf, wenn Sie einen Check in Ihrem Container aktivieren möchten.
# livenessProbe: # httpGet: # path: /console # port: 7001 # initialDelaySeconds: 3000 # timeoutSeconds: 30 # periodSeconds: 300 # failureThreshold: 3 . . . # restartPolicy: Always
Verstehen wir einige Skriptdateien
Einige Dateien sind erforderlich für:
- FLEXCUBE-Struktur innerhalb des Fusion-Images bereitstellen
- JDBC-Datenquellen für den Zugriff auf die FLEXCUBE-Datenbank konfigurieren
- Konfiguration anderer Parameter, die für die Einrichtung und Ausführung von FLEXCUBE erforderlich sind
FLEXCUBE-Package.zip
Dieses Paket ist eine ZIP-Datei. Sie enthält alle Skripte, die zum Konfigurieren und Ausführen der FLEXCUBE-Instanz erforderlich sind. Der Inhalt dieses Packages befindet sich im Ordner scripts.zip. Dieses Paket enthält:
-
initializeConfig.sh: Die Hauptdatei, die alle anderen Skripte zur Konfiguration und Ausführung von FLEXCUBE ausführt
-
domainsDetails.properties: Die Basisdatei, die vom Skript
initializeConfig.shgeändert wird -
config.xml: Die Basisdatei, die vom Skript
initializeConfig.shgeändert wird -
flexcube.sh: Skript zum Herunterladen der FLEXCUBE v14.5-Struktur innerhalb des POD
-
JDBCReplace.sh: Skript zum Ersetzen aller JDBC-Datenquellen durch den FLEXCUBE-Datenbankendpunkt (IP/Port), den FLEXCUBE-Datenbankbenutzernamen und das Kennwort (Format AES256)
-
JDBCList: Die Datei mit allen XML-Dateien, die sich auf die Anwendungsdatenquellen beziehen. Sie wird von JDBCReplace.sh verwendet
-
ExecuteWebLogic.sh: Skript zur Ausführung von WebLogic Domain Server, Node Manager und zum Starten von Anwendungen (mit StartApps.sh und StartApps.py)
-
StartApps.sh: Skript zur Ausführung des WLST-
StartApps.py-Skripts -
StartApps.py: Skript, das die FLEXCUBE-Anwendungen ausführt
Hinweis: Der Ordner extra-scripts.zip enthält einige weitere Skripte, die für zusätzliche Aufgaben nützlich sind. Es ist kein Teil des Kerns für dieses Tutorial.
Vorbereiten der YAML-Datei
In diesem Schritt müssen Sie die Datei integrated145.yaml konfigurieren. Diese YAML-Datei ist dafür verantwortlich, die Anwendung und den Zugriff auf die Anwendung über einen Load Balancer bereitzustellen und einen Speicher für die Persistenz zu erstellen. Die Konfiguration besteht im Wesentlichen darin, die Datenbankinformationen in die YAML-Datei aufzunehmen.
-
Suchen Sie diese Zeile in der Datei integrated145.yaml:

-
Scrollen Sie, und suchen Sie die folgende Zeile:
sh initializeConfig.sh jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com -
Ändern Sie x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com mit dem DBaaS-Endpunkt.
-
Scrollen Sie, und suchen Sie die folgende Zeile:
{AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99 -
Ändern Sie den Wert {AES256} mit dem im vorherigen Schritt generierten Passwort.
Führen Sie die Datei integrated145.yaml aus.
-
Nachdem alles konfiguriert wurde, führen Sie die YAML-Datei aus:
kubectl apply -f integrated145.yaml -
Die Erstellung der FLEXCUBE-Struktur, Konfiguration und Drehung des Servers und der Anwendung UP kann etwa 15 Minuten dauern. Führen Sie anschließend den folgenden Befehl aus, um den Port für Services und Load Balancer anzuzeigen:
kubectl get svcDie öffentlichen IPs der Load Balancer werden während der Erstellungszeit angezeigt. Warten Sie, bis alle öffentlichen IPs sichtbar sind.
NAME TYP CLUSTER-IP EXTERNE IP PORT (S) AGE integrated145-service LoadBalancer 10.x.x.x 210.x.x.x 7004:30868/TCP 200d integrated145-service-weblogic LoadBalancer 10.x.x.x 210.x.x.x 7001:32071/TCP 200d integrated145-webservices LoadBalancer 10.x.x.x 210.x.x.x 7005:30415/TCP 200d integrated145-webservices2 LoadBalancer 10.x.x.x 210.x.x.x 7009:30759/TCP 200d Hinweis: In der Datei
integrated145.yamlfinden Sie im Abschnitt Service die Anmerkungen. Mit dieser Annotation wird der Load Balancer im privaten Modus erstellt, und die Anwendung ist sicherer. Sie müssen jedoch eine Bastion für den Zugriff auf diese Anwendungen erstellen.# annotations: # service.beta.kubernetes.io/oci-load-balancer-internal: "true" # service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps" # service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaa.............jyrza"-
Ersetzen Sie subnet1 durch Ihre private Subnetz-OCID. Wenn Sie FLEXCUBE in einem privaten Subnetz verwenden möchten, erstellen Sie eine Compute-VM als Bastion.
-
Sie können einen SSH-Tunnel für den Zugriff auf Ihre Endpunkte wie folgt einrichten:
ssh -i PrivateKey.pem -L 7001:<integrated145-service-weblogic Private IP>:7001 opc@<Bastion Public IP>ssh -i PrivateKey.pem -L 7004:<integrated145-service Private IP>:7004 opc@<Bastion Public IP>ssh -i PrivateKey.pem -L 7005:<integrated145-webservices Private IP>:7004 opc@<Bastion Public IP>Zugriff mit Ihrem lokalen Browser über die folgenden URLs:
-
http://localhost:7001/console
-
https://localhost:7004/FCJNeoWeb
-
http://localhost:7005/FCUBSAccService/FCUBSAccService? WSDL
-
-
-
Nachdem die IPs sichtbar sind, können Sie die Anwendung testen. Öffnen Sie Ihren Browser, und geben Sie Folgendes ein:
-
Für den WebLogic-Admin-Server:
http://<integrated145-service-weblogic IP>:7001/console -
Für den REST-Service:
https://<integrated145-service IP>:7004/FCJNeoWeb -
Für den SOAP-Service:
http://<integrated145-webservices>:7005/FCUBSAccService/FCUBSAccService?WSDLhttp://<integrated145-webservices>:7009
-
FLEXCUBE-Anwendung auf Port 7004

SOAP-Service auf Port 7005

Aufgabe 4: FLEXCUBE-Bereitstellung automatisieren
Führen Sie diese Aufgabe mit Visual Builder Studio aus. Dieses Tool ist Bestandteil von OCI und ähnelt Jenkins. Wenn Sie also Jenkins verwenden, können Sie CI/CD mit geringfügigen Anpassungen konfigurieren.
-
Erstellen Sie Ihren Termin für das FLEXCUBE Git-Projekt. Sie müssen das FLEXCUBE Git-Projekt in Ihrer Visual Builder Studio-(oder Jenkins-)Konfiguration konfigurieren.

-
Erstellen Sie zwei Variablen in der Pipeline.
-
JDBCString: Enthält die JDBC-Zeichenfolge. Beispiel:jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com -
JDBCPassword: Enthält ein AES256-Kennwortformat. Beispiel:{AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99
In Visual Builder können Sie die Variablen wie folgt erstellen:

-
-
Erstellen Sie die beiden folgenden Schritte in der Pipeline: OCI-CLI-Schritt: Verbindung mit dem Mandanten Ihres OKE-Clusters und UNIX Shell-Schritt erstellen: Deployment-Prozess muss ausgeführt werden.
-
Klicken Sie in der Jobkonfiguration in Visual Builder Studio auf Neu hinzufügen, und wählen Sie OCICli aus. Sie müssen die OCI-Parameter angeben, um Visual Builder Studio für den Betrieb mit Ihrem Mandanten und dem OKE-Cluster zu autorisieren.
- Benutzer-OCID
- Fingerprint: Konfigurieren Sie den Zugriff auf OCI CLI, und laden Sie einen Public Key hoch
- Mandanten-OCID
- Private Key: Das Private-Key-Paar Ihres hochgeladenen Public Keys in Fingerprint
- Region: Die Region Ihres OKE-Clusters
- Passphrase: Wenn Sie ein Kennwort in Ihrem Private Key haben
-
Klicken Sie auf Neu hinzufügen, und wählen Sie UNIX Shell aus. Fügen Sie dieses Skript in das Feld ein:
# Prepare for kubectl from OCI CLI mkdir -p $HOME/.kube oci ce cluster create-kubeconfig --cluster-id <OCID of your OKE Cluster> --file $HOME/.kube/config --region us-ashburn-1 --token-version 2.0.0 export KUBECONFIG=$HOME/.kube/config # Set Variables export JDBCString=$JDBCString export JDBCPassword=$JDBCPassword # setup the JDBC variables in integrated145-devops.yaml sed -i "s~--JDBCString--~$JDBCString~g" ./files/scripts/integrated145-devops.yaml sed -i "s~--JDBCPassword--~$JDBCPassword~g" ./files/scripts/integrated145-devops.yaml # Deploy integrated145 kubectl config view kubectl replace -f ./files/scripts/integrated145-devops.yaml --forceHinweis: Rufen Sie die OKE-OCID in Ihrem Mandanten ab, und fügen Sie die Zeile "oci ce cluster..." hinzu. Die Datei integrated145-devops.yaml ähnelt der Datei integrated145.yaml, ist jedoch für CI/CD vorbereitet.
In Visual Builder Studio werden die folgenden Details angezeigt:

-
-
Starten Sie die Pipeline, und warten Sie auf das Deployment. Mit dem folgenden Befehl können Sie die verfügbaren Services auflisten:
kubectl get svcNAME TYP CLUSTER-IP EXTERNE IP PORT (S) AGE integrated145-service LoadBalancer 10.x.x.x 210.x.x.x 7004:30868/TCP 200d integrated145-service-weblogic LoadBalancer 10.x.x.x 210.x.x.x 7001:32071/TCP 200d integrated145-webservices LoadBalancer 10.x.x.x 210.x.x.x 7005:30415/TCP 200d integrated145-webservices2 LoadBalancer 10.x.x.x 210.x.x.x 7009:30759/TCP 200d
Aufgabe 5: Datenbanktabellen aktualisieren, um Ihre FLEXCUBE-Instanz zu konfigurieren
-
Nachdem FLEXCUBE in Ihrem Kubernetes-Cluster aktiviert wurde und Sie mit anderen FSGBU-Anwendungen integrieren müssen, müssen Sie einige Aktualisierungen in der Datenbank vornehmen. Sie müssen die folgenden Tabellen so ändern, dass sie auf die korrekten Endpunkte Ihrer FLEXCUBE-Instanz verweisen:
TableName Ändern PMTM_EXT_NOTIF_SYSTEM REST_URL CSTM_PROP_MASTER SERVICE_URL IFTM_EXT_PAYSYS_DETAIL WSDL_URLS für OBLM IFTM_EXTERNAL_SERVICE_DETAILS REST_IP PMTM_EXTERNAL_ACC_SYSTEM RS_URL für OBVAM PMTM_ECA_SYSTEM RS_URL für OBVAM STTM_HOST_DSN Enthält Schemadetails, die nur für REPORTS verwendet werden und ignoriert werden können -
Wenn Sie den Hostnamen der Konfiguration ändern, müssen Sie auch den Hostnamen des Containers für die folgenden Tabellen aktualisieren:
TableName CSTM_EXTERNAL_SERVER_DETAILS PMTM_EXCHANGE_RATE_SYSTEM PMTM_FILE_ENV_SYSTEM PMTM_QUEUE_PROFILE PMTM_SANCTION_SYSTEM EIGENSCHAFTEN IFTM_TF_EXT_SERVICE_DETAILS GETH_BLOCK_EXT_SYS_DETAIL GETM_BLOCK_EXT_SYS_DETAIL CSTB_NGUI_REGISTRY IFTM_TF_EXT_PAYSYS_DETAIL IFTM_TR_EXT_SERVICE_DETAILS OLTM_INTEGRATION_DETAILS IFTM_TR_EXT_PAYSYS_DETAIL IFTM_INTEGRATION_DETAILS IFTM_TF_EXT_SERVICE_DETAILS
Aufgabe 6: FLEXCUBE-Bereitstellung löschen
-
Um das Deployment zu löschen, führen Sie den folgenden Befehl in Ihrem Terminal aus:
kubectl delete -f integrated145.yaml
Verwandte Links
Bestätigungen
- Autoren - Cristiano Hoshikawa (LAD A-Team Solution Engineer), Eduardo Farah (Master Principal Sales Consultant & Banking Architect)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem die Website education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Deploy Oracle FLEXCUBE on OKE
F77599-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.