Självstudie: Migrera Oracle WebLogic Server till Azure Kubernetes Service i ett anpassat virtuellt nätverk

Den här självstudien visar hur du distribuerar Oracle WebLogic Server (WLS) på AkS-erbjudandet (Azure Kubernetes Service) som integreras med ett anpassat virtuellt nätverk i konsumentens prenumeration. Med WLS på AKS-erbjudandet kan du bestämma om du vill skapa ett nytt virtuellt nätverk eller använda ett befintligt nätverk.

I den här självstudien lär du dig att:

  • Skapa ett anpassat virtuellt nätverk och skapa infrastrukturen i nätverket.
  • Kör Oracle WebLogic Server på AKS i det anpassade virtuella nätverket.
  • Exponera Oracle WebLogic Server med Azure Application Gateway som lastbalanserare.
  • Verifiera lyckad distribution.

Förutsättningar

  • Om du inte har en Azure-prenumeration kan du skapa ettkostnadsfritt konto innan du börjar.

  • Använd Azure Cloud Shell med bash-miljön. Kontrollera att Azure CLI-versionen är 2.37.0 eller senare.

    Launch Cloud Shell in a new window

  • Om du vill kan du installera Azure CLI 2.37.0 eller senare för att köra Azure CLI-kommandon.

    • Om du använder en lokal installation loggar du in med Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Se Logga in med Azure CLI för andra inloggningsalternativ.
    • När du uppmanas till det installerar du Azure CLI-tillägg vid första användning. Mer information om tillägg finns i Använda tillägg med Azure CLI.
    • Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
  • Erbjudandet WLS på AKS Marketplace kräver behörighet att skapa användartilldelad hanterad identitet och tilldela Azure-roller. Om du vill tilldela Azure-roller måste du ha Microsoft.Authorization/roleAssignments/write behörigheter, till exempel administratör för användaråtkomst eller ägare.

  • Ett Oracle-konto. Stegen i Oracle Container Registry instruerar dig att godkänna licensavtalet för WebLogic Server-avbildningar. Anteckna lösenordet och e-postmeddelandet för ditt Oracle-konto.

Skapa en resursgrupp

Skapa en resursgrupp med az group create. I det här exemplet skapas en resursgrupp med namnet myResourceGroup på platsen eastus :

export RESOURCE_GROUP_NAME="myResourceGroup"
az group create \
    --name ${RESOURCE_GROUP_NAME} \
    --location eastus

Skapa ett anpassat virtuellt nätverk

Det finns begränsningar när du skapar ett anpassat virtuellt nätverk. Läs följande artiklar innan du skapar det virtuella nätverket i din miljö:

Exemplet i det här avsnittet skapar ett virtuellt nätverk med adressutrymme 192.168.0.0/16och skapar två undernät som används för AKS och Application Gateway.

Skapa först ett virtuellt nätverk med az network vnet create. I följande exempel skapas ett virtuellt standardnätverk med namnet myVNet:

az network vnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myVNet \
    --address-prefixes 192.168.0.0/16

Skapa sedan ett undernät med az network vnet subnet create för AKS-klustret. I följande exempel skapas ett undernät med namnet myAKSSubnet:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSSubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.1.0/24

Skapa sedan ett undernät med az network vnet subnet create för Application Gateway. I följande exempel skapas ett undernät med namnet myAppGatewaySubnet:

az network vnet subnet create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAppGatewaySubnet \
    --vnet-name myVNet \
    --address-prefixes 192.168.2.0/24

Använd sedan följande kommando för att hämta resurs-ID:t för AKS-undernätet och lagra det i en variabel för användning senare i den här artikeln:

export AKS_SUBNET_ID=$(az network vnet subnet show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --vnet-name myVNet \
    --name myAKSSubnet \
    --query id \
    --output tsv)

Skapa ett AKS-kluster i det virtuella nätverket

Använd följande kommando för att skapa ett AKS-kluster i ditt virtuella nätverk och undernät med hjälp av kommandot az aks create .

Kommentar

Det här exemplet skapar ett AKS-kluster med kubenet och en systemtilldelad identitet. Azure CLI beviljar rollen Nätverksdeltagare till den systemtilldelade identiteten när klustret har skapats.

