Share via


Tutorial: Migrar o Oracle WebLogic Server para o Serviço Kubernetes do Azure dentro de uma rede virtual personalizada

Este tutorial mostra como implantar o Oracle WebLogic Server (WLS) na oferta do Serviço Kubernetes do Azure (AKS) que se integra a uma rede virtual personalizada na assinatura do consumidor. A oferta WLS on AKS permite-lhe decidir se quer criar uma nova rede virtual ou utilizar uma já existente.

Neste tutorial, irá aprender a:

  • Crie uma rede virtual personalizada e crie a infraestrutura dentro da rede.
  • Execute o Oracle WebLogic Server no AKS na rede virtual personalizada.
  • Exponha o Oracle WebLogic Server com o Azure Application Gateway como um balanceador de carga.
  • Valide a implantação bem-sucedida.

Pré-requisitos

  • Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • Use o Azure Cloud Shell usando o ambiente Bash, verifique se a versão da CLI do Azure é 2.37.0 ou superior.

    Launch Cloud Shell in a new window

  • Se preferir, instale a CLI do Azure 2.37.0 ou superior para executar os comandos da CLI do Azure.

    • Se estiver a utilizar uma instalação local, inicie sessão com o CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Consulte Entrar com a CLI do Azure para obter outras opções de entrada.
    • Quando lhe for pedido, instale as extensões do CLI do Azure durante a primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
  • A oferta do mercado WLS no AKS requer permissão para criar identidade gerenciada atribuída pelo usuário e atribuir funções do Azure. Para atribuir funções do Azure, você deve ter Microsoft.Authorization/roleAssignments/write permissões, como Administrador de Acesso de Usuário ou Proprietário.

  • Uma conta Oracle. As etapas no Oracle Container Registry direcionarão você a aceitar o contrato de licença para imagens do WebLogic Server. Anote a senha e o e-mail da sua Conta Oracle.

Criar um grupo de recursos

Crie um grupo de recursos com az group create. Este exemplo cria um grupo de recursos nomeado myResourceGroup no eastus local:

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

Criar uma rede virtual personalizada

Há restrições ao criar uma rede virtual personalizada. Antes de criar a rede virtual em seu ambiente, leia os seguintes artigos:

O exemplo nesta seção cria uma rede virtual com espaço 192.168.0.0/16de endereço e cria duas sub-redes usadas para AKS e Application Gateway.

Primeiro, crie uma rede virtual usando az network vnet create. O exemplo a seguir cria uma rede virtual padrão chamada myVNet:

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

Em seguida, crie uma sub-rede usando az network vnet subnet create para o cluster AKS. O exemplo a seguir cria uma sub-rede chamada myAKSSubnet:

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

Em seguida, crie uma sub-rede usando az network vnet subnet create for Application Gateway. O exemplo a seguir cria uma sub-rede chamada myAppGatewaySubnet:

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

Em seguida, use o seguinte comando para obter o ID do recurso de sub-rede AKS e armazená-lo em uma variável para uso mais adiante neste artigo:

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

Criar um cluster AKS na rede virtual

Use o comando a seguir para criar um cluster AKS em sua rede virtual e sub-rede usando o comando az aks create .

Nota

Este exemplo cria um cluster AKS usando kubenet e uma identidade atribuída pelo sistema. A CLI do Azure concederá a função de Colaborador de Rede à identidade atribuída ao sistema após a criação do cluster.

Se você quiser usar o Azure CNI, consulte Configurar a rede CNI do Azure no AKS para criar um cluster AKS habilitado para Azure CNI.

Se você quiser usar uma identidade gerenciada atribuída pelo usuário, consulte Criar um cluster AKS com identidades gerenciadas atribuídas pelo 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

Armazenar aplicativos Java EE em uma conta de armazenamento

Você pode implementar uma Aplicação Java EE juntamente com a implementação da oferta WLS no AKS. Tem de carregar o ficheiro de aplicação (.war, .ear ou .jar) para uma Conta de Armazenamento do Azure e Contentor de Armazenamento pré-existentes nessa conta.

Crie uma Conta de Armazenamento do Azure usando o comando az storage account create , conforme mostrado no exemplo a seguir:

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

Crie um contentor para armazenar blobs com o comando az storage container create. O exemplo a seguir usa a chave de conta de armazenamento para autorizar a operação para criar o contêiner. Você também pode usar sua conta do Microsoft Entra para autorizar a operação para criar o contêiner. Para obter mais informações, consulte Autorizar o acesso a dados de blob ou fila com a CLI do 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

Em seguida, carregue seu aplicativo Java EE para um blob usando o comando az storage blob upload . O exemplo a seguir carrega o aplicativo de teste 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

Para carregar vários arquivos ao mesmo tempo, consulte Criar, baixar e listar blobs com a CLI do Azure.

Implante o WLS na oferta AKS

Esta seção mostra como provisionar um cluster WLS com a instância AKS criada anteriormente. Você provisionará o cluster na rede virtual personalizada e exportará nós de cluster usando o Gateway de Aplicativo do Azure como balanceador de carga. A oferta gerará automaticamente um certificado autoassinado para o encerramento TLS/SSL do Application Gateway. Para o uso avançado da terminação TLS/SSL com o Application Gateway, consulte Application Gateway Ingress Controller.

