Compartilhar via


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 AKS (Serviço de Kubernetes do Azure) que se integra a uma rede virtual personalizada na assinatura do consumidor. A oferta WLS no AKS permite que você decida entre 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 load balancer.
  • Valide a implantação bem-sucedida.

Pré-requisitos

  • Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Prepare um computador local com sistema operacional semelhante ao Unix instalado - por exemplo, Ubuntu, macOS ou o Subsistema do Windows para Linux.
  • Instale a CLI do Azure 2.37.0 ou superior para executar comandos da CLI do Azure.
    • Entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, consulte Conectar-se ao Azure com a CLI do Azure.
    • Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar 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 do WLS no AKS Marketplace exige permissão para criar uma identidade gerenciada atribuída pelo 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 Registro de Contêiner Oracle direcionam você a aceitar o contrato de licença para imagens do WebLogic Server. Anote a senha e o email da conta Oracle.

Criar um grupo de recursos

Crie um grupo de recursos com az group create. Este exemplo cria um grupo de recursos chamado myResourceGroup na localização eastus:

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 de endereço 192.168.0.0/16 e cria duas sub-redes usadas para o AKS e o Gateway de Aplicativo.

Primeiro, crie uma rede virtual usando az network vnet create. O seguinte exemplo 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

Depois, 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

Então, crie uma sub-rede para o Gateway de Aplicativo usando o comando az network vnet subnet create. 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 do recurso de sub-rede do AKS e armazená-la 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 do AKS na rede virtual

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

Observação

Este exemplo cria um cluster do AKS usando kubenet e uma identidade atribuída pelo sistema. A CLI do Azure concede a função de Colaborador de Rede à identidade atribuída pelo sistema depois que o cluster é criado.

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

Para usar uma identidade gerenciada atribuída pelo usuário, consulte Criar um cluster do 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 implantar um aplicativo Java EE juntamente com o WLS na implantação da oferta do AKS. Você precisa carregar o arquivo do aplicativo (.war, .ear ou .jar) em uma Conta de armazenamento do Azure e em um Contêiner de armazenamento preexistentes nessa conta.

Crie uma conta de armazenamento do Azure com 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 operação de criação de contêiner de armazenamento para autorizar a operação para criar o contêiner. Você também pode usar a 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 do AKS

Esta seção mostra como provisionar um cluster WLS com a instância do AKS que você criou anteriormente. Você provisionará o cluster na rede virtual personalizada e exportará nós de cluster usando o Gateway de Aplicativo do Azure como o load balancer. A oferta gerará automaticamente um certificado autoassinado para terminação TLS/SSL do Gateway de Aplicativo. Para uso avançado da terminação TLS/SSL com o Gateway de Aplicativo, consulte Controlador de Entrada do Gateway de Aplicativo.

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 do AKS, conforme mostrado na captura de tela a seguir.

Captura de tela do portal do Azure mostrando o painel Configurar cluster do AKS da página Criar Oracle WebLogic Server no Serviço de Kubernetes do Azure.

Configurar o cluster AKS

Agora que você tem um cluster do AKS na rede virtual, selecione-o para a implantação.

  1. Em Criar um novo cluster do AKS?, selecione Não.
  2. Em Selecionar cluster do AKS, abra o menu suspenso e selecione o cluster do AKS que você criou, com o nome myAKSCluster neste exemplo.
  3. Em Usar uma imagem preexistente do WebLogic Server Docker do Registro de Contêiner Oracle?, selecione Sim.
  4. Em 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 do Oracle Single Sign-On, insira o nome de usuário da sua conta de logon único do Oracle.
  6. Em Senha para autenticação do Oracle Single Sign-On, insira a senha dessa conta.
  7. Em Confirmar senha, insira novamente o valor do campo anterior.
  8. Em 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 aplicativos, selecione Sim.
  10. Em 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. Mantenha os valores padrão para os outros campos.

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

Em seguida, você vai configurar o TLS/SSL de ponta a ponta para o Console de Administração do WebLogic Server e o cluster na porta HTTPS (Segura), com seu próprio certificado no painel Configuração TLS/SSL. Para esta tarefa, siga as etapas no Guia do usuário do Oracle WebLogic Server no AKS, mas volte a esta página quando chegar a 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.

Captura de tela do portal do Azure mostrando o painel Rede da página Criar Oracle WebLogic Server no Serviço de Kubernetes do Azure.

Configurar o Controlador de Entrada do Gateway de Aplicativo

Siga estas etapas para configurar o Controlador de Entrada do Gateway de Aplicativo na rede virtual.

  1. Em 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. Para 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 desejada, 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. Mantenha os valores padrão para os outros campos.

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 do WLS e do Controlador de Entrada do Gateway de Aplicativo.

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

  • Para exibir o Console de Administração do WebLogic, primeiro copie o valor da variável de saída adminConsoleExternalUrl. Depois, cole o valor na barra de endereço do navegador e pressione Enter para abrir a página de entrada do Console de Administração do WebLogic.
  • Para exibir o cluster do WebLogic, primeiro copie o valor da variável de saída clusterExternalUrl. Em seguida, use esse valor para construir a URL do aplicativo de exemplo aplicando-a ao seguinte modelo: ${clusterExternalUrl}testwebapp/. Agora cole a URL do aplicativo na barra de endereço do navegador e pressione Enter. Você verá que o aplicativo de exemplo mostra o endereço privado e o nome do host do pod para onde o Controlador de Entrada do Gateway de Aplicativo está roteando.

Limpar os recursos

Caso não pretenda continuar usando o cluster do WLS, exclua a rede virtual e o cluster do WLS de acordo com as seguintes etapas no portal do Azure:

  1. Acesse a página de visão geral do grupo de recursos myResourceGroup e selecione Excluir grupo de recursos.
  2. Acesse a página de visão geral do grupo de recursos em 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.