Esercitazione: Eseguire la migrazione di Oracle WebLogic Server a servizio Azure Kubernetes (AKS) all'interno di una rete virtuale personalizzata

Questa esercitazione illustra come distribuire l'offerta Oracle WebLogic Server (WLS) in servizio Azure Kubernetes (AKS) che si integra con una rete virtuale personalizzata nella sottoscrizione del consumer. L'offerta WLS nel servizio Azure Kubernetes consente di decidere se creare una nuova rete virtuale o usarne una esistente.

In questa esercitazione apprenderai a:

  • Creare una rete virtuale personalizzata e creare l'infrastruttura all'interno della rete.
  • Eseguire Oracle WebLogic Server nel servizio Azure Kubernetes nella rete virtuale personalizzata.
  • Esporre Oracle WebLogic Server con app Azure lication Gateway come servizio di bilanciamento del carico.
  • Convalidare la corretta distribuzione.

Prerequisiti

  • Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Prepara un computer locale con un sistema operativo simile a Unix installato, ad esempio Ubuntu, Azure Linux, macOS, Sottosistema Windows per Linux.
  • Installare l'interfaccia della riga di comando di Azure 2.37.0 o versione successiva per eseguire i comandi dell'interfaccia della riga di comando di Azure.
  • L'offerta WLS nel marketplace del servizio Azure Kubernetes richiede l'autorizzazione per creare un'identità gestita assegnata dall'utente e assegnare ruoli di Azure. Per assegnare ruoli di Azure, è necessario avere autorizzazioni Microsoft.Authorization/roleAssignments/write, ad esempio Amministratore accesso utente o Proprietario.
  • Un account Oracle. I passaggi descritti in Oracle Container Registry consentono di accettare il contratto di licenza per le immagini di WebLogic Server. Prendere nota della password e del messaggio di posta elettronica dell'account Oracle.

Creare un gruppo di risorse

Come prima cosa creare un gruppo di risorse con az group create. Questo esempio crea un gruppo di risorse denominato myResourceGroup nel eastus percorso:

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

Creare una rete virtuale personalizzata

Esistono vincoli durante la creazione di una rete virtuale personalizzata. Prima di creare la rete virtuale nell'ambiente, leggere gli articoli seguenti:

L'esempio in questa sezione crea una rete virtuale con spazio indirizzi 192.168.0.0/16e crea due subnet usate per il servizio Azure Kubernetes e gateway applicazione.

Creare prima di tutto una rete virtuale usando az network vnet create. Nell'esempio seguente viene creata una rete virtuale predefinita denominata myVNet:

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

Creare quindi una subnet usando az network vnet subnet create per il cluster del servizio Azure Kubernetes. Nell'esempio seguente viene creata una subnet denominata myAKSSubnet:

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

Creare quindi una subnet usando az network vnet subnet create per gateway applicazione. Nell'esempio seguente viene creata una subnet denominata myAppGatewaySubnet:

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

Usare quindi il comando seguente per ottenere l'ID risorsa della subnet del servizio Azure Kubernetes e archiviarlo in una variabile da usare più avanti in questo articolo:

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

Creare un cluster del servizio Azure Kubernetes nella rete virtuale

Usare il comando seguente per creare un cluster del servizio Azure Kubernetes nella rete virtuale e nella subnet usando il comando az aks create .

Nota

Questo esempio crea un cluster del servizio Azure Kubenet usando kubenet e un'identità assegnata dal sistema. L'interfaccia della riga di comando di Azure concederà il ruolo Collaboratore rete all'identità assegnata dal sistema dopo la creazione del cluster.

Per usare Azure CNI, vedere Configurare la rete CNI di Azure nel servizio Azure Kubernetes per creare un cluster del servizio Azure Kubernetes abilitato.

Per usare un'identità gestita assegnata dall'utente, vedere Creare un cluster del servizio Azure Kubernetes con identità gestite assegnate dal sistema.

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

