Jak wdrożyć aplikacje w systemie Red Hat ™ OpenShift 4.x
Poniżej opisano sposób użycia artefaktów migracji produktu Transformation Advisor w celu wdrożenia aplikacji w kontenerze Liberty i w klastrze OpenShift .
Istnieje możliwość:
Jak wdrożyć pojedynczą aplikację
Projekt binarny
W poniższej sekcji opisano sposób wdrażania projektu binarnego w systemie Red Hat™ OpenShift. W przypadku projektu binarnego należy udostępnić pliki binarne dla aplikacji i wszystkich zależności.
Migrację aplikacji można przeprowadzić w trzech krokach. W niniejszym dokumencie odwołujemy się do następujących zmiennych:
<BINARY_FILE_LOCATION>to położenie plików binarnych aplikacji, w tym zależności i plików bibliotek współużytkowanych.<APPLICATION_FILE>to plik binarny aplikacji.<DEPENDENCY_FILE_LOCATION>to położenie wszystkich zależności i plików bibliotek współużytkowanych wymaganych przez aplikację.<APP_CONTEXT_ROOT>jest kontekstowym katalogiem głównym aplikacji. Jeśli ten atrybut nie jest zdefiniowany w innym miejscu, na przykład w pliku ibm-web-ext-xml, odpowiada atrybutowinamew elemencie<application>pliku server.xml.<APPLICATION_NAME>jest nazwą aplikacji.<CONTAINER_ID>jest identyfikatorem kontenera dla obrazu Docker. Aby uzyskać tę wartość, wpisz: docker ps<IMAGE_REFERENCE>jest odwołaniem do tego obrazu, w tym rejestru, repozytorium i znacznika, np. docker.io/myspace/myappimage:1.0.0<LIBERTY_HOME>jest miejscem, w którym zainstalowano serwer Liberty.<LIBERTY_MACHINE>to komputer, na którym zainstalowano profil Liberty.<MIGRATION_ARTIFACTS_HOME>to położenie, w którym rozpakowano artefakty produktu Transformation Advisor lub sklonowano repozytorium.<OCP_PROJECT>to nazwa projektu OpenShift , w którym ma zostać zainstalowana aplikacja.
KROK PIERWSZY: Migracja aplikacji Java do serwera Liberty
W tym kroku zostanie przeprowadzona migracja aplikacji do lokalnego serwera Liberty. Pozwoli to na sprawdzenie, czy aplikacja działa poprawnie na serwerze Liberty, i w razie potrzeby wprowadzenie zmian w konfiguracji. Po potwierdzeniu, że aplikacja działa na serwerze Liberty, można będzie utworzyć kontener Liberty dla aplikacji.
Krok 1 Wymagania wstępne
- Instalacja serwera Liberty
- WebSphere Liberty można uzyskać tutaj: https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_inst.html
Uwaga: jeśli aplikacja wymaga składników Java EE6, potrzebny będzie Websphere Liberty - Open Liberty można uzyskać tutaj:
https://openliberty.io/
- WebSphere Liberty można uzyskać tutaj: https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_inst.html
- Kopia artefaktów migracji pobranych z programu Transformation Advisor dostępna na komputerze, na którym zainstalowano serwer Liberty.
Krok 1-zadania
- Dodaj plik aplikacji do pakunku migracji i usuń plik zastępczy:
cp <BINARY_FILE_LOCATION>/<APPLICATION_FILE> <MIGRATION_ARTIFACTS_HOME>/target/
rm <MIGRATION_ARTIFACTS_HOME>/target/*.placeholder
- Dodaj pliki zależności do pakunku migracji i usuń pliki zastępcze:
cp <DEPENDENCY_FILE_LOCATION>/* <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib
rm <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib/*.placeholder
NOTE: The placeholder files provide the name(s) of all depednecies for your application
- Aby uruchomić aplikację, utwórz serwer w instalacji serwera Liberty:
cd <LIBERTY_HOME>/bin
./server create server1
- Przejdź do położenia artefaktów migracji i skopiuj plik binarny aplikacji (ear/war) z katalogu docelowego do katalogu apps serwera Liberty:
cd <MIGRATION_ARTIFACTS_HOME>
cp target/*.war <LIBERTY_HOME>/usr/servers/server1/apps
- Utwórz ten katalog, jeśli jeszcze nie istnieje
<LIBERTY_HOME>/usr/shared/config/lib/global
i skopiuj wszystkie dodatkowe pliki binarne z miejsca migracji do tej lokalizacji:
mkdir -p <LIBERTY_HOME>/usr/shared/config/lib/global
cp src/main/liberty/lib/* <LIBERTY_HOME>/usr/shared/config/lib/global
- W razie potrzeby zaktualizuj plik server.xml:
- Gdy program Transformation Advisor tworzy plik server.xml dla pakunku migracji, dane poufne są wyodrębniane jako zmienne na końcu pliku
server.xmlz pustymi wartościami domyślnymi. Upewnij się, że wartości domyślne zmiennych są odpowiednio ustawione. - Jeśli w tym pliku są wymienione dodatkowe, niepotrzebne pliki binarne, usuń wszystkie odwołania do nich.
- Gdy program Transformation Advisor tworzy plik server.xml dla pakunku migracji, dane poufne są wyodrębniane jako zmienne na końcu pliku
UWAGA: Ustaw tylko wartość domyślną dla zmiennych zdefiniowanych w pliku server.xml . Jeśli wartość jest ustawiona w pliku server.xml , nie można jej nadpisać w czasie wdrażania.
- Skopiuj wygenerowany plik server.xml na miejsce, zastępując domyślny plik server.xml:
cp src/main/liberty/config/server.xml <LIBERTY_HOME>/usr/servers/server1/server.xml
- Uruchom serwer Liberty:
<LIBERTY_HOME>/bin/server start server1
- Przejrzyj dzienniki serwera Liberty, aby upewnić się, że aplikacja została poprawnie uruchomiona i aby znaleźć adres URL umożliwiający uzyskanie dostępu:
cd <LIBERTY_HOME>/usr/servers/server1/logs
vi messages.log
UWAGA: W produkcie server.xml mogą być zdefiniowane składniki, które nie są domyślnie instalowane na serwerze Liberty. Zostaną one wyświetlone w dzienniku. W takim przypadku należy zainstalować niezbędne składniki przy użyciu programu bin/featureUtility .
UWAGA: jeśli w pliku server.xmlzostanie zdefiniowany element <dataSource> , może wystąpić problem z uwierzytelnianiem podobny do następującego: invalid username/password; logon denied
W przypadku wystąpienia tego problemu może być konieczne zaktualizowanie wartości domyślnej dla zmiennych danych uwierzytelniania używanych we właściwościach źródła danych.
- Sprawdź, czy dzienniki zawierają wiersz podobny do następującego: TCP Channel defaultHttpEndpoint has been started and is now listening for requests on host * (IPv6) port 9080 Brak takiego wiersza oznacza potencjalny problem z uruchomieniem serwera lub aplikacji. Wyszukaj szczegółowe informacje w pliku dziennika i przeprowadź odpowiednie debugowanie.
- Otwórz aplikację w przeglądarce, korzystając z następującego odsyłacza:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>
UWAGA: Artefakty migracji ułatwiają migrację aplikacji. W zależności od rodzaju i złożoności aplikacji może być wymagane wykonanie dodatkowych czynności konfiguracyjnych w celu ukończenia tego zadania. Na przykład może być konieczne wykonanie dodatkowych czynności konfiguracyjnych w celu połączenia aplikacji z rejestrem użytkowników, a także skonfigurowania powiązań roli zabezpieczeń użytkownika. Więcej informacji na ten temat zawiera dokumentacja programu.
KROK DRUGI: Konteneryzacja serwera Liberty
W tym kroku zostanie skonteneryzowana robocza instalacja serwera Liberty. Utworzymy obraz Liberty z zainstalowaną i działającą zmigrowaną aplikacją, a następnie przetestujemy obraz, aby potwierdzić, że działa poprawnie.
NOTE: If you are using podman instead of docker simply replace the word docker in each command with podman
Krok 2 Wymagania wstępne
- Wykonano krok 1: Migracja aplikacji Java do serwera Liberty
- Zainstalowany jest system Docker lub podman.
- Pobierz Docker: https://www.docker.com/get-started
- Pobierz podman: https://podman.io/getting-started/installation
- Komputer, na którym wykonywane jest to zadanie, musi mieć dostęp do Internetu w celu pobrania obrazu podstawowego serwera Liberty.
Krok 2-zadania
- Zatrzymaj serwer Liberty, jeśli jest uruchomiony, aby dostępne były niezbędne porty:
<LIBERTY_HOME>/bin/server stop server1
- Jeśli używany jest docker, upewnij się, że usługa docker jest uruchomiona. Jeśli nie, uruchom go:
service docker start
- Przejdź do miejsca, w którym znajdują się artefakty migracji, a następnie zbuduj obraz z pliku docker:
cd <MIGRATION_ARTIFACTS_HOME>
docker build --no-cache -t "<IMAGE_REFERENCE>" .
Uwaga: Pakunek migracji zawiera plik pom.xml , który umożliwia wyciąganie aplikacji i wszystkich zależności z narzędzia Maven. Należy włączyć tę opcję w pliku Dockerfile i zaktualizować obiekty zastępcze w pliku pom.xml przy użyciu poprawnych wartości. Szczegółowe informacje na ten temat można znaleźć w sekcjiDodawanie zależności przy użyciu narzędzia Maven.
- Uruchom obraz i potwierdź, że działa poprawnie:
docker run -p 9080:9080 <IMAGE_REFERENCE>
- Jeśli wszystko przebiegło pomyślnie, obraz zostanie uruchomiony i odwzorowany na port 9080. Dostęp do niego można uzyskać z poziomu przeglądarki, korzystając z następującego odsyłacza:
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Opcjonalnie: Sprawdź obraz, gdy jest on zainstalowany i skonfigurowany, logując się do kontenera:
docker exec -ti <CONTAINER_ID> bash
Pozwoli to na przeglądanie systemu plików kontenera, w którym działa aplikacja.
KROK TRZECI: Wdróż obraz w systemie Red Hat OpenShift
W tym kroku utworzony obraz wdrożymy na platformie Red Hat OpenShift. Te instrukcje odnoszą się do platformy OpenShift 4 + i zostały sprawdzone w systemie OpenShift 4.12.
Krok 3 Wymagania wstępne
- Uzyskaj dostęp do publicznego lub prywatnego środowiska Red Hat OpenShift w wersji 4 lub nowszej.
- Dostęp do rejestru obrazów
- Konieczne będzie wypchnięcie zmigrowanego obrazu aplikacji do miejsca, które jest dostępne dla klastra OpenShift. Można użyć rejestru dostępnego publicznie (np. Dockerhub) lub własnego rejestru prywatnego. Artefakty migracji wygenerowane przez program Transformation Advisor (w szczególności plik application-cr.yaml) muszą zostać zaktualizowane poprzez dodanie odwołania do używanego obrazu. Jeśli nie jest dostępny odpowiedni rejestr, można utworzyć własny rejestr w Dockerhub lub w Podman , który będzie używany do czasu znalezienia odpowiedniego rejestru.
- Kopia artefaktów migracji pobranych z programu Transformation Advisor dostępna na komputerze, na którym zainstalowano serwer Liberty.
- Operator WebSphere Liberty lub operator Open Liberty
- Aby wdrożyć aplikację na serwerze WebSphere Liberty na platformie OpenShift, należy najpierw zainstalować w klastrze operator WebSphere Liberty .
- Operator WebSphere Liberty jest dostępny w katalogu IBM Operator Catalog. Przejdź do Operatorów ...Interfejs użytkownika OperatorHub i kliknij katalog IBM Operator Catalog
Source. Wyszukiwanie umożliwia szybkie znalezienie operatora WebSphere Liberty . - Kliknij interfejs operatora serwera WebSphere Liberty i postępuj zgodnie z instrukcjami, aby go zainstalować.
- Dostępna będzie opcja zainstalowania w całym klastrze operatorów, która będzie obsługiwać instalowanie aplikacji WebSphere Liberty we wszystkich przestrzeniach nazw, LUB można wybrać instalację operatora w danej przestrzeni nazw. Wybierz jedną z opcji w zależności od preferencji.
- Szczegółowe informacje na temat operatora WebSphere Liberty można znaleźć w dokumentacji tutaj.
- Szczegółowe informacje na temat instalowania produktu IBM Operator Catalog można znaleźć w dokumentacji tutaj.
- Operator WebSphere Liberty jest dostępny w katalogu IBM Operator Catalog. Przejdź do Operatorów ...Interfejs użytkownika OperatorHub i kliknij katalog IBM Operator Catalog
- Aby wdrożyć aplikację na serwerze Open Liberty na platformie OpenShift, należy najpierw zainstalować w klastrze operator Open Liberty .
- Operator Open Liberty jest dostępny w certyfikowanym katalogu. Przejdź do Operatorów ...Interfejs użytkownika OperatorHub i kliknij opcję Certyfikowane
Source. W celu szybkiego znalezienia operatora Open Liberty można użyć funkcji wyszukiwania. - Kliknij interfejs użytkownika operatora Open Liberty i postępuj zgodnie z instrukcjami instalacji.
- Będzie dostępna możliwość zainstalowania całego klastra operatora, który będzie w stanie instalować aplikacje Open Liberty we wszystkich przestrzeniach nazw, lub zainstalowania operatora w określonej przestrzeni nazw. Wybierz jedną z opcji w zależności od preferencji.
- Szczegółowe informacje na temat operatora Open Liberty można znaleźć w dokumentacji tutaj .
- Operator Open Liberty jest dostępny w certyfikowanym katalogu. Przejdź do Operatorów ...Interfejs użytkownika OperatorHub i kliknij opcję Certyfikowane
- Aby wdrożyć aplikację na serwerze WebSphere Liberty na platformie OpenShift, należy najpierw zainstalować w klastrze operator WebSphere Liberty .
Krok 3 Zadania
Wypchnij obraz swojej aplikacji do rejestru, który jest dostępny dla klastra OpenShift. np.
docker push <IMAGE_REFERENCE>gdzie
<IMAGE_REFERENCE>jest odwołaniem do obrazu oznaczonym obrazem podczas budowania, np.docker.io/myspace/myappimage:1.0.0Uwaga:
- Aby wypchnięcie było możliwe, może być konieczne zalogowanie się do tego rejestru obrazów.
- Jeśli rejestr wymaga uwierzytelnionego ściągania, konieczne będzie skonfigurowanie klastra z kluczem tajnym ściągania. Więcej informacji na ten temat zawiera dokumentacja .
Zaloguj się do klastra OpenShift i utwórz nowy projekt OpenShift.
oc login -u <USER_NAME>Jeśli przestrzeń nazw nie została jeszcze utworzona podczas instalowania operatora Liberty, utwórz ją teraz.
oc new-project <OCP_PROJECT>Wdróż obraz wraz z towarzyszącym mu operatorem, korzystając z następujących instrukcji:
a. Przejdź do katalogu kustomize w katalogu
<MIGRATION_ARTIFACTS_HOME>:cd <MIGRATION_ARTIFACTS_HOME>/deploy/kustomizeb. Zaktualizuj wartość IMAGE_REFERENCE w pliku
base/application-cr.yaml, aby była zgodna z odwołaniem do obrazu aplikacji przesłanym w czynności 1.c. Sprawdź, czy wszystkie wartości zdefiniowane w pliku
base/<APPLICATION_NAME>-configmap.yamlsą poprawne.d. Zaktualizuj plik
overlays/dev/<APPLICATION_NAME>-secret.yaml, aby dodać wartość dla daty wrażliwej. Wartość musi być zakodowana w formacie base64 . Można wywołać komendęecho -n 'your-secret-password' | base64, aby uzyskać zakodowany łańcuch dla danych wrażliwych.e. Utwórz zasób niestandardowy (CR) dla aplikacji Liberty, używając komendy
apply -kw celu określenia katalogu zawierającego plik kustomization.yaml:oc apply -k overlays/devf. Status wdrożenia można wyświetlić, uruchamiając komendę oc get deployments. Jeśli nie widzisz statusu po kilku minutach, wyślij zapytanie do zasobników, a następnie pobierz dzienniki zasobnika Liberty:
oc get pods oc logs <pod>g. Można teraz uzyskać dostęp do aplikacji, przechodząc do interfejsu użytkownika
Networking...Routesw OpenShift i wybierając przestrzeń nazw z wdrożeniem.Opcjonalnie: Jeśli chcesz usunąć aplikację z OpenShift, możesz zdeinstalować ją przy użyciu interfejsu użytkownika OpenShift. Przejdź do
Operators...Installed operatorsw OpenShift , aby znaleźć operator Liberty. Kliknij kartęAll instances, aby znaleźć instancję aplikacji i zdeinstalować ją.
Dodaj zależności przy użyciu narzędzia Maven
Przegląd
Pakunek migracyjny zawiera plik pom.xml , który umożliwia wyciąganie aplikacji i wszystkich zależności z narzędzia Maven. Należy włączyć tę opcję w pliku Dockerfile i zaktualizować obiekty zastępcze w pliku pom.xml przy użyciu poprawnych wartości.
Zadania
- Przejdź do pakunku migracji
cd <MIGRATION_ARTIFACTS_HOME> - Zmodyfikuj plik pom.xml i zaktualizuj wartości obiektów zastępczych odpowiednimi wartościami.
- Ustaw poprawne wartości dla elementu
<dependency>. - Ustaw poprawne wartości dla każdego elementu
<artifactItem>
.
- Ustaw poprawne wartości dla elementu
- Edytuj plik Dockerfile, aby zależności były pobierane podczas budowania obrazu
- Usuń znak komentarza z wiersza
RUN mvn -X initialize process-resources verify
- Usuń znak komentarza z wiersza
Projekt źródłowy
Przegląd
Podczas migrowania aplikacji często konieczne jest wprowadzenie zmian w kodzie źródłowym w celu zapewnienia działania aplikacji na nowej platformie docelowej. Dokładny charakter zmian będzie różnił się w zależności od aplikacji. Transformation Advisor informuje o niezbędnych zmianach w poszczególnych aplikacjach i klasyfikuje aplikacje, które wymagają wprowadzenia zmian w kodzie, jako wymagające zmian umiarkowanych albo złożonych. Aby dokładnie wskazać, gdzie te zmiany muszą zostać wprowadzone w kodzie, można użyć wtyczki WebSphere Application Migration Toolkit (WAMT) Eclipse . Narzędzie to może również zasugerować możliwe poprawki. Więcej informacji na ten temat zawiera następujący odsyłacz: https://developer.ibm.com/wasdev/downloads/#asset/tools-WebSphere_Application_Server_Migration_Toolkit
Następujące zadania ułatwiają budowanie kodu źródłowego w obrazie.
Zadania
- Przejdź do pakunku migracji
cd <MIGRATION_ARTIFACTS_HOME> - Przeprowadź edycję pliku pom.xml i zaktualizuj lub usuń wartości obiektów zastępczych odpowiednimi wartościami.
- Ustaw poprawne wartości dla elementu
<dependency>. - Ustaw poprawne wartości dla każdego elementu
<artifactItem>
.
- Ustaw poprawne wartości dla elementu
- Zaktualizuj plik pom.xml , aby zbudować aplikację zgodnie ze specyfikacjami.
- UWAGA: Jeśli dla aplikacji istnieje już plik pom.xml , można go użyć lub scalić z pakunkiem migracji pom.xml jako odpowiedni
.
- UWAGA: Jeśli dla aplikacji istnieje już plik pom.xml , można go użyć lub scalić z pakunkiem migracji pom.xml jako odpowiedni
- Edytuj plik Dockerfile, aby kod źródłowy został zbudowany podczas budowania obrazu
- Usuń znak komentarza z wiersza
RUN mvn clean package
- Usuń znak komentarza z wiersza
Jak wdrożyć klaster lub grupę aplikacji
W tej sekcji opisano sposób użycia pakunku migracji dla klastra lub grupy w celu wdrożenia wielu aplikacji w pojedynczym kontenerze Liberty.
Każda aplikacja może być najpierw migrowana osobno, a następnie scalana w ramach pojedynczego wdrożenia. Można również wdrożyć wszystkie aplikacje jednocześnie w ramach jednego pierwszego kroku.
W przypadku migrowania klastra jest mało prawdopodobne, że wystąpi konflikt składników między aplikacjami. W tym przypadku najszybszym podejściem do migracji klastra będzie podejście "Wszystkie aplikacje jednocześnie".
W przypadku migrowania grupy jest bardziej prawdopodobne, że podczas wdrażania aplikacji razem wystąpi konflikt składników, ponieważ aplikacje mogły nie działać razem wcześniej. Zaleca się zastosowanie metody "Wszystkie aplikacje jednocześnie", ale w razie napotkania problemów zaleca się zastosowanie metody "Aplikacja po aplikacji" w celu ich rozwiązania.
Wszystkie aplikacje jednocześnie
Wszystkie aplikacje można migrować w trzech krokach. W niniejszym dokumencie odwołujemy się do następujących zmiennych:
<APP_CONTEXT_ROOT>jest kontekstowym katalogiem głównym aplikacji. Jeśli ten atrybut nie jest zdefiniowany w innym miejscu, na przykład w pliku ibm-web-ext-xml, odpowiada atrybutowinamew elemencie<application>pliku server.xml.<APPLICATION_NAME>jest nazwą aplikacji.<MIGRATION_ARTIFACTS_HOME>to położenie, w którym rozpakowano artefakty produktu Transformation Advisor lub sklonowano repozytorium.<IMAGE_REFERENCE>jest odwołaniem do tego obrazu, w tym rejestru, repozytorium i znacznika, np. docker.io/myspace/myappimage:1.0.0
KROK 1: gromadzenie aplikacji i plików zależności oraz aktualizowanie konfiguracji
W tym kroku zostaną zgromadzone pliki aplikacji i wszystkie zależności oraz zostaną zaktualizowane pliki konfiguracyjne.
Krok 1-zadania
- Dodaj pliki aplikacji do pakunku migracji i usuń pliki zastępcze:
cp <BINARY_FILE_LOCATION>/<APPLICATION_FILE> <MIGRATION_ARTIFACTS_HOME>/target/ rm <MIGRATION_ARTIFACTS_HOME>/target/*.placeholder - Dodaj pliki zależności do pakunku migracji i usuń pliki zastępcze:
cp <DEPENDENCY_FILE_LOCATION>/* <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib rm <MIGRATION_ARTIFACTS_HOME>/src/main/liberty/lib/*.placeholderNOTE: The placeholder files provide the name(s) of all dependencies for your application
NOTE: If you are using maven to import your application and dependencies you can skip task 1 & 2 of this step - W razie potrzeby zaktualizuj pliki server.xml dowolnej aplikacji:
- Plik server.xml w katalogu
<MIGRATION_ARTIFACTS_HOME>/src/main/liberty/configzawiera serię plików włączanych, które zawierają pliki server.xml dla każdej aplikacji. - Pliki aplikacji server.xml można znaleźć w następujących miejscach:
<MIGRATION_ARTIFACTS_HOME>/apps/<APPLICATION_NAME>/src/main/liberty/config - Nazwą pliku server.xml dla każdej aplikacji będzie
<APPLICATION_NAME>_server_config.xml - Zmodyfikuj każdy plik server.xml , wprowadzając wartości domyślne dla danych wrażliwych, które zostały usunięte przez program Transformation Advisor .
- Jeśli w pliku server.xml znajdują się dodatkowe pliki binarne, które nie są potrzebne, należy usunąć wszelkie odwołania do tych plików.
- Plik server.xml w katalogu
UWAGA: Ustaw tylko wartość domyślną dla zmiennych zdefiniowanych w pliku server.xml . Jeśli wartość jest ustawiona w pliku server.xml , nie można jej nadpisać w czasie wdrażania.
KROK DRUGI: konteneryzowanie wszystkich aplikacji na serwerze Liberty
W tym kroku zostanie skonteneryzowana robocza instalacja serwera Liberty. Zostanie utworzony obraz serwera Liberty, w którym wszystkie migrowane aplikacje są zainstalowane i działają, a następnie przetestowany zostanie obraz w celu potwierdzenia, że działa on poprawnie.
NOTE: If you are using podman instead of docker simply replace the word docker in each command with podman
Krok 2 Wymagania wstępne
- Krok 1: Gromadzenie aplikacji i plików zależności oraz aktualizowanie konfiguracji
- Zainstalowany jest system Docker lub podman.
- Pobierz Docker: https://www.docker.com/get-started
- Pobierz podman: https://podman.io/getting-started/installation
- Komputer, na którym wykonywane jest to zadanie, musi mieć dostęp do Internetu w celu pobrania obrazu podstawowego serwera Liberty.
Krok 2-zadania
- Jeśli używany jest docker, upewnij się, że usługa docker jest uruchomiona. Jeśli nie, uruchom go:
service docker start
- Przejdź do miejsca, w którym znajdują się artefakty migracji, a następnie zbuduj obraz z pliku docker:
cd <MIGRATION_ARTIFACTS_HOME>
docker build --no-cache -t "<IMAGE_REFERENCE>" .
Uwaga: Pakunek migracji zawiera plik pom.xml , który umożliwia wyciąganie aplikacji i wszystkich zależności z narzędzia Maven. Należy włączyć tę opcję w pliku Dockerfile i zaktualizować obiekty zastępcze w pliku pom.xml przy użyciu poprawnych wartości. Szczegółowe informacje na ten temat można znaleźć w sekcjiDodawanie zależności przy użyciu narzędzia Maven.
- Uruchom obraz i potwierdź, że działa poprawnie:
docker run -p 9080:9080 <IMAGE_REFERENCE>
Jeśli wszystko przebiegło pomyślnie, obraz zostanie uruchomiony i odwzorowany na port 9080.
Dostęp do niego można uzyskać w przeglądarce, korzystając z następującego odsyłacza:http://<LIBERTY_HOME_MACHINE_IP>:9080/>Każda aplikacja będzie dostępna pod adresem
http://<LIBERTY_HOME_MACHINE_IP>:9080/<APP_CONTEXT_ROOT>Opcjonalnie: Sprawdź obraz, gdy jest zainstalowany i skonfigurowany, logując się do kontenera:
docker exec -ti <CONTAINER_ID> bash
Umożliwia to przeglądanie systemu plików kontenera, w którym działają aplikacje.
KROK TRZECI: Wdróż obraz ze wszystkimi aplikacjami na platformie Red Hat OpenShift
W tym kroku utworzony obraz wdrożymy na platformie Red Hat OpenShift. Te instrukcje odnoszą się do platformy OpenShift 4 + i zostały sprawdzone w systemie OpenShift 4.12. Wykonaj te same kroki, co w przypadku, gdy obraz miał pojedynczą aplikację-patrz tutaj
Projekt binarny-aplikacja wg aplikacji
W tym podejściu należy skonfigurować, skonteneryzować i wdrożyć każdą aplikację osobno, a następnie wdrożyć je razem.
Zadania
- Wykonaj kroki opisane w sekcji 'Jak wdrożyć pojedynczą aplikację' dla każdej aplikacji.
cd <MIGRATION_ARTIFACTS_HOME>/apps
Deploy each application indvidually
- Teraz należy wdrożyć wszystkie aplikacje razem, wykonując następujące kroki
UWAGA: Podczas wdrażania aplikacji razem może wystąpić konflikt składników. W takim przypadku należy przenieść aplikacje powodujące konflikt do innego wdrożenia lub zaktualizować aplikacje, aby nie wymagały już funkcji powodujących konflikt.
Zarządzanie magazynami kluczy podczas wdrażania
When deploying to OpenShift, if your application is configured to use non default keystores then the default route will not work without configuration changes
Konfigurowanie magazynów kluczy w kontenerze
UWAGA: Jeśli planowane jest wdrożenie na platformie OpenShift , można użyć operatora do wygenerowania niezbędnych certyfikatów. Szczegółowe informacje na ten temat zawiera następna sekcja.
Program Transformation Advisor nie migruje automatycznie informacji o pliku kluczy w pakunku migracji.
W przypadku uruchamiania w kontenerze z użyciem domyślnego pliku Dockerfile utworzonego przez program Transformation Advisor serwer Liberty wyświetli komunikaty wskazujące, że nie można znaleźć plików kluczy innych niż domyślne.
Instrukcje dotyczące konfigurowania magazynów kluczy na serwerze Liberty zawiera dokumentacja konfigurowania zabezpieczeń serwera Liberty.
Konfigurowanie magazynów kluczy we wdrożeniu OpenShift
Podczas wdrażania na platformie OpenShift można użyć operatora Liberty do wygenerowania wszystkich niezbędnych certyfikatów lub użyć własnych certyfikatów.
Używanie operatora Liberty do generowania certyfikatów
Aby użyć operatora Liberty do wygenerowania certyfikatów dla aplikacji, wykonaj następujące kroki:
- Zmodyfikuj plik
server.xmli usuń wszystkie atrybuty<keystore>. - Zbuduj i wdróż obraz w normalny sposób
W takim przypadku wszystkie funkcje generowania certyfikatów i zarządzania magazynem kluczy będą obsługiwane przez operatora.
Szczegółowe informacje na ten temat można znaleźć w dokumentacji serwera Liberty
Korzystanie z własnych certyfikatów i magazynów kluczy w programie OpenShift
Wdrożenie można skonfigurować tak, aby korzystały z własnych certyfikatów i samodzielnie zarządzać zabezpieczeniami.
Szczegółowe informacje na ten temat można znaleźć w dokumentacji serwera Liberty na temat określania certyfikatów
.