Partilhar via


Implementar um aplicativo Java com Open Liberty ou WebSphere Liberty em um cluster do Serviço Kubernetes do Azure (AKS)

Este artigo demonstra como:

  • Execute seu aplicativo Java, Java EE, Jakarta EE ou MicroProfile no tempo de execução do Open Liberty ou IBM WebSphere Liberty .
  • Crie a imagem do Docker do aplicativo usando az acr build imagens de contêiner Open Liberty ou WebSphere Liberty.
  • Implemente o aplicativo em contêiner em um cluster do Serviço Kubernetes do Azure (AKS) usando o Open Liberty Operator ou o WebSphere Liberty Operator.

O Open Liberty Operator simplifica a implantação e o gerenciamento de aplicativos executados em clusters Kubernetes. Com o Open Liberty Operator ou WebSphere Liberty Operator, você também pode executar operações mais avançadas, como a coleta de rastreamentos e dumps.

Este artigo usa a oferta do Azure Marketplace para Open Liberty ou WebSphere Liberty para acelerar sua jornada para o AKS. A oferta provisiona automaticamente alguns recursos do Azure, incluindo:

  • Uma instância do Registro de Contêiner do Azure.
  • Um cluster AKS.
  • Uma instância AGIC (Application Gateway Ingress Controller).
  • O Operador Open Liberty e o Operador WebSphere Liberty.
  • Opcionalmente, uma imagem de contêiner que inclui o Liberty e seu aplicativo.

Se você preferir orientação passo a passo manual para executar o Liberty no AKS, consulte Implementar manualmente um aplicativo Java com o Open Liberty ou o WebSphere Liberty em um cluster do Serviço Kubernetes do Azure (AKS).

Este artigo destina-se a ajudá-lo a chegar rapidamente à implantação. Antes de ir para a produção, você deve explorar a documentação da IBM sobre o ajuste do Liberty.

Se você estiver interessado em fornecer comentários ou trabalhar em estreita colaboração em seus cenários de migração com a equipe de engenharia que desenvolve soluções WebSphere on Azure, preencha esta breve pesquisa sobre migração do WebSphere e inclua suas informações de contato. A equipe de gerentes de programa, arquitetos e engenheiros entrará prontamente em contato com você para iniciar uma estreita colaboração.

Pré-requisitos

  • Uma subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
  • Prepare uma máquina local com o sistema operacional Unix-like instalado - por exemplo, Ubuntu, Azure Linux, macOS ou Windows Subsystem for Linux.
  • Instale a CLI do Azure para executar comandos da CLI do Azure.
    • Entre na CLI do Azure usando o az login comando. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar no Azure com a CLI do Azure.
    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte 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 atualizar para a versão mais recente, execute az upgrade. Este artigo requer pelo menos a versão 2.61.0 da CLI do Azure.
  • Instale uma implementação Java Standard Edition (SE), versão 17 (por exemplo, Eclipse Open J9).
  • Instale o Maven 3.9.8 ou superior.
  • Verifique se o Git está instalado.
  • Certifique-se de que lhe foi atribuída a função ou as Owner Contributor funções e User Access Administrator na subscrição. Você pode verificá-lo seguindo as etapas em Listar atribuições de função para um usuário ou grupo.

Crie uma implantação do Liberty no AKS usando o portal