Archiviare applicazioni Java EE in un account di archiviazione

È possibile distribuire un'applicazione Java EE insieme alla distribuzione dell'offerta WLS nel servizio Azure Kubernetes. È necessario caricare il file dell'applicazione (.war, .ear o .jar) in un account Archiviazione di Azure preesistente e in un contenitore di archiviazione all'interno di tale account.

Creare un account Archiviazione di Azure usando il comando az storage account create, come illustrato nell'esempio seguente:

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

Creare un contenitore per l'archiviazione di BLOB con il comando az storage container create. Nell'esempio seguente viene usata la chiave dell'account di archiviazione per autorizzare l'operazione a creare il contenitore. È anche possibile usare l'account Microsoft Entra per autorizzare l'operazione a creare il contenitore. Per altre informazioni, vedere Autorizzare l'accesso ai dati di BLOB o code con l'interfaccia della riga di comando di Azure.

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

Caricare quindi l'applicazione Java EE in un BLOB usando il comando az storage blob upload . Nell'esempio seguente viene caricata l'applicazione testwebapp.war .

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

Per caricare più file contemporaneamente, vedere Creare, scaricare ed elencare BLOB con l'interfaccia della riga di comando di Azure.

Distribuire WLS nell'offerta del servizio Azure Kubernetes

Questa sezione illustra come effettuare il provisioning di un cluster WLS con l'istanza del servizio Azure Kubernetes creata in precedenza. Si eseguirà il provisioning del cluster all'interno della rete virtuale personalizzata ed esportare i nodi del cluster usando app Azure lication Gateway come servizio di bilanciamento del carico. L'offerta genererà automaticamente un certificato autofirmato per gateway applicazione terminazione TLS/SSL. Per l'utilizzo avanzato della terminazione TLS/SSL con gateway applicazione, vedere gateway applicazione Controller di ingresso.

Prima di tutto, iniziare il processo di distribuzione di un Server WebLogic come descritto nella Guida dell'utente di Oracle WebLogic Server nel servizio Azure Kubernetes, ma tornare a questa pagina quando si raggiunge Configura cluster del servizio Azure Kubernetes, come illustrato nello screenshot seguente.

Screenshot di portale di Azure che mostra il riquadro Configura cluster del servizio Azure Kubernetes della pagina Crea Oracle WebLogic Server servizio Azure Kubernetes.

Configurare il cluster del servizio Azure Kubernetes

