Compartilhar via


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

Este artigo fornece diretrizes manuais passo a passo para executar o Open/WebSphere Liberty no Azure.

Mais especificamente, este artigo explica como realizar as seguintes tarefas:

  • Executar seu aplicativo Java, Java EE, Jacarta EE ou MicroProfile no runtime do Open Liberty ou do WebSphere Liberty.
  • Construa a imagem do Docker do aplicativo usando az acr build imagens de contêiner do Liberty.
  • Implantar o aplicativo conteinerizado em um cluster AKS (Serviço de Kubernetes do Azure) usando o Liberty Operator.

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

Para obter uma solução mais automatizada que acelera sua jornada para o AKS, consulte Implantar um aplicativo Java com o Open Liberty/WebSphere Liberty em um cluster AKS (Serviço de Kubernetes do Azure).

Para obter mais informações sobre o Open Liberty, confira a página de projeto Open Liberty. Para mais informações sobre o IBM WebSphere Liberty, confira a página de produto WebSphere Liberty.

Este artigo tem o objetivo de ajudá-lo a iniciar rapidamente a implementação. Antes de acessar a produção, você deve explorar o Ajuste do Liberty.

Se você tiver interesse em fornecer feedback ou trabalhar em seus cenários de migração em estreita colaboração com a equipe de engenharia que desenvolve o WebSphere para as soluções do Azure, responda a essa breve pesquisa sobre migração para o WebSphere e inclua seus dados de contato. A equipe de gerentes de programas, arquitetos e engenheiros entrará em contato prontamente com você para dar início a uma estreita colaboração.

Pré-requisitos

  • Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Prepare uma máquina local com Windows, macOS ou Linux instalado.
  • Instale a CLI do Azure 2.61.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.

Entrar no Azure

Se ainda não tiver feito isso, acesse assinatura do Azure usando o comando az login e siga as instruções na tela.

az login

Observação

Você pode executar a maioria dos comandos da CLI do Azure no PowerShell da mesma forma que no Bash. A diferença está apenas ao usar variáveis. Nas seções a seguir, a diferença é abordada em diferentes guias quando necessário.

Se houver vários locatários do Azure associados às suas credenciais do Azure, você deverá especificar em qual locatário deseja entrar. Isso pode ser feito com a opção --tenant. Por exemplo, az login --tenant contoso.onmicrosoft.com.

Criar um grupo de recursos

Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados.

Crie um grupo de recursos chamado java-liberty-project usando o comando az group create no eastus2 local. Esse grupo de recursos é usado posteriormente para criar a instância do Registro de Contêiner do Azure e o cluster do AKS.

export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2

Criar uma instância do Container Registry

Use o comando az acr create para criar a instância do Registro de Contêiner. O exemplo a seguir cria uma instância do Registro de Contêiner chamada youruniqueacrname. Certifique-se de que youruniqueacrname seja exclusivo no Azure.

Observação

Este artigo usa o mecanismo de autenticação sem senha recomendado para o Registro de Contêiner. Ainda é possível usar o nome de usuário e a senha com docker login depois de usar az acr credential show para obter o nome de usuário e a senha. Usar nome de usuário e senha é menos seguro do que a autenticação sem senha.

export REGISTRY_NAME=youruniqueacrname
az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $REGISTRY_NAME \
    --sku Basic

Após um breve período, você verá uma saída JSON que contém as seguintes linhas:

  "provisioningState": "Succeeded",
  "publicNetworkAccess": "Enabled",
  "resourceGroup": "java-liberty-project",

Em seguida, recupere o servidor de logon para a instância do Container Registry. Você precisa desse valor ao implantar a imagem do aplicativo no cluster do AKS posteriormente.

export LOGIN_SERVER=$(az acr show \
    --name $REGISTRY_NAME \
    --query 'loginServer' \
    --output tsv)

Criar um cluster AKS

Use o comando az aks create para criar um cluster do AKS. O exemplo a seguir cria um cluster nomeado myAKSCluster com um nó. Esse comando leva vários minutos para ser concluído.

export CLUSTER_NAME=myAKSCluster
az aks create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --node-count 1 \
    --generate-ssh-keys \
    --enable-managed-identity

Após alguns minutos, o comando é concluído e retorna informações formatadas em JSON sobre o cluster, incluindo a saída a seguir:

  "nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
  "privateFqdn": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "java-liberty-project",

Anexar a instância do Registro de Contêiner ao cluster do AKS

Execute o comando az aks update para anexar a instância do Registro de Contêiner ao cluster do AKS para que o cluster do AKS seja autenticado para efetuar pull de imagens da instância do Registro de Contêiner, conforme mostrado no exemplo a seguir:

az aks update \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --attach-acr $REGISTRY_NAME

Conecte-se ao cluster do AKS