As etapas a seguir guiam você para criar um tempo de execução do Liberty no AKS. Depois de concluir essas etapas, você terá uma instância do Registro de contêiner e um cluster AKS para implantar seu aplicativo em contêiner.

  1. Aceda ao portal do Azure. Na caixa de pesquisa na parte superior da página, digite WebSphere Liberty/Open Liberty no Kubernetes. Quando as sugestões aparecerem, selecione a única correspondência na seção Marketplace .

    Se preferir, pode ir diretamente à oferta.

  2. Selecione Criar.

  3. No painel Noções básicas:

    1. Criar um novo grupo de recursos. Como os grupos de recursos devem ser exclusivos em uma assinatura, escolha um nome exclusivo. Uma maneira fácil de ter nomes exclusivos é usar uma combinação de suas iniciais, a data de hoje e algum identificador (por exemplo, ejb0913-java-liberty-project-rg). Deixe de lado o nome do grupo de recursos para uso posterior neste artigo.
    2. Em Região, selecione uma região próxima a você. Por exemplo, selecione Leste dos EUA 2.
  4. Selecione Seguinte. No painel AKS, você pode, opcionalmente, selecionar um cluster AKS existente e uma instância do Registro de Contêiner, em vez de fazer com que a implantação crie novas. Essa opção permite que você use o padrão de sidecar, conforme mostrado na Central de Arquitetura do Azure. Você também pode ajustar as configurações para o tamanho e o número das máquinas virtuais no pool de nós AKS.

    Para os fins deste artigo, basta manter todos os padrões neste painel.

  5. Selecione Seguinte. No painel Balanceamento de Carga, ao lado de Conectar ao Gateway de Aplicativo do Azure?, selecione Sim. Nesta seção, você pode personalizar as seguintes opções de implantação:

    • Para Rede virtual e Sub-rede, você pode, opcionalmente, personalizar a rede virtual e a sub-rede na qual a implantação coloca os recursos. Não é necessário alterar os valores restantes de seus padrões.

    • Para o certificado TLS/SSL, você pode fornecer o certificado TLS/SSL do Gateway de Aplicativo do Azure. Deixe os valores em seus padrões para fazer com que a oferta gere um certificado autoassinado.

      Não vá para a produção com um certificado autoassinado. Para obter mais informações sobre certificados autoassinados, consulte Criar um certificado público autoassinado para autenticar seu aplicativo.

    • Você pode selecionar Ativar afinidade baseada em cookies, também conhecida como sessões adesivas. Este artigo usa sessões adesivas, por isso certifique-se de selecionar esta opção.

  6. Selecione Seguinte. No painel Operador e aplicativo, este artigo usa todos os padrões. No entanto, você pode personalizar as seguintes opções de implantação:

    • É possível implementar o WebSphere Liberty Operator selecionando Sim para a opção IBM suportada?. Deixando o padrão No implanta o Open Liberty Operator.
    • Você pode implantar um aplicativo para o operador selecionado selecionando Sim para a opção Implantar um aplicativo?. Deixar o padrão Não não implanta nenhum aplicativo.
  7. Selecione Rever + criar para validar as opções selecionadas. No painel Rever + criar, quando vir Criar ficar disponível depois de aprovada a validação, selecione-o.

    A implantação pode levar até 20 minutos. Enquanto aguarda a conclusão da implantação, você pode seguir as etapas na seção Criar uma instância do Banco de Dados SQL do Azure. Depois de concluir essa seção, volte aqui e continue.

Capturar informações selecionadas da implantação

Se você se afastou do painel Implantação está em andamento , as etapas a seguir mostram como voltar a esse painel. Se você ainda estiver no painel que mostra Sua implantação foi concluída, vá para o grupo de recursos recém-criado e pule para a terceira etapa.

  1. No canto de qualquer página do portal, selecione o botão de menu e, em seguida, selecione Grupos de recursos.

  2. Na caixa com o texto Filtro para qualquer campo, insira os primeiros caracteres do grupo de recursos que você criou anteriormente. Se você seguiu a convenção recomendada, insira suas iniciais e selecione o grupo de recursos apropriado.

  3. Na lista de recursos no grupo de recursos, selecione o recurso com o valor Type do registro Container.

  4. No painel de navegação, em Configurações, selecione Teclas de acesso.

  5. Guarde de lado os valores para o nome do Registo e o servidor de início de sessão. Você pode usar o ícone de cópia ao lado de cada campo para copiar o valor para a área de transferência do sistema.

    Nota

    Este artigo usa o az acr build comando para criar e enviar por push a imagem do Docker para o Registro de Contêiner, sem usar username e password do Registro de Contêiner. Ainda é possível usar nome de usuário e senha com docker login e docker push. Usar nome de usuário e senha é menos seguro do que a autenticação sem senha.

  6. Volte para o grupo de recursos no qual você implantou os recursos.

  7. Na seção Configurações, selecione Implantações.

  8. Selecione a implantação mais baixa na lista. O valor Nome da implantação corresponde ao ID do editor da oferta. Ele contém a cadeia de caracteres ibm.

  9. No painel de navegação, selecione Saídas.

  10. Usando a mesma técnica de cópia que com os valores anteriores, salve de lado os valores para as seguintes saídas:

    • cmdToConnectToCluster

    • appDeploymentTemplateYaml se a implantação não incluir um aplicativo. Ou seja, você selecionou Não para Implantar um aplicativo? quando implantou a oferta do Marketplace. Este artigo selecionou Não. No entanto, se você selecionou Sim, salve de lado o valor de , que inclui a implantação do appDeploymentYamlaplicativo.

      Cole o valor de appDeploymentTemplateYaml ou appDeploymentYaml em um shell Bash e execute o comando.

      A saída deste comando é a implementação do aplicativo YAML. Procure o segredo TLS de entrada com a palavra-chave secretName, como - secretName: secret785e2c. Poupe o secretName valor.

