WebLogic Server-toepassingen migreren naar Azure Kubernetes Service (AKS)
In deze handleiding wordt beschreven waar u rekening mee moet houden wanneer u een bestaande WLS-toepassing (WebLogic Server) wilt migreren die moet worden uitgevoerd op Azure Kubernetes Service (AKS).
Premigratie
Voltooi voordat u begint de evaluatie- en inventarisstappen die in de volgende secties worden beschreven om een geslaagde migratie te garanderen.
Zorg ervoor dat het doel het juiste doel is voor uw migratie-inspanning
De eerste stap bij een geslaagde migratie van een WLS-toepassing naar Azure is het selecteren van het meest geschikte migratiedoel. WLS wordt goed uitgevoerd op virtuele Azure-machines (VM's) of Azure Kubernetes Service (AKS). Het VM-doel is de eenvoudigste keuze, omdat deze het meest lijkt op een on-premises implementatie. De beheer- en implementatie-ervaring voor virtuele machines is erg vergelijkbaar met wat u on-premises hebt. De afweging voor dit gemak is economische kosten. Over het algemeen zijn de kosten per minuut voor een vm-oplossing hoger in vergelijking met AKS. Hoewel een oplossing op basis van AKS minder kost om uit te voeren, moet u uw toepassing beperken om te voldoen aan de vereisten van AKS. Als het minimaliseren van de wijziging de belangrijkste factor is voor uw migratie-inspanning, kunt u een migratie op basis van een VM overwegen. Zie In dit geval WebLogic-toepassingen migreren naar Azure Virtual Machines. Als u het converteren van uw toepassing kunt tolereren om te worden uitgevoerd in Kubernetes om de runtimekosten te verlagen, kunt u een migratie op basis van AKS overwegen. In dit geval gaat u verder met WebLogic Server-toepassingen migreren naar Azure Kubernetes Service.
Bepalen of de vooraf gemaakte Azure Marketplace-aanbieding een goed uitgangspunt is
Nadat u hebt besloten dat AKS het juiste implementatiedoel is, moet u accepteren dat de Oracle WLS Kubernetes-operator (de operator) de enige manier is om WLS uit te voeren op Kubernetes. Nadat u dit feit hebt geaccepteerd, moet u beslissen of de vooraf gemaakte Azure Marketplace-aanbieding een goed uitgangspunt is. Hier volgen enkele dingen die u moet overwegen over de vooraf gemaakte Azure Marketplace-aanbieding.
- Oracle en Microsoft hebben deze aanbieding gemaakt zodat u WLS snel kunt inrichten op AKS met behulp van het brontype Model in het afbeeldingsdomein . Dit concept wordt verderop in dit artikel uitgebreider uitgelegd.
- Op hoog niveau automatiseert de aanbieding de volgende stappen voor u.
- Neem desgewenst een bestaande WAR- of EAR-implementatie.
- Verpakt deze in een container met behulp van het WebLogic Image Tool (WIT). Zie WebLogic Image Tool in de Oracle-documentatie voor meer informatie.
- Installeer en configureer de WebLogic Kubernetes Operator op AKS.
- Gebruik de operator om alles uit te voeren. De operator roept WebLogic Deploy Tooling (WDT) aan om WebLogic-omgevingen op te stellen en levenscyclusbewerkingen voor domeinen op herhaalbare wijze uit te voeren op basis van een metagegevensmodel. Zie WebLogic Deploy Tooling in de Oracle-documentatie voor meer informatie.
- Hoewel de vooraf gemaakte aanbieding talloze Azure-service-integraties biedt, zoals App Gateway, Elastische logboekregistratie, Database-integratie en meer, maakt het veel eenvoudigere veronderstellingen. Deze veronderstellingen maken het aanbod niet zo flexibel als mastering en het gebruik van de operator zelf.
Als u de vooraf gemaakte Azure Marketplace-aanbieding niet gebruikt, moet u leren hoe u de operator rechtstreeks kunt gebruiken. Het beheersen van de operator valt buiten het bereik van dit artikel. De volledige documentatie voor de WLS Kubernetes Operator is beschikbaar bij Oracle.
De rest van deze sectie bevat enkele overwegingen voor het kiezen van de vooraf gemaakte Azure Marketplace-aanbieding of het rechtstreeks gebruiken van de operator.
Bepalen of u de vooraf gemaakte Azure Marketplace-aanbieding wilt gebruiken
Eerst moet u het concept van het WLS-domein begrijpen. Een domein is een logisch gerelateerde groep WLS-resources. Zie de Oracle-documentatie voor de canonieke definitie van het WLS-domein. Voor het uitvoeren van WLS op AKS moet worden bepaald hoe AKS met domeinen omgaat. De verschillende opties worden aangeduid als 'domeinbrontype'. De WLS Kubernetes-operator ondersteunt drie opties van het brontype domein. De vooraf gemaakte Azure Marketplace-aanbieding maakt gebruik van de eerste in deze tabel.
Brontype domein | Beschrijving | Positieve aspecten | Negatieve aspecten |
---|---|---|---|
Model in afbeelding | WLS en toepassingen bevinden zich in de containerinstallatiekopieën en alles wordt buiten die installatiekopieën bewaard. | Ondersteund door vooraf samengestelde aanbieding. Gedocumenteerd als een officieel voorbeeld; zie Oracle. Het meest gebruikt WDT. De meeste 'cloudeigen' optie. Eenvoudigste CI/CD-integratie. | Grootste leercurve. |
Domein in HW | Het domein bevindt zich op een permanent Kubernetes-volume. | Conceptueel vergelijkbaar met het uitvoeren op VM's. U kunt de WLS-console gebruiken om wijzigingen aan te brengen en deze wijzigingen blijven behouden tijdens het opnieuw opstarten van de AKS-pod. Gedocumenteerd als een officieel voorbeeld; zie Oracle. | Enkele uitdagingen met betrekking tot NFS moeten worden beperkt. Zie Oracle voor meer informatie. Deze benadering is de minst 'cloudeigen' techniek; de status zich volledig buiten het AKS-cluster bevindt. |
Domein in afbeelding | Het domein bevindt zich in een containerinstallatiekopieën. Toepassingen bevinden zich in een containerinstallatiekopieën die op de domeininstallatiekopieën worden weergegeven. | Meer 'cloudeigen' dan domein in HW. Eenvoudiger voor CI/CD. | Kan de WLS-console niet gebruiken. Er moeten meer containerinstallatiekopieën worden onderhouden. |
Belangrijk
Als u het domein in HW-brontype kiest, raden we NFS ten zeerste aan in plaats van SMB. NFS is ontwikkeld van het UNIX-besturingssysteem en andere varianten zoals GNU/Linux. Daarom is het minder waarschijnlijk dat bij het gebruik van NFS met containertechnologieën, zoals Docker, problemen optreden voor gelijktijdige leesbewerkingen en bestandsvergrendeling.
Zorg ervoor dat u NFS v4.1 inschakelt. Versies lager dan v4.1 hebben problemen.
De operatordocumentatie bevat ook een handige tabel waarin de verschillende opties worden vergeleken. Zie Kies een brontype voor een domein voor thuisgebruik voor meer informatie.
Zie de quickstart: WebLogic Server implementeren in Azure Kubernetes Service met behulp van Azure Portal om een idee te krijgen van de vooraf samengestelde Azure Marketplace-aanbieding. Zie Oracle voor de referentiedocumentatie over de vooraf samengestelde Azure Marketplace-aanbieding.
Als u direct een idee wilt krijgen van het gebruik van de operator, kunt u de voorbeelden in de operatordocumentatie proberen.
Nu u kennis hebt gemaakt met de verschillende manieren om WLS-domeinen op AKS te verwerken, kunt u beter kiezen of u de vooraf samengestelde Azure Marketplace-aanbieding wilt gebruiken of dat u dit zelf kunt doen met behulp van de operator.
Bepalen of de WebLogic-versie compatibel is
Uw bestaande WLS-versie moet een van de versies zijn die door de operator worden ondersteund. Oracle onderhoudt deze versies in het Oracle Container Registry (OCR). Gebruik de volgende stappen om de lijst met ondersteunde versies weer te geven.
- Ga naar de website van Oracle Container Registry en meld u aan. Zie https://container-registry.oracle.com/ voor meer informatie.
- Als u een ondersteuningsrechten hebt, selecteert u Middleware en zoekt u naar weblogic_cpu. Selecteer weblogic_cpu.
- Als u geen ondersteuningsrechten van Oracle hebt, selecteert u Middleware en zoekt u naar weblogic. Selecteer weblogic.
Notitie
Ontvang een ondersteuningsrechten van Oracle voordat u naar productie gaat. Als u dit niet doet, worden onveilige installatiekopieën uitgevoerd die niet zijn gepatcht op kritieke beveiligingsfouten. Zie Essentiële patchupdates, beveiligingswaarschuwingen en bulletins van Oracle voor meer informatie over essentiële patchupdates van Oracle.
Met de vooraf samengestelde Azure Marketplace-aanbieding kunt u de WLS-installatiekopieën van OCR en Azure Container Registry (ACR) selecteren en dus impliciet alle versies ondersteunen die beschikbaar zijn via OCR. Als u de aanbieding om een installatiekopie op te halen uit ACR, moet u ervoor zorgen dat deze is afgeleid van een van de ondersteunde versies die worden vermeld in OCR.
Servercapaciteit inventariseren
Documenteer de hardware (geheugen, CPU, schijf) van de huidige productieserver(s) en het gemiddelde en piekaantal aanvragen en het resourcegebruik. U hebt deze informatie nodig, welk migratiepad u ook kiest. Het is bijvoorbeeld handig bij het selecteren van de grootte van de VM's in uw knooppuntgroep, de hoeveelheid geheugen die door de container moet worden gebruikt en hoeveel CPU-shares de container nodig heeft.
Het is mogelijk om het formaat van knooppuntgroepen in AKS te wijzigen. Zie Het formaat van knooppuntgroepen wijzigen in Azure Kubernetes Service (AKS) voor meer informatie.
Alle geheimen inventariseren
Voor de ontwikkeling van 'configuratie als een service'-technologieën zoals Azure Key Vault, was er geen goed gedefinieerd concept voor 'geheimen'. In plaats daarvan had u een set uiteenlopende configuratie-instellingen die functioneerden als wat we nu 'geheimen' noemen. Bij app-servers zoals WebLogic Server bevinden deze geheimen zich in veel verschillende configuratiebestanden en configuratiearchieven. Controleer alle eigenschaps- en configuratiebestanden op de productieserver(s) op geheimen en wachtwoorden. Controleer in elk geval weblogic.xml in uw WAR's. Mogelijk bevinden zich ook in uw toepassing configuratiebestanden met wachtwoorden of referenties. Zie Basisconcepten van Azure Key Vault voor meer informatie.
Zodra u een solide inventaris van geheimen hebt, raadpleegt u de documentatie van de operator met betrekking tot geheimen. Zie Geheimen voor meer informatie.
Alle certificaten inventariseren
Documenteer alle certificaten die worden gebruikt voor openbare SSL-eindpunten. U kunt alle certificaten op de productieserver(s) weergeven door de volgende opdracht uit te voeren:
keytool -list -v -keystore <path to keystore>
Zodra u een solide inventaris van certificaten hebt, kunt u deze rechtstreeks installeren met de vooraf gemaakte Azure Marketplace-aanbieding. Zie TLS/SSL-configuratie voor meer informatie. Als u de operator rechtstreeks gebruikt, raadpleegt u Externe operatorcertificaten bijwerken.
Controleren of de ondersteunde Java-versie goed werkt
Voor alle migratiepaden voor WebLogic naar Azure is een specifieke Java-versie vereist, die per pad varieert. U moet controleren of uw toepassing correct kan worden uitgevoerd met behulp van die ondersteunde versie.
Notitie
Deze validatie is vooral belangrijk als uw huidige server wordt uitgevoerd in een niet-ondersteunde JDK (zoals Oracle JDK of IBM OpenJ9).
Meld u aan bij uw productieserver en voer de volgende opdracht uit om uw huidige Java-versie te verkrijgen:
java -version
Notitie
Wanneer u migreert naar WLS op virtuele Azure-machines, worden de vereisten voor de specifieke Java-versies bepaald door de vooraf geïnstalleerde Java op de virtuele machines. Wanneer u migreert naar WLS op AKS, wordt de specifieke Java-versie bepaald door de gekozen containerinstallatiekopieën. Er zijn veel verschillende keuzes, maar ze gebruiken allemaal de Oracle JDK.
JNDI-resources inventariseren
Inventariseer alle JNDI-resources. Gegevensbronnen zoals databases kunnen bijvoorbeeld een gekoppelde JNDI-naam hebben waarmee JPA op de juiste wijze exemplaren van EntityManager
aan een bepaalde database kan binden. Zie WebLogic Server-gegevensbronnen in de Oracle-documentatie voor meer informatie over JNDI-resources en -databases. Andere JNDI-gerelateerde resources, zoals JMS-berichtenbrokers, moeten mogelijk worden gemigreerd of opnieuw worden geconfigureerd. Zie Oracle WebLogic Server 12.2.1.4.0 voor meer informatie over de JMS-configuratie.
Als u de vooraf gemaakte Azure Marketplace-aanbieding gebruikt, is de set JNDI-resources die u tijdens de implementatie kunt aanpassen beperkt tot wat de aanbieding ondersteunt. Zoek naar JNDI in de aanbiedingsdocumentatie. Als u de operator rechtstreeks gebruikt, kunnen de JDNI-resources worden gedefinieerd, afhankelijk van het brontype van het gekozen domein. Voor domein in HW kunt u ze op de gebruikelijke manier instellen, met WLST of met de beheerconsole. Zie Typische onderdrukkingen voor domein in afbeelding of model in afbeelding.
Uw domeinconfiguratie controleren
De belangrijkste configuratie-eenheid in WebLogic Server is het domein. Als zodanig bevat het bestand config.xml een schat aan configuratie-informatie die u zorgvuldig moet overwegen voor migratie. Het bestand bevat verwijzingen naar aanvullende XML-bestanden die zijn opgeslagen in submappen. Oracle adviseert u om normaal gesproken de Beheerconsole te gebruiken om de beheerbare objecten en services van WebLogic Server te configureren en om WebLogic Server toe te staan het bestand config.xml te onderhouden. Zie Domeinconfiguratiebestanden voor meer informatie.
Binnen uw toepassing
Inspecteer het bestand WEB-INF/weblogic.xml en/of het bestand WEB-INF/web.xml.
Met de vooraf gemaakte Azure Marketplace-aanbieding wordt automatisch een domeinresource gemaakt. Als u de operator rechtstreeks gebruikt, kunt u de weergave van uw domein volledig aanpassen. Zie Domeinresource voor volledige informatie.
Bepalen of sessiereplicatie wordt gebruikt
Als uw toepassing afhankelijk is van sessiereplicatie, met of zonder Oracle Coherence*Web, hebt u drie opties:
- Coherence*Web kan worden uitgevoerd naast een WebLogic Server in de virtuele Azure-machines, maar u moet deze optie handmatig configureren nadat u de aanbieding hebt ingericht. Als u zelfstandige Coherence gebruikt, kunt u deze ook uitvoeren op een virtuele Azure-machine, maar moet u deze optie handmatig configureren nadat u de aanbieding hebt ingericht.
- Herstructureer uw toepassing om een database te gebruiken voor sessiebeheer.
- Herstructureer uw toepassing om de sessie te externaliseren naar Azure Redis Service. Zie Azure Cache voor Redis voor meer informatie.
Voor al deze opties is het verstandig om te leren hoe in WebLogic de HTTP-sessiestatus wordt gerepliceerd. Zie De HTTP-sessiestatus repliceren in de Oracle-documentatie voor meer informatie.
De vooraf gemaakte Azure Marketplace-aanbieding biedt ondersteuning voor sessieaffiniteit via de controller voor inkomend verkeer van Application Gateway. Affiniteit op basis van cookies is standaard ingeschakeld. U kunt affiniteit op basis van cookies uitschakelen selecteren om deze uit te schakelen. Zoek naar affiniteit op basis van cookies in de documentatie voor de aanbieding.
Gegevensbronnen documenteren
Als uw toepassing gebruikmaakt van databases, moet u de volgende informatie vastleggen:
- Wat is de naam van de gegevensbron?
- Wat is de configuratie van de verbindingsgroep?
- Waar vind ik het JAR-bestand van het JDBC-stuurprogramma?
Zie JDBC-stuurprogramma's gebruiken met WebLogic Server voor meer informatie over JDBC-stuurprogramma's in WebLogic.
De vooraf gemaakte Azure Marketplace-aanbieding biedt ondersteuning voor de populairste databases. Zie Database voor meer informatie. Voor domein in HW kunt u ze op de gebruikelijke manier instellen, met WLST of met de beheerconsole. Zie Typische onderdrukkingen voor domein in afbeelding of model in afbeelding.
Bepalen of WebLogic is aangepast
Bepaal welke van de volgende aanpassingen zijn uitgevoerd en leg vast wat er is gebeurd.
- Zijn de opstartscripts gewijzigd? Dergelijke scripts bevatten setDomainEnv, commEnv, startWebLogic en stopWebLogic.
- Zijn er specifieke parameters aan de JVM doorgegeven?
- Zijn er JAR's toegevoegd aan het classpath van de server?
U moet deze aanpassingen vastleggen in de containerinstallatiekopieën die door AKS worden uitgevoerd. Voor de vooraf gemaakte Azure Marketplace-aanbieding kunnen dergelijke aanpassingen het beste worden verwerkt door een aangepaste containerinstallatiekopieën te maken en deze beschikbaar te maken in Azure Container Registry, en vervolgens naar dat register te verwijzen tijdens de implementatie. Zie Afbeeldingsselectie voor meer informatie. Als u de operator rechtstreeks gebruikt, raadpleegt u omgevingsvariabelen voor JVM-geheugen en Java-opties.
Bepalen of er beheer via REST wordt gebruikt
Als de levenscyclus van uw toepassing beheer via REST omvat, moet u vastleggen welke poorten worden gebruikt voor toegang tot de REST API en moet u bepalen hoe deze worden geverifieerd en weergegeven. Na de migratie moet u er zeker van zijn dat deze poorten en verificatiemechanismen worden weergegeven, zodat de levenscyclus van uw toepassing op een vergelijkbare manier werkt als vóór de migratie. Zie Oracle WebLogic Server beheren met RESTful beheerservices voor meer informatie.
Het enige brontype van het domein waar het zinvol is om beheer via REST te blijven gebruiken, is Domein in HW. Het is mogelijk om het te gebruiken met de andere brontypen van het domein, maar wijzigingen die zijn aangebracht, zijn kortstondig en blijven niet behouden tijdens het opnieuw opstarten van pods.
Bepalen of er een verbinding met on-premises services is vereist
Als voor uw toepassing toegang nodig is tot een van uw on-premises services, moet u een van de connectiviteitsservices van Azure inrichten. Zie Connect an on-premises network to Azure (Een on-premises netwerk verbinden met Azure) voor meer informatie. U moet uw toepassing ook herstructureren voor het gebruik van openbaar beschikbare API's in uw on-premises resources.
Bepalen of Java Message Service-wachtrijen (JMS) of -onderwerpen in gebruik zijn
Als uw toepassing JMS-wachtrijen of -onderwerpen gebruikt, moet u deze migreren naar een extern gehoste JMS-server. Azure Service Bus en het Advanced Message Queueing Protocol (AMQP) kunnen een uitstekende migratiestrategie zijn wanneer er gebruik wordt gemaakt van JMS. Zie Java Message Service 1.1 gebruiken met Azure Service Bus Standard en AMQP 1.0 voor meer informatie.
Als er met JMS permanente archieven zijn geconfigureerd, moet u de configuratie hiervan vastleggen en na de migratie toepassen.
Als u gebruikmaakt van Oracle Message Broker, kunt u deze software migreren naar Azure-VM's en ongewijzigd gebruiken.
Bepalen of u uw eigen aangepaste, gedeelde Java EE-bibliotheken gebruikt
Als u de functie Gedeelde Java EE-bibliotheek gebruikt, hebt u twee opties:
- Herstructureer uw toepassingscode om alle afhankelijkheden van uw bibliotheken te verwijderen en de functionaliteit in plaats daarvan rechtstreeks in uw toepassing op te nemen.
- Voeg de bibliotheken toe aan het klassepad van de server.
Deze bibliotheken kunnen worden verwerkt met behulp van dezelfde technieken als beschreven in Bepalen of WebLogic is aangepast.
Bepalen of OSGi-bundels worden gebruikt
Als u OSGi-bundels hebt toegevoegd aan de WebLogic-server, moet u de equivalente JAR-bestanden rechtstreeks aan uw webtoepassing toevoegen.
U kunt ze opnemen in de WAR of EAR die is geleverd aan de vooraf gedefinieerde Azure Marketplace-aanbieding of rechtstreeks met behulp van de operator.
Bepalen of uw toepassing code bevat die specifiek is voor het besturingssysteem
Als uw toepassing code bevat met afhankelijkheden van het host-besturingssysteem, moet u deze herstructureren om deze afhankelijkheden te verwijderen. U moet bijvoorbeeld het gebruik van /
of \
in bestandssysteempaden vervangen door File.Separator
of Paths.get
als uw toepassing wordt uitgevoerd in Windows.
WLS op AKS wordt uitgevoerd op Oracle Linux. Elke besturingssysteemspecifieke code moet compatibel zijn met Oracle Linux. Volg de stappen in Bepalen of de WebLogic-versie compatibel is voor meer informatie over het detecteren van specifieke informatie over het besturingssysteem.
Bepalen of Oracle Service Bus wordt gebruikt
Als uw toepassing gebruikmaakt van Oracle Service Bus (OSB), moet u vastleggen hoe OSB is geconfigureerd. Zie Over de Oracle Service Bus-installatievoor meer informatie.
OSB wordt niet rechtstreeks ondersteund in de vooraf gemaakte Azure Marketplace-aanbieding. Als u OSB moet gebruiken, moet u de operator rechtstreeks gebruiken.
Bepalen of uw toepassing bestaat uit meerdere WAR's
Als uw toepassing bestaat uit meerdere WAR's, moet u deze allemaal behandelen als afzonderlijke toepassingen en deze handleiding voor al deze WAR's doorlopen.
Bepalen of uw toepassing is verpakt als een EAR
Als uw toepassing is verpakt als een EAR-bestand, moet u de bestanden application.xml en weblogic-application.xml controleren en de configuratie ervan vastleggen.
De vooraf samengestelde Azure Marketplace-aanbieding biedt ondersteuning voor WAR's en EAR's. Het gebruik van de operator biedt ook rechtstreeks ondersteuning voor WAR's en EAR's.
Alle externe processen en daemons identificeren die worden uitgevoerd op de productieservers
U moet alle processen die buiten de toepassingsserver worden uitgevoerd, zoals controledaemons, verwijderen of naar een andere locatie migreren.
Bepalen of WebLogic Scripting Tool (WLST) wordt gebruikt
Als u momenteel gebruikmaakt van WLST om uw implementatie uit te voeren, moet u nagaan welke taken ermee worden uitgevoerd. Als via WLST (runtime)parameters van uw toepassing worden gewijzigd als onderdeel van de implementatie, moet u ervoor zorgen dat dit gedrag blijft werken tijdens het testen van uw toepassing na migratie.
Het enige brontype van het domein dat compatibel is met het gebruik van WLST, is Domein in HW. Zie Domein thuis op een HW voor meer informatie.
Nagaan of en hoe het bestandssysteem wordt gebruikt
Kubernetes gaat over bestandssysteemen met permanente volumes (HW). Het koppelen van permanente volumes wordt ondersteund in de vooraf samengestelde Azure Marketplace-aanbieding en wanneer u de operator rechtstreeks gebruikt. Als u Domein in PV gebruikt, is het bestandssysteem een centraal aspect van de configuratie.
Statische alleen-lezeninhoud
Als uw toepassing momenteel met statische inhoud werkt, hebt u hiervoor een alternatieve locatie nodig. U kunt statische inhoud verplaatsen naar Azure Blob Storage en Azure CDN toevoegen voor razendsnelle downloads wereldwijd. Zie statische websitehosting in Azure Storage en quickstart: Een Azure-opslagaccount integreren met Azure CDN voor meer informatie.
Dynamisch gepubliceerde statische inhoud
Als uw toepassing statische inhoud toestaat die wordt geüpload/geproduceerd door uw toepassing, maar onveranderbaar is nadat deze is gemaakt, kunt u Azure Blob Storage en Azure CDN gebruiken zoals hierboven beschreven, met een Azure-functie om uploads en CDN-vernieuwing te verwerken. U vindt een voorbeeldimplementatie voor gebruik in Statische inhoud uploaden en via CDN vooraf laden met Azure Functions.
De netwerktopologie bepalen
De huidige set Azure Marketplace-aanbiedingen is een startpunt voor uw migratie. Als de aanbieding geen aspecten van uw te migreren architectuur dekt, moet u de netwerktopologie van uw bestaande implementatie vastleggen en deze reproduceren in Azure, ook nadat u de basisaanbieding hebt ingericht met een van de oplossingssjablonen.
Dit is een zeer breed onderwerp, maar de volgende artikelen kunnen u enige richting bieden bij uw migratie-inspanningen:
- In deze verwijzing worden de onderwerpen op hoog niveau opgesomd die relevant zijn voor de migratie van netwerktopologie naar Azure: Fast Track Deployment Guide.
- In deze verwijzing worden belangrijke problemen met betrekking tot clustering beschreven, wat invloed heeft op de netwerktopologie: WebLogic Server-clustering.
- Omdat gegevensbronnen afzonderlijke servers in een WebLogic-systeem zijn, moet u deze beschouwen als onderdeel van de netwerktopologieanalyse. WebLogic Server-gegevensbronnen.
- Berichtbronnen zijn ook afzonderlijke servers. WebLogic Server-berichten
- Taakverdeling is een fundamentele vereiste. Deze verwijzing heeft betrekking op de WebLogic Server-zijde van taakverdeling: Taakverdeling in een cluster.
Account voor het gebruik van JCA-adapters en resourceadapters
Als uw implementatie afhankelijk is van resourceadapters, is de meest ondersteunde optie Domein thuis op een HW.
Account voor het gebruik van aangepaste beveiligingsproviders en JAAS
Als uw toepassing JAAS gebruikt, moet u ervoor zorgen dat de configuratie van beveiligingsproviders correct wordt gemigreerd. Zie WebLogic-beveiligingsproviders configureren in de Oracle-documentatie voor meer informatie.
Als uw implementatie gebruikmaakt van beveiligingsproviders, is de meest ondersteunde optie Domein thuis op een HW.
Bepalen of WebLogic-clustering wordt gebruikt
De operator verwerkt clustering voor alle mogelijke manieren om WLS uit te voeren op AKS.
Uw EJB-clustering inspecteren
Als uw toepassing gebruikmaakt van lokale EJB, moet u deze migreren naar geclusterde EJB. Zie Clustered versus lokale EJB voor meer informatie.
Account voor taakverdelingsvereisten
De beste manier om rekening te houden met taakverdeling is door gebruik te maken van de App Gateway-integratie die wordt geleverd door de ingebouwde Azure Marketplace-aanbieding. Zie Zelfstudie: Een WebLogic Server-cluster migreren naar Azure met Azure-toepassing Gateway als load balancer voor meer informatie.
Bepalen of de functie Java EE Application Client wordt gebruikt
Als uw implementatie afhankelijk is van Java EE-toepassingsclients, kunt u de operator het beste rechtstreeks gebruiken. Zie Externe clients voor meer informatie.
Bepalen of er meerdere containerinstallatiekopieën nodig zijn
Een WebLogic Server-domein kan meerdere clusters bevatten. Een toepassing met meerdere lagen kan bijvoorbeeld worden weergegeven in één domein, maar twee clusters hebben, bijvoorbeeld 'front-end' en 'back-end'. Het is handig om de front-end bij te werken, zonder de back-end bij te werken en omgekeerd. Met het brontype Model in Afbeeldingsdomein wordt het hele domein echter weergegeven in één containerinstallatiekopie. Voor deze use-case moet u de clusters scheiden in hun eigen domeinen, elk met hun eigen containerinstallatiekopie. De operator kan meerdere domeinen in meerdere naamruimten beheren. Zie Een selectiestrategie voor een domeinnaamruimte kiezen voor meer informatie
Het aannemen van meerdere domeinen kan leiden tot T3-toegangsproblemen tussen domeinen. U kunt deze problemen oplossen door een aangepast kanaal in te schakelen zoals beschreven in Bepalen of onbekende hosttoegang nodig is.
Bepalen of het inschakelen van onbekende hosttoegang nodig is
Mogelijk moet u onbekende hosttoegang inschakelen door een patch toe te passen op WebLogic voor de volgende scenario's:
- T3-toegang toestaan van externe clients buiten AKS naar WLS-clusters in AKS via een aangepast kanaal.
- T3-toegang toestaan tussen verschillende WLS-domeinen in AKS via een aangepast kanaal.
Volg de richtlijnen in Patch Search in My Oracle Support (MOS) en zoek naar patch 30656708
voor meer informatie over de patch.
Nadat de patch is toegepast, raadpleegt u Onbekende hosttoegang inschakelen.
Migratie
In de stappen in deze sectie wordt ervan uitgegaan dat uw analyse ertoe heeft geleid dat u besluit om de vooraf gemaakte Azure Marketplace-aanbieding te gebruiken.
De aanbieding inrichten
Als u de aanbieding in Azure Portal wilt openen, raadpleegt u https://aka.ms/wlsaks. Selecteer Maken en volg de instructies in de documentatie voor de aanbieding. Gebruik de informatie die u in de voorgaande stappen hebt verzameld om de velden van de aanbieding in te vullen.
De domeinen migreren
Nadat u de aanbieding hebt ingericht, voert u het domein uit door deze stappen uit te voeren.
Als u weg navigeert van de implementatiepagina wordt uitgevoerd , ziet u in de volgende stappen hoe u terug kunt gaan naar die pagina. Als u nog steeds op de pagina bent waarin wordt aangegeven dat uw implementatie is voltooid, kunt u doorgaan naar stap 5.
Selecteer in de linkerbovenhoek van een portalpagina het hamburgermenu en selecteer Resourcegroepen.
Voer in het vak met het tekstfilter voor een veld de eerste paar tekens in van de resourcegroep die u eerder hebt gemaakt. Als u de aanbevolen conventie hebt gevolgd, voert u uw initialen in en selecteert u vervolgens de juiste resourcegroep.
Selecteer in het linkernavigatiedeelvenster in de sectie Instellingen implementaties om een geordende lijst met de implementaties voor deze resourcegroep weer te geven, met de meest recente eerst.
Schuif naar het oudste item in deze lijst. Deze vermelding komt overeen met de implementatie die u in de vorige sectie hebt gestart. Selecteer de oudste implementatie, zoals wordt weergegeven in de volgende schermopname.
Selecteer Uitvoer in het linkerdeelvenster. In deze lijst worden de uitvoerwaarden van de implementatie weergegeven. Nuttige informatie wordt opgenomen in de uitvoer. We zijn geïnteresseerd in de uitvoer waarmee we het domein kunnen inspecteren en kunnen communiceren met de operator. De andere waarden in de uitvoer worden uitgebreid beschreven in de gebruikershandleiding voor WebLogic in AKS.
Zoek de uitvoer met de naam
shellCmdtoConnectAks
. Plak de waarde van de uitvoer in een Bash-shell en voer de opdracht uit. Met deze opdracht kunt u deze gebruikenkubectl
zoals beschreven in Verbinding maken met het cluster.Zoek de uitvoer met de naam
shellCmdtoOutputWlsDomainYaml
. Plak de waarde van de uitvoer in een Bash-shell en voer de opdracht uit. Met deze opdracht wordt de domeinresource uitgevoerd als een YAML-bestand.Nu u het domein YAML van de huidige implementatie hebt, kunt u de kennis toepassen in YAML-bestanden voor domeinresources implementeren en deze richtlijnen bekijken voor meer aanwijzingen over het migreren van de domeinen. Voor deze richtlijnen is aanpassing vereist om van toepassing te zijn op de Kubernetes-manier van doen, maar het is nog steeds handig om over te weten.
Account voor sleutelarchieven
U moet rekening houden met de migratie van SSL-sleutelarchieven die door uw toepassing worden gebruikt. Zie Sleutelarchieven configureren voor meer informatie.
De JMS-bronnen verbinden
Nadat u de databases hebt verbonden, kunt u JMS configureren door de instructies te volgen op Fusion Middleware: JMS-resources voor Oracle WebLogic Server beheren in de WebLogic-documentatie.
Account voor logboekregistratie
U kunt geen cloud uitvoeren zonder logboekregistratie te beheersen. De operator biedt voorbeelden voor het gebruik van Elasticsearch en Kibana. Zie de operatordocumentatie voor meer informatie. Azure biedt geweldige ondersteuning voor Elastic. Zie Wat is Elastische integratie met Azure? voor meer informatie. U kunt de kennis in deze twee resources combineren om een door Azure geoptimaliseerde logboekregistratieoplossing voor WLS op AKS te bereiken.
Uw toepassingen migreren
Ongeacht of u ervoor kiest om een WAR- of EAR-bestand op te geven tijdens de implementatie, moet u de toepassing bijwerken via CI/CD. De operatordocumentatie bevat een voorbeeld dat laat zien hoe u deze update kunt uitvoeren. Zie Update 3 voor meer informatie. De andere updatevoorbeelden zijn relevant voor migratie en zijn de moeite waard om te verkennen.
Testen
Alle in-containertests van toepassingen moeten worden geconfigureerd voor toegang tot de nieuwe servers die actief zijn in Azure. Net als bij de problemen met CI/CD moet u ervoor zorgen dat uw tests toegang hebben tot de toepassingen die zijn geïmplementeerd in Azure. Zie Netwerkbeveiligingsgroepen voor meer informatie.
Postmigratie
Nadat u de migratiedoelstellingen hebt bereikt die u hebt gedefinieerd in de stap Voorafgaand aan de migratie, voert u een aantal end-to-end-acceptatietests uit om te controleren of alles werkt zoals verwacht. Zie de volgende aanbevelingen voor hulp bij een aantal mogelijke verbeteringen na de migratie:
Schalen. Dynamisch schalen is een belangrijke waardepropositie om de complexiteit van het gebruik van Kubernetes te rechtvaardigen. Combineer de kennis in zelfstudie: Toepassingen schalen in Azure Kubernetes Service (AKS) met de sectie Operatordocumentatie Schalen om een met WLS geoptimaliseerde schaaloplossing voor Kubernetes te bereiken. Het is perfect mogelijk om populaire kant-en-klare oplossingen zoals Prometheus en Grafana te gebruiken voor schalen met WLS op AKS. Zie Prometheus en Grafana gebruiken om WebLogic Server op Kubernetes te bewaken voor meer informatie. Azure heeft een beheerde Grafana-service. Zie Wat is Azure Managed Grafana? voor meer informatie.
Als u WebLogic Server met Azure-toepassing Gateway hebt geïmplementeerd door de stappen in de aanbieding te volgen, wilt u mogelijk meer configuratie uitvoeren op de Application Gateway. Zie Overzicht van Application Gateway-configuratie voor meer informatie.
Uw netwerktopologie verbeteren met geavanceerde taakverdelingsservices. Zie Taakverdelingsservices gebruiken in Azure voor meer informatie.
Krijg bewaking van de prestaties van toepassingen die zijn geoptimaliseerd voor Java met Azure Monitor en Application Insights. Zie Zero Instrumentation Application Monitoring voor Kubernetes - Azure Monitor Application Insights voor meer informatie.
Gebruik Azure Storage om statische inhoud te leveren die is gekoppeld aan AKS. Zie Opslagopties voor toepassingen in Azure Kubernetes Service (AKS) voor meer informatie. Combineer deze kennis met de sectie met operatordocumentatie die toegang biedt tot een permanente volumeclaim.
Uw toepassingen implementeren in uw gemigreerde WebLogic-cluster met Azure DevOps. Zie de documentatie Aan de slag met Azure DevOps voor meer informatie.
Azure Managed Identities gebruiken om beheerde geheimen te beheren en op rollen gebaseerde toegang tot Azure-resources toe te wijzen. Zie Wat zijn beheerde identiteiten voor Azure-resources? voor meer informatie.
Integreer WebLogic Java EE-verificatie en -autorisatie met Microsoft Entra ID. Zie de introductiehandleiding voor Microsoft Entra integreren voor meer informatie.