Para gerenciar um cluster do Kubernetes, use kubectl, o cliente de linha de comando do Kubernetes. Para instalar o kubectl localmente, use o comando az aks install-cli, conforme mostrado no exemplo a seguir:

az aks install-cli

Para configurar o kubectl para se conectar ao cluster do Kubernetes, use o comando az aks get-credentials. Este comando baixa as credenciais e configura a CLI do Kubernetes para usá-las.

az aks get-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --overwrite-existing \
    --admin

Observação

O comando acima usa a localização padrão para o arquivo de configuração do Kubernetes, que é ~/.kube/config. Você pode especificar outro local para o arquivo de configuração do Kubernetes usando --file.

Para verificar a conexão com o cluster, use o comando kubectl get para retornar uma lista dos nós de cluster.

kubectl get nodes

A saída de exemplo a seguir mostra o único nó criado nas etapas anteriores. Verifique se o status do nó é Pronto:

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-xxxxxxxx-yyyyyyyyyy   Ready    <none>  76s     v1.29.9

Criar um Banco de Dados SQL do Azure

Nesta seção, você cria um banco de dados individual do Banco de Dados SQL do Azure para usar 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 o servidor do Banco de Dados SQL do Azure.

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

Execute o comando a seguir em seu terminal para criar um banco de dados individual 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 Início Rápido: Criar um banco de dados individual – Banco de Dados SQL do Azure.

export ENTRA_ADMIN_NAME=$(az ad signed-in-user show --query userPrincipalName --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 seu computador local se conecte ao banco de dados para teste local 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

Observação

Você cria um servidor SQL do Azure com a autenticação SQL desabilitada por considerações de segurança. Somente a ID do Microsoft Entra é usada para autenticar no servidor. Se você precisar habilitar a autenticação SQL, consulte az sql server create para obter mais informações.

Criar uma conexão de serviço no AKS com o Conector de Serviço

Execute os comandos a seguir para criar uma conexão entre o cluster do AKS e o banco de dados SQL usando a 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 (versão prévia).

# 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

Observação

É recomendável usar a ID de carga de trabalho do Microsoft Entra para acesso seguro ao Banco de Dados SQL do Azure sem usar a autenticação SQL. Se você precisar usar a autenticação SQL, ignore as etapas acima nesta seção e use o nome de usuário e a senha para se conectar ao Banco de Dados SQL do Azure.

Obter a conta de serviço e o 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 a seção Atualizar seu contêiner. Pegue a opção Criar uma implantação diretamente usando o snippet de código de exemplo YAML fornecido e execute as seguintes etapas:

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

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

    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 do AKS.

Observação

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. Consulte o valor de exemplo da autenticação de identidade gerenciada atribuída pelo usuário para obter mais informações.

Instalar o Open Liberty Operator

Nesta seção, você instala o Operador do Open Liberty no cluster do AKS para hospedar o aplicativo Liberty.

Execute os seguintes comandos para instalar o Open Liberty Operator:

# Install cert-manager Operator
CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml

# Install Open Liberty Operator
export OPERATOR_VERSION=1.4.0
mkdir -p overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/olo-all-namespaces.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/cluster-roles.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/kustomization.yaml -q -P ./overlays/watch-all-namespaces
mkdir base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/kustomization.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-crd.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-operator.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-roles.yaml -q -P ./base
kubectl create namespace open-liberty
kubectl apply --server-side -k overlays/watch-all-namespaces

Configurar e compilar a imagem do aplicativo

Para implantar e executar seu aplicativo do Liberty no cluster de AKS, conteinerize seu aplicativo como uma imagem do Docker usando imagens de contêiner do Open Liberty ou imagens de contêiner do WebSphere Liberty.

Siga as etapas nesta seção para implantar o aplicativo de exemplo no runtime do Liberty. Essas etapas usam o Maven.

Fazer check-out do aplicativo

Clone o código de exemplo para este guia. O exemplo está no GitHub. Há alguns exemplos no repositório. Este artigo usa o java-app exemplo. Os arquivos importantes são mostrados a seguir.

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

Se você vir uma mensagem sobre estar no estado "detached HEAD", essa mensagem pode ser ignorada com segurança. Isso apenas significa que você fez check-out de uma tag.

java-app
├─ src/main/
│  ├─ aks/
│  │  ├─ openlibertyapplication-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-passwordless-db.yaml é usado para implantar a imagem do aplicativo. 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 server.xml é usado para configurar a conexão do banco de dados para o cluster do Open Liberty e do 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 POM (modelo de objeto) de projeto Maven que contém as informações de configuração do projeto. O arquivo pom-azure-identity.xml declara dependência azure-identity , que é usada para autenticar os serviços do Azure usando a ID do Microsoft Entra.

Observação

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

Compilar o projeto

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

cd $BASE_DIR/java-app

# The following variables are used for deployment file generation into target/
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}

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