Dopo aver creato un cluster del servizio Azure Kubernetes all'interno della rete virtuale, selezionare il cluster del servizio Azure Kubernetes per la distribuzione.

  1. In Crea un nuovo cluster del servizio Azure Kubernetes selezionare No.
  2. In Seleziona cluster del servizio Azure Kubernetes aprire il menu a discesa, quindi selezionare il cluster del servizio Azure Kubernetes creato, denominato myAKSCluster in questo esempio.
  3. Per Usare un'immagine Docker di WebLogic Server preesistente da Registro Contenitori Oracle, selezionare .
  4. Per Crea un nuovo Registro Azure Container per archiviare le immagini dell'applicazione, selezionare .
  5. In Username for Oracle Single Sign-On authentication (Nome utente per l'autenticazione Single Sign-On Oracle) immettere il nome utente dell'account Oracle Single Sign-On.
  6. In Password per l'autenticazione Single Sign-On Oracle immettere la password per tale account.
  7. In Conferma password immettere nuovamente il valore del campo precedente.
  8. Per Selezionare la combinazione desiderata di WebLogic Server, JDK e Sistema operatore o tag Docker completo, mantenere il valore predefinito.
  9. Per Deploy your application package (Distribuisci il pacchetto dell'applicazione) selezionare .
  10. Per Pacchetto applicazione (.war,.ear,.jar), selezionare Sfoglia.
    • Selezionare l'account di archiviazione creato. Il nome inizia con stgwlsaks in questo esempio.
    • Selezionare il contenitore nella pagina Contenitori . In questo esempio viene utilizzato mycontainer.
    • Controllare l'applicazione elencata nel contenitore. In questo esempio viene usato testwebapp.war.
    • Selezionare Seleziona.
  11. Per altri campi, mantenere i valori predefiniti.

È stata completata la configurazione del cluster del servizio Azure Kubernetes, dell'immagine di base WebLogic e dell'applicazione Java EE.

Successivamente, si configurerà TLS/SSL end-to-end in WebLogic Server Administration Console e cluster sulla porta HTTPS (Secure) con il proprio certificato nel riquadro Configurazione TLS/SSL. Per questa attività, seguire la procedura descritta nella Guida dell'utente di Oracle WebLogic Server nel servizio Azure Kubernetes, ma tornare a questa pagina quando si raggiunge La rete, come illustrato nello screenshot seguente. Si userà la sezione successiva per configurare la rete, quindi tornare alla Guida per l'utente di WLS nel servizio Azure Kubernetes per completare la distribuzione.

Screenshot di portale di Azure che mostra il riquadro Rete della pagina Crea Oracle WebLogic Server in servizio Azure Kubernetes.

Configurare gateway applicazione controller di ingresso

Usare la procedura seguente per configurare gateway applicazione Controller di ingresso all'interno della rete virtuale.

  1. Per Connetti a app Azure lication Gateway?, selezionare .
  2. In Configura reti virtuali selezionare la rete virtuale creata per Rete virtuale. In questo esempio viene myVNet usato in myResourceGroup. Per Subnet selezionare la subnet per gateway applicazione. In questo esempio viene utilizzato myAppGatewaySubnet.
  3. Per Selezionare l'opzione Certificato TLS/SSL desiderato, selezionare Genera un certificato front-end autofirmato.
  4. Per Crea ingresso per La console di amministrazione selezionare per esporre la Console di amministrazione WebLogic.
  5. Per gli altri campi, mantenere i valori predefiniti.

È ora possibile continuare con gli altri aspetti della distribuzione WLS, come descritto nella Guida dell'utente di Oracle WebLogic Server nel servizio Azure Kubernetes.

Convalidare la corretta distribuzione di WLS

Questa sezione illustra come convalidare rapidamente la corretta distribuzione del cluster WLS e gateway applicazione Controller di ingresso.

Al termine della distribuzione, selezionare Output. Si troveranno l'URL esterno della Console di amministrazione WebLogic e del cluster. Usare le istruzioni seguenti per accedere a queste risorse:

  • Per visualizzare la console di amministrazione di WebLogic, copiare prima di tutto il valore della variabile adminConsoleExternalUrldi output . Incollare quindi il valore nella barra degli indirizzi del browser e premere INVIO per aprire la pagina di accesso della Console di amministrazione webLogic.
  • Per visualizzare il cluster WebLogic, copiare prima di tutto il valore della variabile clusterExternalUrldi output . Usare quindi questo valore per costruire l'URL dell'applicazione di esempio applicandolo al modello seguente: ${clusterExternalUrl}testwebapp/. Incollare ora l'URL dell'applicazione nella barra degli indirizzi del browser e premere INVIO. Si scoprirà che l'applicazione di esempio mostra l'indirizzo privato e il nome host del pod a cui sta instradando il controller di ingresso gateway applicazione.

Pulire le risorse

Se non si intende continuare a usare il cluster WLS, eliminare la rete virtuale e il cluster WLS seguendo questa procedura portale di Azure:

  1. Visitare la pagina di panoramica per il gruppo myResourceGroupdi risorse e quindi selezionare Elimina gruppo di risorse.
  2. Visitare la pagina di panoramica per il gruppo di risorse distribuito l'offerta WLS nell'offerta del servizio Azure Kubernetes e quindi selezionare Elimina gruppo di risorse.

Passaggi successivi

Continuare a esplorare le opzioni per l'esecuzione di WLS in Azure.