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

Este tutorial mostra como implantar a oferta do Oracle WebLogic Server (WLS) no Serviço de Kubernetes do Azure (AKS) que se integra a uma rede virtual personalizada na assinatura do consumidor. A oferta WLS no AKS permite que você decida se deseja criar uma nova rede virtual ou usar uma existente.

Neste tutorial, você 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 Gateway de Aplicativo do Azure como um balanceador de carga.
  • Valide a implantação bem-sucedida.

Pré-requisitos

  • Se você não tiver uma assinatura 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 usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Consulte Entrar com a CLI do Azure para obter outras opções de entrada.
    • Quando solicitado, instale as extensões da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
    • Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
  • A oferta de mercado do WLS no AKS requer permissão para criar identidade gerenciada de atribuição de usuário e atribuir funções do Azure. Para adicionar funções do Azure, você precisa ter permissões Microsoft.Authorization/roleAssignments/write, como Administrador de Acesso do 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 grupos 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

Crie 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 seguinte exemplo 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 seguinte exemplo 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 a ID de recurso da sub-rede AKS e armazená-la em uma variável para uso posterior 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 do 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 .

Observação

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 pelo sistema depois que o cluster for criado.

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

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 um aplicativo Java EE junto com a implementação da oferta WLS no AKS. Você precisa carregar o arquivo de aplicativo (.war, .ear ou .jar) em uma Conta de Armazenamento do Azure e um Contêiner 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 contêiner para armazenar os blobs com o comando az storage container create. O exemplo a seguir usa a chave da 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, confira Autorizar o acesso a dados de blob ou de filas 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 em 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.

Implantar 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 a terminação TLS/SSL do Application Gateway. Para 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 Docker do WebLogic Server do Oracle Container Registry?, selecione Sim.
  4. Para Criar um novo Registro de Contêiner do Azure para armazenar imagens de aplicativo?, selecione Sim.
  5. Em Nome de usuário para autenticação de logon único do Oracle, insira o nome de usuário da conta de logon único do Oracle.
  6. Em Senha para autenticação de logon único do Oracle, insira a senha dessa conta.
  7. Em Confirmar senha, insira novamente 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 o pacote do aplicativo, selecione Sim.
  10. Para Pacote de aplicativos (.war,.ear,.jar), selecione Procurar.
    • Selecione a conta de armazenamento criada. O nome começa com stgwlsaks neste exemplo.
    • Selecione seu contêiner na página Contêineres . Este exemplo usa o mycontainer.
    • Verifique seu aplicativo listado no contêiner. Este exemplo usa testwebapp.war.
    • Escolha Selecionar.
  11. Para outros campos, mantenha os valores padrão.

Agora você terminou de configurar o cluster AKS, a imagem base do WebLogic e o aplicativo Java EE.

Em seguida, você configurará o TLS/SSL de ponta a ponta para o Console de Administração do WebLogic Server e o cluster na porta HTTPS (Secure), com seu próprio certificado no painel Configuração de TLS/SSL. Para essa tarefa, siga as etapas no guia do usuário do Oracle WebLogic Server no 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 controlador de entrada do gateway de aplicativo

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

  1. Para Conectar-se 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 Gateway de Aplicativo. Este exemplo usa o myAppGatewaySubnet.
  3. Para Selecionar a opção de certificado TLS/SSL desejado, selecione Gerar um certificado front-end autoassinado.
  4. Em Criar entrada para o Console de Administração, selecione Sim para expor o Console de Administração do WebLogic.
  5. Para os outros campos, mantenha os valores padrão.

Agora você pode continuar com os outros aspectos 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 Controlador de Entrada do Gateway de Aplicativo.

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

  • Para exibir o Console de Administração do WebLogic, primeiro copie o valor da variável adminConsoleExternalUrlde saída . Em seguida, cole o valor na barra de endereços do navegador e pressione Enter para abrir a página de entrada do Console de Administração do WebLogic.
  • 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-a ao seguinte modelo: ${clusterExternalUrl}testwebapp/. Agora cole o URL do aplicativo na barra de endereços 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.

Limpar os recursos

Se você não quiser 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 visão geral do grupo de recursos e selecione Excluir 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óximas etapas

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