Testar o projeto localmente

Agora, você pode executar e testar o projeto localmente antes de implantar o Azure. Para sua conveniência, use o liberty-maven-plugin. Para saber mais sobre o liberty-maven-plugin, confira Como compilar um aplicativo Web com o Maven. Para o aplicativo, você pode fazer algo semelhante usando qualquer outro mecanismo, como o IDE local. Você também pode considerar o uso da opção liberty:devc destinada ao desenvolvimento com contêineres. Leia mais sobre liberty:devc nos documentos do Liberty.

Observação

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. Faça isso entrando no editor de consultas do banco de dados, conforme descrito em Início Rápido: Usar o editor de consultas do portal do Azure (versão prévia) 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ê deverá ver uma mensagem semelhante a [INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds. na saída do comando, se tiver êxito. Acesse http://localhost:9080/ no navegador para verificar se o aplicativo está acessível e se todas as funções estão operantes.

  3. Pressione Ctrl+C para parar. Selecione Y se você estiver conectado para encerrar o trabalho em lotes.

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

Compilar imagem para implantação do AKS

Agora você pode executar o comando az acr build 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 Container Registry, cria a imagem e a armazena na instância do Container Registry.

Implantar o aplicativo no cluster AKS

Siga as etapas abaixo para implantar o aplicativo Liberty no cluster do AKS:

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

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-passwordless-db.yaml
    
  2. Execute o seguinte comando para determinar se a instância OpenLibertyApplication é criada:

    kubectl get openlibertyapplication javaee-cafe-cluster
    

    Você deverá ver uma saída semelhante ao seguinte exemplo:

    NAME                  IMAGE                                        EXPOSED   RECONCILED   RESOURCESREADY   READY   WARNING   AGE
    javaee-cafe-cluster   jiangma102924acr.azurecr.io/javaee-cafe:v1             True         True             True              57s
    
  3. Execute o seguinte comando para determinar se a implantação criada pelo operador está pronta:

    kubectl get deployment javaee-cafe-cluster --watch
    

    Você deverá ver uma saída semelhante ao seguinte exemplo:

    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    javaee-cafe-cluster         0/3     3            0           20s
    
  4. Aguarde até que você veja 3/3 na coluna READY e 3 na coluna AVAILABLE e, em seguida, use Ctrl+C para interromper o processo de inspeção kubectl.

Testar o aplicativo

Quando o aplicativo for executado, o serviço de balanceamento de carga do Kubernetes expõe o aplicativo front-end à internet. Esse processo pode levar algum tempo para ser concluído.

Para monitorar o progresso, use o comando kubectl get service com o argumento --watch, conforme mostrado no exemplo a seguir:

kubectl get service javaee-cafe-cluster --watch

Você deverá ver uma saída semelhante ao seguinte exemplo:

NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)          AGE
javaee-cafe-cluster         LoadBalancer   10.0.251.169   52.152.189.57   80:31732/TCP     68s

Depois que o endereço EXTERNAL-IP for alterado de pendente para um endereço IP público real, use Ctrl+C para interromper o processo de inspeção do kubectl.

Se algum tempo se passou entre a execução das etapas desta seção e a anterior, verifique se o banco de dados está ativo, se necessário. Consulte a observação anterior sobre a pausa do banco de dados.

Abra um navegador da Web para o endereço IP externo do seu serviço (52.152.189.57 para o exemplo acima) para ver a página inicial do aplicativo. Se a página não for carregada corretamente, é porque o aplicativo está sendo iniciado. Aguarde e atualize a página mais tarde. Você deve ver o nome do pod de suas réplicas de aplicativo exibidas na parte superior esquerda da página. Aguarde alguns minutos e atualize a página para ver um nome de pod diferente exibido devido ao balanceamento de carga fornecido pelo cluster do AKS.

Aplicativo Liberty Java implantado com êxito no AKS.

Observação

Atualmente, o aplicativo não usa HTTPS. É recomendável habilitar o TLS com os próprios certificados. Para obter mais informações, consulte Usar o TLS com um controlador de entrada no AKS (Serviço de Kubernetes do Azure).

Limpar os recursos

Para evitar cobranças do Azure, limpe recursos desnecessários. Quando o cluster não for mais necessário, use o comando az group delete 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óximas etapas

Você pode saber mais sobre as referências usadas neste guia:

Para incorporar o Cache do Azure para Redis em um aplicativo Java, consulte Usar o Cache do Azure para Redis em Java com o cliente Redisson Redis.

Para explorar as opções para executar produtos WebSphere no Azure, consulte Quais são as soluções para executar a família de produtos WebSphere no Azure?