Om du vill använda Azure CNI läser du Konfigurera Azure CNI-nätverk i AKS för att skapa ett Azure CNI-aktiverat AKS-kluster.

Om du vill använda en användartilldelad hanterad identitet kan du läsa Skapa ett AKS-kluster med systemtilldelade hanterade identiteter.

az aks create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name myAKSCluster \
    --generate-ssh-keys \
    --enable-managed-identity \
    --node-count 3 \
    --network-plugin kubenet \
    --vnet-subnet-id $AKS_SUBNET_ID \
    --yes

Lagra Java EE-program i ett lagringskonto

Du kan distribuera ett Java EE-program tillsammans med distributionen av WLS på AKS-erbjudandet. Du måste ladda upp programfilen (.war, .ear eller .jar) till ett befintligt Azure Storage-konto och en lagringscontainer i det kontot.

Skapa ett Azure Storage-konto med kommandot az storage account create , som du ser i följande exempel:

export STORAGE_ACCOUNT_NAME="stgwlsaks$(date +%s)"
az storage account create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${STORAGE_ACCOUNT_NAME} \
    --location eastus \
    --sku Standard_RAGRS \
    --kind StorageV2

Skapa en behållare för att lagra blobar med kommandot az storage container create. I följande exempel används lagringskontonyckeln för att auktorisera åtgärden för att skapa containern. Du kan också använda ditt Microsoft Entra-konto för att auktorisera åtgärden för att skapa containern. Mer information finns i Auktorisera åtkomst till blob- eller ködata med Azure CLI.

export KEY=$(az storage account keys list \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --query [0].value \
    --output tsv)

az storage container create \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --name mycontainer \
    --account-key ${KEY} \
    --auth-mode key

Ladda sedan upp ditt Java EE-program till en blob med kommandot az storage blob upload . I följande exempel laddas testwebapp.war-testprogrammet upp.

curl -fsL https://aka.ms/wls-aks-testwebapp -o testwebapp.war

az storage blob upload \
    --account-name ${STORAGE_ACCOUNT_NAME} \
    --container-name mycontainer \
    --name testwebapp.war \
    --file testwebapp.war \
    --account-key ${KEY} \
    --auth-mode key

Information om hur du laddar upp flera filer samtidigt finns i Skapa, ladda ned och lista blobar med Azure CLI.

Distribuera WLS i AKS-erbjudandet

Det här avsnittet visar hur du etablerar ett WLS-kluster med aks-instansen som du skapade tidigare. Du etablerar klustret i det anpassade virtuella nätverket och exporterar klusternoder med Azure Application Gateway som lastbalanserare. Erbjudandet genererar automatiskt ett självsignerat certifikat för Application Gateway TLS/SSL-avslutning. Avancerad användning av TLS/SSL-avslutning med Application Gateway finns i Application Gateway-ingresskontrollant.

Börja först med att distribuera en WebLogic Server enligt beskrivningen i användarhandboken för Oracle WebLogic Server i AKS, men kom tillbaka till den här sidan när du når Konfigurera AKS-kluster, som du ser i följande skärmbild.

Screenshot of Azure portal showing the Configure AKS cluster pane of the Create Oracle WebLogic Server on Azure Kubernetes Service page.

Konfigurera AKS-klustret

Nu när du har ett AKS-kluster i det virtuella nätverket väljer du AKS-klustret för distributionen.

  1. För Skapa ett nytt AKS-kluster?, väljer du Nej.
  2. Under Välj AKS-kluster öppnar du den nedrullningsbara menyn och väljer sedan det AKS-kluster som du skapade med namnet myAKSCluster i det här exemplet.
  3. För Använd en befintlig WebLogic Server Docker-avbildning från Oracle Container Registry? väljer du Ja.
  4. För Skapa ett nytt Azure Container Registry för att lagra programavbildningar? väljer du Ja.
  5. Under Användarnamn för Oracle-autentisering med enkel inloggning anger du användarnamnet för ditt Oracle-konto för enkel inloggning.
  6. Under Lösenord för Oracle-autentisering med enkel inloggning anger du lösenordet för det kontot.
  7. Under Bekräfta lösenord anger du värdet för föregående fält igen.
  8. För Välj önskad kombination av WebLogic Server, JDK och Operator System eller fullständigt kvalificerad Docker-tagg behåller du standardvärdet.
  9. För Distribuera programpaketet väljer du Ja.
  10. För Programpaket (.war,.ear,.jar)väljer du Bläddra.
    • Välj det lagringskonto som du skapade. Namnet börjar med stgwlsaks i det här exemplet.
    • Välj containern på sidan Containrar . I det här exemplet används mycontainer.
    • Kontrollera ditt program i containern. I det här exemplet används testwebapp.war.
    • Välj Välj.
  11. Behåll standardvärdena för andra fält.