Execute os comandos a seguir para definir as variáveis de ambiente capturadas nas etapas anteriores. Essas variáveis de ambiente são usadas posteriormente neste artigo.

export RESOURCE_GROUP_NAME=<your-resource-group-name>
export REGISTRY_NAME=<your-registry-nam-of-container-registry>
export LOGIN_SERVER=<your-login-server-of-container-registry>
export INGRESS_TLS_SECRET=<your-ingress-tls-secret-name>

Criar uma instância do Banco de Dados SQL do Azure

Nesta seção, você cria um banco de dados único do Banco de Dados SQL do Azure para uso com seu aplicativo.

Primeiro, defina variáveis de ambiente relacionadas ao banco de dados. Substitua <your-unique-sql-server-name> por um nome exclusivo para seu servidor do Banco de Dados SQL do Azure.

export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb

Execute o seguinte comando em seu terminal para criar um único banco de dados no Banco de Dados SQL do Azure e definir o usuário conectado atual como um administrador do Microsoft Entra. Para obter mais informações, consulte Guia de início rápido: criar um único banco de dados - Banco de Dados SQL do Azure.

export ENTRA_ADMIN_NAME=$(az account show --query user.name --output tsv)

az sql server create \
    --name $SQL_SERVER_NAME \
    --resource-group $RESOURCE_GROUP_NAME \
    --enable-ad-only-auth \
    --external-admin-principal-type User \
    --external-admin-name $ENTRA_ADMIN_NAME \
    --external-admin-sid $(az ad signed-in-user show --query id --output tsv)
az sql db create \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name $DB_NAME \
    --edition GeneralPurpose \
    --compute-model Serverless \
    --family Gen5 \
    --capacity 2

Em seguida, adicione o endereço IP local às regras de firewall do servidor do Banco de Dados SQL do Azure para permitir que sua máquina local se conecte ao banco de dados para testes locais posteriormente.