Primeiro, inicie o processo de implantação de um WebLogic Server conforme descrito no guia do usuário do Oracle WebLogic Server no AKS, mas volte a esta página quando chegar a Configurar cluster AKS, conforme mostrado na captura de tela a seguir.

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

Configurar o cluster AKS

Agora que você tem um cluster AKS dentro da rede virtual, selecione o cluster AKS para a implantação.

  1. Para Criar um novo cluster AKS?, selecione Não.
  2. Em Selecionar cluster AKS, abra o menu suspenso e selecione o cluster AKS que você criou, nomeado myAKSCluster neste exemplo.
  3. Para Usar uma imagem pré-existente do WebLogic Server Docker do Oracle Container Registry?, selecione Sim.
  4. Para Criar um novo Registro de Contêiner do Azure para armazenar imagens de aplicativos?, selecione Sim.
  5. Em Nome de usuário para autenticação de logon único Oracle, insira o nome de usuário da conta de logon único Oracle.
  6. Em Password for Oracle Single Sign-on authentication, insira a senha dessa conta.
  7. Em Confirmar palavra-passe, volte a introduzir o valor do campo anterior.
  8. Para Selecionar a combinação desejada de WebLogic Server, JDK e Operator System ou tag Docker totalmente qualificada, mantenha o valor padrão.
  9. Em Implantar seu pacote de aplicativo, selecione Sim.
  10. Para Pacote de aplicativos (.war,.ear,.jar), selecione Procurar.
    • Selecione a conta de armazenamento que você criou. O nome começa com stgwlsaks neste exemplo.
    • Selecione seu contêiner na página Contêineres . Este exemplo utiliza mycontainer.
    • Verifique seu aplicativo listado no contêiner. Este exemplo usa testwebapp.war.
    • Selecione Selecionar.
  11. Para outros campos, mantenha os valores padrão.

Agora você concluiu a configuração do cluster AKS, da imagem base WebLogic e do aplicativo Java EE.

Em seguida, você configurará TLS/SSL de ponta a ponta para o WebLogic Server Administration Console e cluster na porta HTTPS (Segura), com seu próprio certificado no painel Configuração de TLS/SSL. Para esta tarefa, siga as etapas no guia do usuário do Oracle WebLogic Server on AKS, mas volte a esta página quando chegar à Rede, conforme mostrado na captura de tela a seguir. Você usará a próxima seção para configurar a rede e, em seguida, retornará ao guia do usuário do WLS no AKS para concluir a implantação.

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

Configurar o Application Gateway Ingress Controller

Use as etapas a seguir para configurar o Application Gateway Ingress Controller na rede virtual.

  1. Para Conectar ao Gateway de Aplicativo do Azure?, selecione Sim.
  2. Em Configurar redes virtuais, para Rede virtual, selecione a rede virtual que você criou. Este exemplo usa myVNet em myResourceGroup. Em Sub-rede, selecione a sub-rede para Application Gateway. Este exemplo utiliza myAppGatewaySubnet.
  3. Para a opção Selecionar certificado TLS/SSL desejado, selecione Gerar um certificado front-end autoassinado.
  4. Em Create ingress for Administration Console, selecione Yes (Sim) para expor o WebLogic Administration Console.
  5. Para os outros campos, mantenha os valores padrão.

Agora você pode continuar com os outros aspetos da implantação do WLS, conforme descrito no guia do usuário do Oracle WebLogic Server no AKS.

Validar a implantação bem-sucedida do WLS

Esta seção mostra como validar rapidamente a implantação bem-sucedida do cluster WLS e do Application Gateway Ingress Controller.

Após a conclusão da implantação, selecione Saídas. Você encontrará a URL externa do WebLogic Administration Console e do cluster. Use as seguintes instruções para acessar esses recursos:

  • Para exibir o WebLogic Administration Console, primeiro copie o valor da variável adminConsoleExternalUrlde saída . Em seguida, cole o valor na barra de endereço do navegador e pressione Enter para abrir a página de entrada do WebLogic Administration Console.
  • Para exibir o cluster WebLogic, primeiro copie o valor da variável clusterExternalUrlde saída . Em seguida, use esse valor para construir a URL do aplicativo de exemplo aplicando-o ao seguinte modelo: ${clusterExternalUrl}testwebapp/. Agora cole o URL do aplicativo na barra de endereço do navegador e pressione Enter. Você descobrirá que o aplicativo de exemplo mostra o endereço privado e o nome do host do pod para o qual o Application Gateway Ingress Controller está roteando.

Clean up resources (Limpar recursos)

Se você não vai continuar a usar o cluster WLS, exclua a rede virtual e o Cluster WLS com as seguintes etapas do portal do Azure:

  1. Visite a página de descrição geral do grupo de recursos e, em seguida, selecione Eliminar grupo myResourceGroupde recursos.
  2. Visite a página de visão geral do grupo de recursos que você implantou a oferta WLS no AKS e selecione Excluir grupo de recursos.

Próximos passos

Continue a explorar as opções para executar o WLS no Azure.