Wie Sie Ihre Anwendungen auf Red Hat OpenShift bereitstellen 4.x
Im Folgenden wird beschrieben, wie Sie mit den Transformation Advisor migrationsartefakte verwendet werden, um Ihre Anwendungen in einem Liberty-Container und in einem OpenShift -Cluster bereitzustellen.
Sie können
Stellen Sie eine einzelne Anwendung in einem Liberty-Container bereit.
Stellen Sie mehrere Anwendungen aus einem Cluster oder einer Gruppe in einem Liberty-Container bereit.
Einzelne Anwendung implementieren
In diesem Abschnitt wird erläutert, wie eine einzelne Java-Anwendung unter Verwendung von Migrationsartefakten auf Liberty und OpenShift bereitgestellt werden kann.
Ein binäres Projekt
Im folgenden Abschnitt wird beschrieben, wie ein binärbasiertes Projekt in Red Hat™ OpenShiftimplementiert wird. Für das binäre Projekt werden Sie Binärdateien für die Anwendung und alle Abhängigkeiten bereitstellen.
Sie können Ihre Anwendung in drei Schritten migrieren. In diesem Dokument wird auf die folgenden Variablen verwiesen:
<BINARY_FILE_LOCATION>ist die Position der Binärdateien für Ihre Anwendung, einschließlich aller Abhängigkeiten und gemeinsam genutzten Bibliotheksdateien.<APPLICATION_FILE>ist die Binärdatei für Ihre Anwendung.<DEPENDENCY_FILE_LOCATION>ist die Position aller Abhängigkeiten und gemeinsam genutzten Bibliotheksdateien, die Ihre Anwendung erfordert.<APP_CONTEXT_ROOT>ist das Kontextstammverzeichnis für Ihre Anwendung. Wenn nicht anderweitig definiert, z. B. inibm-web-ext-xml, entspricht dies dem Attributnameim Elementapplicationder Dateiserver.xml.<APPLICATION_NAME>ist der Name der Anwendung.<CONTAINER_ID>ist die Container-ID für Ihr Docker-Image. Geben Sie "docker ps" ein, um diesen Wert abzurufen.<IMAGE_REFERENCE>ist die Referenz für dieses Image, einschließlich Registry, Repository und Tag, z. B. docker.io/myspace/myappimage:1.0.0<LIBERTY_HOME>ist die Position, an der Sie Liberty installiert haben.<LIBERTY_MACHINE>ist die Maschine, auf der Sie das Liberty-Profil installiert haben.<MIGRATION_ARTIFACTS_HOME>ist der Ort, an dem Sie die Artefakte entpackt Transformation Advisor artefakte entpackt oder das Repository geklont haben.<OCP_PROJECT>ist der Name des OpenShift -Projekts, in dem Sie die Anwendung installieren wollen.
SCHRITT 1: Java-Anwendung auf Liberty migrieren
In diesem Schritt migrieren Sie Ihre Anwendung auf einen lokalen Liberty-Server. Auf diese Weise können Sie überprüfen, ob Ihre Anwendung auf Liberty ordnungsgemäß funktioniert, und gegebenenfalls Änderungen an der Konfiguration vornehmen. Nachdem Sie anhand eines Tests festgestellt haben, dass Ihre Anwendung in Liberty funktioniert, können Sie einen Liberty-Container für Ihre Anwendung erstellen.
Schritt 1 Voraussetzungen
Eine Liberty-Installation
Sie können WebSphere Liberty hier erhalten.
Hinweis: Wenn Ihre Anwendung Java EE 6 Funktionen erfordert, benötigen Sie Websphere Liberty.Sie können Open Liberty hier erhalten.
Eine Kopie der Migrationsartefakte, die Sie von Transformation Advisor auf dem Rechner, auf dem Sie Liberty installiert haben.
Schritt 1 Aufgaben
Fügen Sie Ihre Anwendungsdatei zum Migrationspaket hinzu und entfernen Sie die Platzhalterdatei:
cp <BINARY_FILE_LOCATION>/<APPLICATION_FILE> <MIGRATION_ARTIFACTS_HOME>/target/ rm <MIGRATION_ARTIFACTS_HOME>/target/*.placeholderFügen Sie Ihre Abhängigkeitsdatei(en) dem Migrationspaket hinzu und entfernen Sie die Platzhalterdatei(en):
cp <DEPENDENCY_FILE_LOCATION>/* <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib rm <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib/*.placeholderHinweis: Die Platzhalterdateien enthalten den/die Namen aller Abhängigkeiten für Ihre Anwendung.Erstellen Sie einen Server in der Liberty-Installation, damit Ihre Anwendung ausgeführt werden kann:
cd <LIBERTY_HOME>/bin ./server create server1Wechseln Sie zu der Position Ihrer Migrationsartefakte und kopieren Sie die Binärdatei für die Anwendung (.ear/.war) aus dem Zielverzeichnis in das Verzeichnis 'Apps' von Liberty:
cd <MIGRATION_ARTIFACTS_HOME> cp target/*.war <LIBERTY_HOME>/usr/servers/server1/apps- Wenn es noch nicht existiert, erstellen Sie das Verzeichnis.
Kopieren Sie alle zusätzlichen Binärdateien vom Migrationsort an diesen Ort:<LIBERTY_HOME>/usr/shared/config/lib/globalmkdir -p <LIBERTY_HOME>/usr/shared/config/lib/global cp src/main/liberty/lib/* <LIBERTY_HOME>/usr/shared/config/lib/global Aktualisieren Sie den "
server.xml, falls erforderlich:Wenn Transformation Advisor die Datei
server.xmlfür das Migrations-Bundle erstellt, werden sensible Daten als Variablen am Ende der Dateiserver.xmlmit leeren Standardwerten extrahiert. Stellen Sie sicher, dass die Standardwerte der Variablen ordnungsgemäß festgelegt sind.Sind in dieser Datei zusätzliche Binärdateien aufgelistet, die Sie nicht benötigen, entfernen Sie alle Verweise auf diese Dateien.
Hinweis: Setzen Sie nur Standardwerte für die in der Dateiserver.xmldefinierten Variablen. Wenn der Wert in der Dateiserver.xmlfestgelegt ist, kann er während der Bereitstellung nicht überschrieben werden.Kopieren Sie den erzeugten "
server.xmlan die Stelle des standardmäßigen "server.xml:cp src/main/liberty/config/server.xml <LIBERTY_HOME>/usr/servers/server1/server.xmlStarten Sie den Liberty-Server:
<LIBERTY_HOME>/bin/server start server1Überprüfen Sie die Liberty-Protokolle, um sicherzustellen, dass Ihre Anwendung ordnungsgemäß gestartet wurde, und um die URL für den Zugriff zu ermitteln:
cd <LIBERTY_HOME>/usr/servers/server1/logs vi messages.logHinweis: Möglicherweise haben Sie inserver.xmlFunktionen definiert, die in Liberty nicht standardmäßig installiert sind. Diese werden im Protokoll aufgeführt. In diesem Fall installieren Sie die erforderlichen Funktionen mitbin/featureUtility.Wenn Sie ein
dataSourceElement in derserver.xmldefinieren, kann ein ähnliches Authentifizierungsproblem auftreten:invalid username/password; logon deniedWenn dieses Problem auftritt, müssen Sie möglicherweise den Standardwert für die in Ihren Datenquelleneigenschaften verwendeten Authentifizierungsdatenvariablen aktualisieren.
Überprüfen Sie, ob die Protokolle eine Zeile ähnlich dieser enthalten:
Der TCP-Kanal
defaultHttpEndpointwurde gestartet und wartet nun auf Anfragen an Host * ( IPv6 ) Port 9080.Wenn Sie dies nicht sehen, ist ein Problem beim Starten des Servers oder der Anwendung aufgetreten. Durchsuchen Sie die Protokolldatei nach weiteren Details und führen Sie ein entsprechendes Debugging durch.
Öffnen Sie Ihre Bewerbung im Browser, indem Sie den folgenden Link aufrufen:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Hinweis: Die Migrationsartefakte unterstützen Sie bei der Migration Ihrer Anwendung. Je nach Art und Komplexität Ihrer Anwendung kann eine zusätzliche Konfiguration erforderlich sein, um diese Task vollständig ausführen zu können. So kann es beispielsweise erforderlich sein, zusätzliche Konfigurationen vorzunehmen, um Ihre Anwendung mit einer Benutzerregistrierung zu verbinden oder um Sicherheitsrollenbindungen für Benutzer zu konfigurieren. Weitere Informationen finden Sie in der Produktdokumentation.
SCHRITT 2: Liberty containerisieren
In diesem Schritt containerisieren Sie Ihre funktionierende Liberty-Installation. Sie werden ein Liberty-Image erstellen, auf dem Ihre migrierte Anwendung installiert ist und funktioniert, und anschließend das Image testen, um zu bestätigen, dass es ordnungsgemäß funktioniert.
Schritt 2 Voraussetzungen
Sie haben Schritt 1 (Java-Anwendung auf Liberty migrieren) abgeschlossen.
Docker oder Podman ist installiert.
Herunterladen Docker : https://www.docker.com/get-started
Herunterladen podman: https://podman.io/getting-started/installation
Die Maschine, auf der Sie diese Task ausführen, benötigt Zugriff auf das Internet, um das Liberty-Basisimage herunterzuladen.
Schritt 2 Aufgaben
Stoppen Sie den Liberty-Server, sofern er aktiv ist, um sicherzustellen, dass die erforderlichen Ports verfügbar sind:
<LIBERTY_HOME>/bin/server stop server1Wenn Sie Docker verwenden, stellen Sie sicher, dass der Docker-Service aktiv ist. Wenn nicht, starten Sie ihn:
service docker startGehen Sie zu dem Ort, an dem sich Ihre Migrationsartefakte befinden, und erstellen Sie Ihr Image aus der Dockerdatei:
cd <MIGRATION_ARTIFACTS_HOME> docker build --no-cache -t "<IMAGE_REFERENCE>" -f Containerfile .Das Migrationspaket enthält eine
pom.xmlDatei, mit der die Anwendung und alle Abhängigkeiten von Maven gezogen werden können. Sie müssen diese Option inContainerfileaktivieren und die Platzhalter in der Dateipom.xmlmit den richtigen Werten aktualisieren.Hinweis: Die Details zu dieser Vorgehensweise finden Sie im Abschnitt Abhängigkeiten mit Maven hinzufügen.Führen Sie das Image aus und stellen Sie sicher, dass es ordnungsgemäß funktioniert:
docker run -p 9080:9080 <IMAGE_REFERENCE>Wenn alles gut aussieht, wurde das Image gestartet und dem Port 9080 zugeordnet. Sie können sie über diesen Link in Ihrem Browser aufrufen:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Optional : Überprüfen Sie Ihr Image, sobald es läuft, indem Sie sich in den Container einloggen:
docker exec -ti <CONTAINER_ID> bashAuf diese Weise können Sie das Dateisystem des Containers durchsuchen, in dem Ihre Anwendung ausgeführt wird.
SCHRITT 3: Image in Red Hat OpenShift bereitstellen
In diesem Schritt implementieren Sie das erstellte Image in Red Hat OpenShift. Diese Anweisungen beziehen sich auf OpenShift 4 + und wurden in OpenShift 4.12validiert.
Schritt 3 Voraussetzungen
Zugriff auf eine öffentliche oder private Red Hat OpenShift-Umgebung mit Version 4+.
Zugriff auf die Image-Registry
Sie müssen das Image Ihrer migrierten Anwendung per Push-Operation an eine Position übertragen, auf die der OpenShift-Cluster zugreifen kann. Sie können eine öffentlich zugängliche Registry (z.B. Dockerhub) oder Ihre eigene private Registry verwenden. Die Migrationsartefakte, die von Transformation Advisor erzeugten Migrationsartefakte (insbesondere die Datei application-cr.yaml ) müssen mit der von Ihnen verwendeten Bildreferenz aktualisiert werden. Wenn Sie keine geeignete Registrierung zur Verfügung haben, können Sie in Dockerhub oder Podman eine eigene Registrierung erstellen, die Sie verwenden können, bis eine geeignete Registrierung gefunden ist.
Eine Kopie der Migrationsartefakte, die Sie von Transformation Advisor auf dem Rechner, auf dem Sie Liberty installiert haben.
WebSphere Liberty Operator oder Open Liberty Operator
Damit Sie Ihre Anwendung auf " WebSphere Liberty auf " OpenShift, einsetzen können, müssen Sie zunächst den Operator " WebSphere Liberty auf Ihrem Cluster installiert haben.
WebSphere Liberty Operator ist im IBM Operatorkatalog verfügbar. Zu den Operatoren wechseln ...OperatorHub -Benutzerschnittstelle und klicken Sie auf IBM Operator Catalog
Source. Sie können die Suche verwenden, um den Operator WebSphere Liberty schnell zu finden.Klicken Sie auf die Operatorbenutzerschnittstelle von WebSphere Liberty und befolgen Sie die Installationsanweisungen.
Sie haben die Möglichkeit, den Operator clusterweit zu installieren, der in der Lage ist, WebSphere Liberty -Anwendungen in allen Namensbereichen zu installieren, oder Sie können den Operator in einem bestimmten Namensbereich installieren. Wählen Sie je nach Vorgabe eine der beiden Optionen aus.
Ausführliche Informationen über den Operator WebSphere Liberty finden Sie in der Dokumentation hier.
Einzelheiten zur Installation des IBM Operator Catalog finden Sie in der Dokumentation hier.
Um Unterstützung für Ihre Anwendung zu erhalten, die auf Open Liberty auf OpenShift, bereitgestellt wird, müssen Sie die Pods mit WebSphere Produktannotationen versehen. Weitere Informationen finden Sie unter Tracking Liberty-Lizenznutzung in Kubernetes
Für die Bereitstellung von Open Liberty benötigen Sie den Betreiber von Open Liberty, der die Bereitstellung vornimmt.
Sie müssen zuerst den Operator Open Liberty in Ihrem Cluster installiert haben.
Der Operator Open Liberty ist im zertifizierten Katalog verfügbar. Zu den Operatoren wechseln ...OperatorHub -Benutzerschnittstelle und klicken Sie auf Zertifiziert
Source. Mithilfe der Suchfunktion können Sie den Open Liberty-Operator rasch finden.Klicken Sie auf die Benutzerschnittstelle für den Open Liberty-Operator und führen Sie die Installation gemäß den Anweisungen durch.
Sie haben die Möglichkeit, den Operator clusterweit zu installieren, wodurch Open Liberty-Anwendungen übergreifend in allen Namensbereich installiert werden können, ODER Sie können den Operator optional in einem bestimmten Namensbereich installieren. Wählen Sie je nach Vorgabe eine der beiden Optionen aus.
Ausführliche Informationen über den Operator Open Liberty finden Sie in der Dokumentation hier.
Schritt 3 Aufgaben
Übertragen Sie das Anwendungsimage per Push-Operation an eine Registry, auf die der OpenShift-Cluster zugreifen kann. Beispiel:
docker push <IMAGE_REFERENCE>wobei
<IMAGE_REFERENCE>die Bildreferenz ist, mit der Sie das Bild bei der Erstellung gekennzeichnet haben, z. B.docker.io/myspace/myappimage:1.0.0.Hinweis: Möglicherweise müssen Sie sich bei dieser Bildregistrierung anmelden, um den Push-Vorgang erfolgreich durchführen zu können. Wenn Ihre Registry authentifizierte Pull-Operationen erfordert, müssen Sie Ihren Cluster mit einem geheimen Schlüssel für Pull-Operationen einrichten. Weitere Informationen finden Sie in der Dokumentation OpenShift.Melden Sie sich beim OpenShift-Cluster an und erstellen Sie ein neues Projekt in OpenShift.
oc login -u <USER_NAME>Wenn Sie beim Installieren des Liberty-Operators noch keinen Namensbereich erstellt haben, erstellen Sie jetzt einen.
oc new-project <OCP_PROJECT>Stellen Sie Ihr Image mit dem zugehörigen Operator bereit. Gehen Sie dazu gemäß den folgenden Anweisungen vor:
Wechseln Sie in das Verzeichnis kustomize unter
<MIGRATION_ARTIFACTS_HOME>:cd <MIGRATION_ARTIFACTS_HOME>/deploy/kustomize- Aktualisieren Sie die IMAGE_REFERENCE in der Datei
base/application-cr.yamlso, dass sie mit der Referenz auf das Anwendungsbild übereinstimmt, die Sie in Aufgabe 1 hinzugefügt haben. - Prüfen Sie, ob die in der Datei
base/<APPLICATION_NAME>-configmap.yamldefinierten Werte alle korrekt sind. - Aktualisieren Sie die Datei
overlays/dev/<APPLICATION_NAME>-secret.yaml, um den Wert für die sensiblen Daten hinzuzufügen. Der Wert mussbase64kodiert sein. Sie können den Befehlecho -n 'your-secret-password' | base64aufrufen, um die verschlüsselte Zeichenfolge für Ihre sensiblen Daten zu erhalten. - Erstellen Sie die benutzerdefinierte Ressource (CR) für Ihre Liberty-Anwendung mit dem Befehl
apply -k, um ein Verzeichnis mitkustomization.yamlanzugeben:oc apply -k overlays/dev - Sie können den Status Ihrer Implementierung durch Ausführung von oc get deployments anzeigen. Wenn Sie den Status nach ein paar Minuten nicht sehen, fragen Sie die Pods ab und holen Sie dann die Liberty-Pod-Protokolle:
oc get pods oc logs <pod> - Sie können nun auf Ihre Anwendung zugreifen, indem Sie in OpenShift zur Benutzeroberfläche
Networking...Routesnavigieren und den Namespace auswählen, in dem Sie die Anwendung bereitgestellt haben.
- Optional : Wenn Sie Ihre Anwendung von OpenShift, löschen möchten, können Sie sie über die Benutzeroberfläche OpenShift deinstallieren. Navigieren Sie zu
Operators...Installed operatorsin OpenShift, um den Liberty-Operator zu finden. Klicken Sie auf die RegisterkarteAll instances, um Ihre Anwendungsinstanz zu finden, und deinstallieren Sie sie bei Bedarf.
Abhängigkeiten mit Maven hinzufügen
Übersicht
Das Migrationspaket enthält eine pom.xml Datei, mit der die Anwendung und alle Abhängigkeiten von Maven gezogen werden können. Sie müssen diese Option in Containerfile aktivieren und die Platzhalter in der Datei pom.xml mit den richtigen Werten aktualisieren.
-Tasks
Zum Migrationspaket navigieren
cd <MIGRATION_ARTIFACTS_HOME>Bearbeiten Sie die Datei
pom.xmlund aktualisieren Sie die Platzhalterwerte mit den entsprechenden Werten:Legen Sie die korrekten Werte für das Element
<dependency>festStellen Sie die richtigen Werte für jedes der
<artifactItem>Elemente ein
Bearbeiten Sie die
Containerfileso, dass die Abhängigkeiten während der Erstellung des Images berücksichtigt werden.Entfernen Sie das Kommentarzeichen aus der Zeile
RUN mvn -X initialize process-resources verify.
Quellenprojekt
Übersicht
Wenn Sie eine Anwendung migrieren, müssen Sie häufig Änderungen am Quellcode vornehmen, um eine erfolgreiche Migration auf die neue Zielplattform sicherzustellen. Die genaue Art der Änderungen variiert von Anwendung zu Anwendung. Transformation Advisor berichtet über die Änderungen, die für jede einzelne Anwendung erforderlich sind, und stuft Anwendungen, die Codeänderungen erfordern, als moderat oder komplex ein. Um genau festzustellen, wo diese Änderungen im Code vorgenommen werden müssen, können Sie das Plugin WebSphere Application Migration Toolkit (WAMT) Eclipse verwenden. Das Tool kann auch mögliche Korrekturen vorschlagen. Unter diesem Link finden Sie weitere Einzelheiten: https://developer.ibm.com/wasdev/downloads/#asset/tools-WebSphere_Application_Server_Migration_Toolkit.
Die folgenden Tasks helfen beim Erstellen des Quellcodes für ein Image.
-Tasks
Zum Migrationspaket navigieren
cd <MIGRATION_ARTIFACTS_HOME>Bearbeiten Sie die Datei
pom.xmlund aktualisieren oder löschen Sie die Platzhalterwerte mit den entsprechenden Werten:Legen Sie die korrekten Werte für das Element
<dependency>festStellen Sie die richtigen Werte für jedes der
<artifactItem>Elemente ein
Aktualisieren Sie die Datei
pom.xml, um die Anwendung nach Ihren Vorgaben zu erstellenWenn Sie bereits eine
pom.xmlfür Ihre Anwendung haben, können Sie diese verwenden oder mit dem Migrationspaketpom.xmlzusammenführen, je nach Bedarf.
Bearbeiten Sie die
Containerfileso, dass der Quellcode während der Erstellung des Images erstellt wird.Entfernen Sie das Kommentarzeichen aus der Zeile
RUN mvn clean package.
Bereitstellung eines Clusters oder einer Gruppe von Anwendungen
In diesem Abschnitt wird beschrieben, wie Sie das Migrationspaket für ein Cluster oder eine Gruppe verwenden, um mehrere Anwendungen in einem einzelnen Liberty-Container bereitzustellen. Sie können jede Anwendung zunächst einzeln migrieren und sie dann in einer einzigen Bereitstellung zusammenführen oder sie in einem ersten Schritt alle auf einmal bereitstellen.
Wenn Sie einen Cluster migrieren, ist es unwahrscheinlich, dass eine Kollision zwischen den Komponenten Ihrer Anwendungen auftritt. In diesem Fall ist der Ansatz "Alle Anwendungen auf einmal" der schnellste Ansatz für die Migration Ihres Clusters.
Wenn Sie eine Gruppe migrieren, ist es wahrscheinlicher, dass bei der gemeinsamen Implementierung der Anwendungen eine Featurekollision auftritt, da die Anwendungen zuvor möglicherweise nicht zusammen ausgeführt wurden. Es wird empfohlen, den Ansatz "Alle Anwendungen auf einmal" zu wählen, aber wenn Sie auf Probleme stoßen, empfiehlt es sich, den Ansatz " Anwendung für Anwendung " zu wählen, um diese zu lösen.
Alle Anwendungen auf einmal
Sie können alle Anwendungen in drei Schritten migrieren. In diesem Dokument wird auf die folgenden Variablen verwiesen:
<APP_CONTEXT_ROOT>ist das Kontextstammverzeichnis für Ihre Anwendung. Wenn nicht anderweitig definiert, z. B. inibm-web-ext-xml, entspricht dies dem Attributnameim Element<application>der Dateiserver.xml.<APPLICATION_NAME>ist der Name der Anwendung.<MIGRATION_ARTIFACTS_HOME>ist der Ort, an dem Sie die Artefakte entpackt Transformation Advisor artefakte entpackt oder das Repository geklont haben.<IMAGE_REFERENCE>ist die Referenz für dieses Bild, einschließlich der Registrierung, des Repository und des Tags, z. B.docker.io/myspace/myappimage:1.0.0.
SCHRITT 1: Anwendungen und Abhängigkeitsdateien zusammenstellen und Konfiguration aktualisieren
In diesem Schritt stellen Sie Ihre Anwendungsdateien und alle Abhängigkeiten zusammen und aktualisieren die Konfigurationsdateien.
Schritt 1 Aufgaben
Fügen Sie Ihre Anwendungsdatei (en) zum Migrationsbundle hinzu und entfernen Sie die Platzhalterdateien:
cp <BINARY_FILE_LOCATION>/<APPLICATION_FILE> <MIGRATION_ARTIFACTS_HOME>/target/ rm <MIGRATION_ARTIFACTS_HOME>/target/*.placeholderFügen Sie Ihre Abhängigkeitsdatei(en) dem Migrationspaket hinzu und entfernen Sie die Platzhalterdatei(en):
cp <DEPENDENCY_FILE_LOCATION>/* <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib rm <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib/*.placeholderDie Platzhalterdateien enthalten den/die Namen aller Abhängigkeiten für Ihre Anwendung.
Hinweis: Wenn Sie Maven verwenden, um Ihre Anwendung und Abhängigkeiten zu importieren, können Sie die Aufgaben 1 und 2 dieses Schrittes überspringen.Aktualisieren Sie ggf. alle "
server.xml-Dateien der Anwendung:Die Datei
server.xmlunter<MIGRATION_ARTIFACTS_HOME>/src/main/liberty/configenthält eine Reihe von Includes, die die Dateienserver.xmlfür jede Anwendung einschließen.Die Dateien der Anwendung
server.xmlfinden Sie an folgenden Stellen:<MIGRATION_ARTIFACTS_HOME>/apps/<APPLICATION_NAME>/src/main/liberty/config.Der Name der Datei
server.xmlfür jeden Antrag lautet<APPLICATION_NAME>_server_config.xml.Ändern Sie jede
server.xmlDatei, indem Sie Standardwerte für alle sensiblen Daten eingeben, die Transformation Advisor entfernt wurden.Wenn in der Datei "
server.xmlzusätzliche Binärdateien aufgeführt sind, die Sie nicht benötigen, entfernen Sie alle Verweise auf diese.
Hinweis: Setzen Sie nur Standardwerte für die in der Dateiserver.xmldefinierten Variablen. Wenn der Wert in der Dateiserver.xmlfestgelegt ist, kann er während der Bereitstellung nicht überschrieben werden.
SCHRITT 2: Alle Anwendungen in Liberty containerisieren
In diesem Schritt containerisieren Sie Ihre funktionierende Liberty-Installation. Sie erstellen ein Liberty-Image, in dem alle migrierten Anwendungen installiert und funktionsfähig sind, und testen anschließend das Image, um sicherzustellen, dass es ordnungsgemäß funktioniert.
Schritt 2 Voraussetzungen
Sie haben Schritt 1 abgeschlossen: Sammeln Sie Anwendungen und Abhängigkeitsdateien und aktualisieren Sie die Konfiguration.
Docker oder Podman ist installiert.
Herunterladen Docker : https://www.docker.com/get-started
Herunterladen podman: https://podman.io/getting-started/installation
Die Maschine, auf der Sie diese Task ausführen, benötigt Zugriff auf das Internet, um das Liberty-Basisimage herunterzuladen.
Schritt 2 Aufgaben
Wenn Sie Docker verwenden, stellen Sie sicher, dass der Docker-Service aktiv ist. Wenn das nicht der Fall ist, starten Sie es:
service docker startGehen Sie zu dem Ort, an dem sich Ihre Migrationsartefakte befinden, und erstellen Sie Ihr Image aus der
Dockerfile:cd <MIGRATION_ARTIFACTS_HOME> docker build --no-cache -t "<IMAGE_REFERENCE>" -f Containerfile .Hinweis: Das Migrationspaket enthält einepom.xmlDatei, mit der die Anwendung und alle Abhängigkeiten von Maven gezogen werden können. Sie müssen diese Option inContainerfileaktivieren und die Platzhalter in der Dateipom.xmlmit den richtigen Werten aktualisieren. Die Details dazu finden Sie im Abschnitt Abhängigkeiten mit Maven hinzufügen.Führen Sie das Image aus und stellen Sie sicher, dass es ordnungsgemäß funktioniert:
docker run -p 9080:9080 <IMAGE_REFERENCE>Wenn alles gut aussieht, wurde das Image gestartet und auf den Port
9080abgebildet. Sie können sie über diesen Link in Ihrem Browser aufrufen:http://<LIBERTY_HOME_MACHINE_IP>:9080/>Jede Bewerbung ist erhältlich unter:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Optional : Überprüfen Sie Ihr Image, sobald es läuft, indem Sie sich in den Container einloggen:
docker exec -ti <CONTAINER_ID> bashDadurch können Sie das Dateisystem des Containers durchsuchen, in dem Ihre Anwendungen ausgeführt werden.
SCHRITT 3: Verteilen Sie Ihr Image mit allen Anwendungen auf Red Hat OpenShift
In diesem Schritt implementieren Sie das erstellte Image in Red Hat OpenShift. Diese Anweisungen beziehen sich auf OpenShift 4 + und wurden in OpenShift 4.12validiert. Führen Sie die gleichen Schritte aus, als ob Ihr Bild eine einzige Anwendung hätte - siehe hier.
Ein binäres Projekt-Anwendung nach Anwendung
Bei diesem Ansatz werden Sie jede Anwendung einzeln konfigurieren, containerisieren und bereitstellen und sie dann gemeinsam einsetzen.
Tasks
Führen Sie die Schritte für die Bereitstellung einer einzelnen Anwendung für jede Anwendung aus.
cd <MIGRATION_ARTIFACTS_HOME>/appsJede Anwendung einzeln bereitstellen
Verteilen Sie nun alle Anwendungen zusammen, indem Sie diese Schritte befolgen.
Hinweis: Wenn Sie Anwendungen gemeinsam einsetzen, kann es zu einem Funktionskonflikt kommen. In diesem Fall müssen Sie entweder die Anwendungen, die den Konflikt verursachen, in eine andere Bereitstellung verschieben oder die Anwendungen so aktualisieren, dass sie keine widersprüchlichen Funktionen mehr benötigen.
Verwaltung von Schlüsselspeichern während der Bereitstellung
When deploying to OpenShift, if your application is configured to use non default keystores then the default route will not work without configuration changes.
Keystores in einem Container konfigurieren
Transformation Advisor migriert die Keystore-Informationen im Migrationspaket nicht automatisch. Bei der Ausführung in einem Container mit dem Standard Containerfile , der von Transformation Advisor erzeugt wird, gibt der Liberty-Server Meldungen aus, die darauf hinweisen, dass die nicht standardmäßigen Keystore-Dateien nicht gefunden werden können.
Anweisungen zum Konfigurieren von Keystores im Liberty-Server finden Sie in der Liberty -Dokumentation „Konfigurieren der Sicherheit“.
Keystores in einer OpenShift -Implementierung konfigurieren
Bei der Implementierung in OpenShift können Sie den Liberty-Operator verwenden, um alle erforderlichen Zertifikate zu generieren, oder eigene Zertifikate verwenden.
Verwendung des Liberty Operators zur Erzeugung von Zertifikaten
Führen Sie die folgenden Schritte aus, um mit dem Liberty Operator die Zertifikate für Ihre Anwendung zu erstellen.
Ändern Sie die Datei
server.xmlund entfernen Sie alle<keystore>-Attribute.Erstellen und implementieren Sie das Image wie gewohnt.
In diesem Fall wird die gesamte Zertifizierungsgenerierung und das Keystore-Management vom Operator abgewickelt. Weitere Einzelheiten hierzu finden Sie in der Liberty-Dokumentation.
Verwendung Ihres eigenen Zertifikats und Keystores in OpenShift
Sie können Ihre Implementierung für die Verwendung eigener Zertifikate konfigurieren und die Sicherheit selbst verwalten. Weitere Einzelheiten hierzu finden Sie in der Liberty-Dokumentation zur Angabe von Zertifikaten.