export AZ_LOCAL_IP_ADDRESS=$(curl -s https://whatismyip.akamai.com)
az sql server firewall-rule create \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP \
    --start-ip-address $AZ_LOCAL_IP_ADDRESS \
    --end-ip-address $AZ_LOCAL_IP_ADDRESS

Nota

Este artigo desativa a autenticação SQL para ilustrar as práticas recomendadas de segurança. Microsoft Entra ID é usado para autenticar a conexão com o servidor. Se você precisar habilitar a autenticação SQL, consulte az sql server create.

Criar uma conexão de serviço no AKS com o Service Connector

Nesta seção, você cria uma conexão de serviço entre o cluster AKS e o Banco de Dados SQL do Azure usando a ID de Carga de Trabalho do Microsoft Entra com o Service Connector. Essa conexão permite que o cluster AKS acesse o Banco de Dados SQL do Azure sem usar a autenticação SQL.

Primeiro, conceda permissões do Provedor de Recursos do Azure Service Connector ao Gateway de Aplicativo implantado anteriormente. Esta etapa é necessária para criar com êxito uma conexão de serviço entre o cluster AKS e o Banco de Dados SQL do Azure.

  1. Vá para o portal do Azure e navegue até o grupo de recursos que você criou anteriormente.
  2. Na lista de recursos no grupo de recursos, selecione o recurso com o valor Type do gateway de aplicativo.
  3. Selecione Controlo de acesso (IAM) . Em seguida, expanda Adicionar e selecione Adicionar atribuição de função.
  4. Na guia Função , selecione Funções de administrador privilegiadas. Em seguida, selecione Colaborador. Selecione Seguinte.
  5. Na guia Membros , selecione Selecionar membros. Em seguida, procure o aplicativo Azure Service Connector Resource Provider . Selecione o aplicativo e selecione Selecionar. Selecione Seguinte.
  6. Selecione Rever + atribuir. Aguarde alguns segundos até que a atribuição de função seja concluída.

Em seguida, execute os seguintes comandos para criar uma conexão entre o cluster AKS e o banco de dados SQL usando o ID de carga de trabalho do Microsoft Entra com o Service Connector. Para obter mais informações, consulte Criar uma conexão de serviço no AKS com o Service Connector (visualização).

# Register the Service Connector and Kubernetes Configuration resource providers
az provider register --namespace Microsoft.ServiceLinker --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait

# Install the Service Connector passwordless extension
az extension add --name serviceconnector-passwordless --upgrade --allow-preview true

# Retrieve the AKS cluster and Azure SQL Server resource IDs
export AKS_CLUSTER_RESOURCE_ID=$(az aks show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --query id \
    --output tsv)
export AZURE_SQL_SERVER_RESOURCE_ID=$(az sql server show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $SQL_SERVER_NAME \
    --query id \
    --output tsv)

# Create a user-assigned managed identity used for workload identity
export USER_ASSIGNED_IDENTITY_NAME=workload-identity-uami
az identity create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${USER_ASSIGNED_IDENTITY_NAME}

# Retrieve the user-assigned managed identity resource ID
export UAMI_RESOURCE_ID=$(az identity show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${USER_ASSIGNED_IDENTITY_NAME} \
    --query id \
    --output tsv)

# Create a service connection between your AKS cluster and your SQL database using Microsoft Entra Workload ID
az aks connection create sql \
    --connection akssqlconn \
    --client-type java \
    --source-id $AKS_CLUSTER_RESOURCE_ID \
    --target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
    --workload-identity $UAMI_RESOURCE_ID

Nota

Recomendamos usar a ID de Carga de Trabalho do Microsoft Entra para acesso seguro ao seu Banco de Dados SQL do Azure sem usar a autenticação SQL. Se você precisar usar a autenticação SQL, ignore as etapas anteriores nesta seção e use o nome de usuário e a senha para se conectar ao Banco de Dados SQL do Azure.

Obter conta de serviço e segredo criados pelo Service Connector

Para autenticar no Banco de Dados SQL do Azure, você precisa obter a conta de serviço e o segredo criados pelo Service Connector. Siga as instruções na seção Atualize seu contêiner do Tutorial: Conectar um aplicativo AKS ao Banco de Dados SQL do Azure. Tome a opção Criar diretamente uma implantação usando o trecho de código de exemplo YAML fornecido e use as seguintes etapas:

  1. Nas seções destacadas no exemplo de implantação do Kubernetes YAML, copie os serviceAccountName valores e secretRef.name , conforme mostrado no exemplo a seguir:

    serviceAccountName: <service-account-name>
    containers:
    - name: raw-linux
       envFrom:
          - secretRef:
             name: <secret-name>
    
  2. Use os comandos a seguir para definir variáveis de ambiente. Substitua <service-account-name> e <secret-name> pelos valores copiados na etapa anterior.

    export SERVICE_ACCOUNT_NAME=<service-account-name>
    export SECRET_NAME=<secret-name>
    

    Esses valores são usados na próxima seção para implantar o aplicativo Liberty no cluster AKS.

Nota

O segredo criado pelo Service Connector contém o AZURE_SQL_CONNECTIONSTRING, que é uma cadeia de conexão sem senha para o Banco de Dados SQL do Azure. Para obter mais informações, consulte o valor de exemplo na seção Autenticação de identidade gerenciada atribuída pelo usuário de Integrar o Banco de Dados SQL do Azure ao Service Connector.

Agora que você configurou o banco de dados e o cluster AKS, você pode continuar a preparar o AKS para hospedar seu aplicativo Open Liberty.

Configurar e implantar o aplicativo de exemplo

Siga as etapas nesta seção para implantar o aplicativo de exemplo no tempo de execução do Liberty. Estas etapas usam o Maven.

Confira o aplicativo

Clone o código de exemplo para este artigo. O exemplo está no GitHub.

Existem algumas amostras no repositório. Este artigo usa java-app. Execute os seguintes comandos para obter o exemplo:

git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241107

Se vir uma mensagem sobre estar no estado "HEAD desanexado", pode ignorá-la com segurança. A mensagem significa apenas que você fez check-out de uma tag.

Aqui está a estrutura de arquivos do aplicativo, com arquivos e diretórios importantes:

java-app
├─ src/main/
│  ├─ aks/
│  │  ├─ openlibertyapplication-agic-passwordless-db.yaml
│  ├─ docker/
│  │  ├─ Dockerfile
│  │  ├─ Dockerfile-wlp
│  ├─ liberty/config/
│  │  ├─ server.xml
│  ├─ java/
│  ├─ resources/
│  ├─ webapp/
├─ pom.xml
├─ pom-azure-identity.xml

Os diretórios java, resources e webapp contêm o código-fonte do aplicativo de exemplo. O código declara e usa uma fonte de dados chamada jdbc/JavaEECafeDB.

No diretório aks, o arquivo openlibertyapplication-agic-passwordless-db.yaml é usado para implantar a imagem do aplicativo com AGIC e conexão sem senha com o Banco de Dados SQL do Azure. Este artigo pressupõe que você use esse arquivo.

No diretório docker, há dois arquivos para criar a imagem do aplicativo com o Open Liberty ou o WebSphere Liberty.

No diretório liberty/config, o arquivo server.xml é usado para configurar a conexão do banco de dados para o cluster Open Liberty e WebSphere Liberty. Ele define uma variável azure.sql.connectionstring que é usada para se conectar ao Banco de Dados SQL do Azure.

O arquivo pom.xml é o arquivo de modelo de objeto de projeto (POM) Maven que contém as informações de configuração para o projeto. O arquivo pom-azure-identity.xml declara uma dependência em azure-identity. Esse arquivo é usado para autenticar nos serviços do Azure usando a ID do Microsoft Entra.

Nota

Este exemplo usa a biblioteca para autenticar no Banco de Dados SQL do Azure usando a azure-identity autenticação do Microsoft Entra. Se você precisar usar a autenticação SQL em seu aplicativo Liberty, consulte Conexões de banco de dados relacional com JDBC.

Compilar o projeto

Agora que você reuniu as propriedades necessárias, crie o aplicativo. O arquivo POM para o projeto lê muitas variáveis do ambiente. Como parte da compilação do Maven, essas variáveis são usadas para preencher valores nos arquivos YAML localizados em src/main/aks. Você pode fazer algo semelhante para sua aplicação fora do Maven, se preferir.

cd $BASE_DIR/java-app
# The following variables are used for deployment file generation into the target.
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}
export INGRESS_TLS_SECRET=${INGRESS_TLS_SECRET}

mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources

Teste o seu projeto localmente

Execute e teste o projeto localmente antes de implantar no Azure. Por conveniência, este artigo usa liberty-maven-plugino . Para saber mais sobre liberty-maven-plugino , consulte o artigo do Open Liberty Criando um aplicativo Web com o Maven.

Nota

Se você selecionou uma implantação de banco de dados "sem servidor", verifique se o banco de dados SQL não entrou no modo de pausa. Uma maneira de fazer isso é fazer logon no editor de consultas de banco de dados, conforme descrito em Guia de início rápido: use o editor de consultas do portal do Azure (visualização) para consultar o Banco de Dados SQL do Azure.

  1. Inicie o aplicativo usando liberty:run.

    cd $BASE_DIR/java-app
    
    # The value of environment variable AZURE_SQL_CONNECTIONSTRING is read by configuration variable `azure.sql.connectionstring` in server.xml
    export AZURE_SQL_CONNECTIONSTRING="jdbc:sqlserver://$SQL_SERVER_NAME.database.windows.net:1433;databaseName=$DB_NAME;authentication=ActiveDirectoryDefault"
    mvn liberty:run
    
  2. Verifique se o aplicativo funciona conforme o esperado. Você verá uma mensagem semelhante na [INFO] [AUDIT ] CWWKZ0001I: Application javaee-cafe started in 18.235 seconds. saída do comando. Vá para http://localhost:9080/ no seu navegador e verifique se o aplicativo está acessível e todas as funções estão funcionando.

  3. Pressione Ctrl+C para parar. Pressione Y se for solicitado a encerrar o trabalho em lote.