Nu har du konfigurerat AKS-klustret, WebLogic-basavbildningen och Java EE-programmet.

Därefter konfigurerar du TLS/SSL från slutpunkt till slutpunkt till WebLogic Server Administration Console och kluster på HTTPS-port (säker) med ditt eget certifikat i fönstret TLS/SSL-konfiguration . För den här uppgiften följer du stegen i användarhandboken för Oracle WebLogic Server i AKS, men kom tillbaka till den här sidan när du når Nätverk, som du ser i följande skärmbild. Du använder nästa avsnitt för att konfigurera nätverket och återgår sedan till användarhandboken för WLS i AKS för att slutföra distributionen.

Screenshot of Azure portal showing the Networking pane of the Create Oracle WebLogic Server on Azure Kubernetes Service page.

Konfigurera Application Gateway-ingresskontrollant

Använd följande steg för att konfigurera Application Gateway Ingress Controller i det virtuella nätverket.

  1. För Anslut till Azure Application Gateway? väljer du Ja.
  2. Under Konfigurera virtuella nätverk väljer du det virtuella nätverk som du skapade för Virtuellt nätverk. Det här exemplet används myVNet i myResourceGroup. För Undernät väljer du undernätet för Application Gateway. I det här exemplet används myAppGatewaySubnet.
  3. För Alternativet Välj önskat TLS/SSL-certifikat väljer du Generera ett självsignerat klientdelscertifikat.
  4. För Skapa ingress för administrationskonsolen väljer du Ja för att exponera WebLogic-administrationskonsolen.
  5. Behåll standardvärdena för de andra fälten.

Nu kan du fortsätta med de andra aspekterna av WLS-distributionen enligt beskrivningen i användarhandboken för Oracle WebLogic Server i AKS.

Verifiera lyckad distribution av WLS

Det här avsnittet visar hur du snabbt verifierar den lyckade distributionen av WLS-klustret och Application Gateway-ingresskontrollanten.

När distributionen är klar väljer du Utdata. Du hittar den externa URL:en för WebLogic-administrationskonsolen och klustret. Använd följande instruktioner för att komma åt dessa resurser:

  • Om du vill visa WebLogic-administrationskonsolen kopierar du först värdet för utdatavariabeln adminConsoleExternalUrl. Klistra sedan in värdet i webbläsarens adressfält och tryck på Retur för att öppna inloggningssidan i WebLogic-administrationskonsolen.
  • Om du vill visa WebLogic-klustret kopierar du först värdet för utdatavariabeln clusterExternalUrl. Använd sedan det här värdet för att skapa exempelprogrammets URL genom att tillämpa den på följande mall: ${clusterExternalUrl}testwebapp/. Klistra nu in programmets URL i webbläsarens adressfält och tryck på Retur. Du ser att exempelprogrammet visar den privata adressen och värdnamnet för podden som Application Gateway Ingress Controller dirigeras till.

Rensa resurser

Om du inte kommer att fortsätta att använda WLS-klustret tar du bort det virtuella nätverket och WLS-klustret med följande Steg i Azure-portalen:

  1. Gå till översiktssidan för resursgruppen myResourceGroupoch välj sedan Ta bort resursgrupp.
  2. Gå till översiktssidan för den resursgrupp som du distribuerade WLS i AKS-erbjudandet och välj sedan Ta bort resursgrupp.

Nästa steg

Fortsätt att utforska alternativ för att köra WLS i Azure.