Quando terminar, exclua a regra de firewall que permite que seu endereço IP local acesse o Banco de Dados SQL do Azure usando o seguinte comando:

az sql server firewall-rule delete \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP

Crie a imagem para a implantação do AKS

Agora você pode executar o az acr build comando para criar a imagem, conforme mostrado no exemplo a seguir:

cd $BASE_DIR/java-app/target

az acr build \
    --registry ${REGISTRY_NAME} \
    --image javaee-cafe:v1 \
    .

O az acr build comando carrega os artefatos especificados no Dockerfile para a instância do Registro de Contêiner, cria a imagem e a armazena na instância do Registro de Contêiner.

Implantar o aplicativo no cluster AKS

Use as seguintes etapas para implantar o aplicativo Liberty no cluster AKS:

  1. Conecte-se ao cluster AKS.

    Cole o valor de cmdToConnectToCluster em um shell e execute o comando.

  2. Aplique o arquivo de implantação executando os seguintes comandos:

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-agic-passwordless-db.yaml
    
  3. Aguarde até que todos os pods sejam reiniciados com êxito usando o seguinte comando:

    kubectl get pods --watch
    

    Saída semelhante ao exemplo a seguir indica que todos os pods estão em execução:

    NAME                                       READY   STATUS    RESTARTS   AGE
    javaee-cafe-cluster-agic-67cdc95bc-2j2gr   1/1     Running   0          29s
    javaee-cafe-cluster-agic-67cdc95bc-fgtt8   1/1     Running   0          29s
    javaee-cafe-cluster-agic-67cdc95bc-h47qm   1/1     Running   0          29s
    

Testar a aplicação

Quando os pods estão em execução, você pode testar o aplicativo usando o endereço IP público da instância do Application Gateway.

Execute o seguinte comando para obter e exibir o endereço IP público da instância do Application Gateway, exposto pelo recurso de entrada criado pela AGIC:

export APP_URL=https://$(kubectl get ingress | grep javaee-cafe-cluster-agic-ingress | cut -d " " -f14)/
echo $APP_URL

Copie o URL e abra-o no seu navegador para ver a página inicial do aplicativo. Se a página da Web não renderizar corretamente ou retornar um 502 Bad Gateway erro, o aplicativo ainda será iniciado em segundo plano. Aguarde alguns minutos e tente novamente.

Captura de tela do aplicativo Java liberty implementado com sucesso no AKS.

Clean up resources (Limpar recursos)

Para evitar cobranças do Azure, você deve limpar recursos desnecessários. Quando não precisar mais do cluster, use o az group delete comando para remover o grupo de recursos, o serviço de contêiner, o registro de contêiner, o banco de dados e todos os recursos relacionados:

az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait

Próximos passos

Você pode aprender mais com as seguintes referências:

Para obter mais informações sobre como implementar a família IBM WebSphere no Azure, consulte O que são soluções para executar a família de produtos WebSphere no Azure?.