Open Liberty または WebSphere Liberty を使用する Java アプリケーションを Azure Kubernetes Service (AKS) クラスターに手動でデプロイする
この記事では、Azure で Open/WebSphere Liberty を実行する詳しい手順のマニュアル ガイダンスを紹介します。
具体的には、この記事では次のタスクを実行する方法について説明します。
- Open Liberty または WebSphere Liberty ランタイムで、Java、Java EE、Jakarta EE、または MicroProfile アプリケーションを実行します。
- Liberty コンテナー イメージを使用して、
az acr build
を使用してアプリケーション Docker イメージをビルドします。 - Liberty オペレーターを使用して、コンテナ化されたアプリケーションを Azure Kubernetes Service (AKS) クラスターにデプロイします。
Liberty オペレーターにより、Kubernetes クラスターで実行されるアプリケーションのデプロイと管理が簡単になります。 Open Liberty Operator または WebSphere Liberty Operator を使用して、トレースやダンプの収集など、より高度な操作を実行することもできます。
AKS への移行を加速する、さらに自動化されたソリューションについては、「Azure Kubernetes Service (AKS) クラスターに Open Liberty または WebSphere Liberty を使用する Java アプリケーションをデプロイする」を参照してください。
Open Liberty の詳細については、Open Liberty プロジェクトのページを参照してください。 IBM WebSphere Liberty の詳細については、WebSphere Liberty の製品ページを参照してください。
この記事は、デプロイをすばやく行うのに役立ちます。 運用環境に移行する前に、Tuning Liberty について調べる必要があります。
WebSphere on Azure ソリューションを開発しているエンジニアリング チームと密接に連携しながら移行シナリオに取り組むことに関心がある場合は、こちらの簡単な WebSphere 移行に関するアンケートに内容を記入し、連絡先情報を含めてください。 プログラム マネージャー、アーキテクト、エンジニアのチームからすぐに連絡があり、緊密なコラボレーションが開始されます。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Windows、macOS または Linux がインストールされたローカル マシンを準備します。
- Azure CLI コマンドを実行するには Azure CLI 2.61.0 以降をインストールします。
- az login コマンドを使用して、Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「Azure CLI を使用して Azure にサインインする」を参照してください。
- 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。
- az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
- Java Standard Edition (SE) 実装バージョン 17 (例: Eclipse Open J9) をインストールします。
- Maven の バージョン 3.5.0 以降をインストールします。
- Git がインストールされていることを確認します。
- サブスクリプションで
Owner
ロールまたはContributor
およびUser Access Administrator
ロールが割り当てられていることを確認してください。 「Azure portal を使用して Azure ロールの割り当てを一覧表示する」の手順に従って、割り当てを確認できます。
Azure へのサインイン
まだ行っていない場合は、az login コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。
az login
Note
PowerShell では、Bash と同様に、ほとんどの Azure CLI コマンドを実行できます。 違いがあるのは、変数を使用する場合だけです。 以降のセクションでは、必要に応じてさまざまなタブでその違いについて説明します。
複数の Azure テナントがお使いの Azure 資格情報に関連付けられている場合は、サイン インするテナントを指定する必要があります。 そのためには、--tenant
オプションを使用します。 たとえば、az login --tenant contoso.onmicrosoft.com
のようにします。
リソース グループを作成する
Azure リソース グループは、Azure リソースが展開され管理される論理グループです。
eastus2
の場所で az group create コマンドを使用して、java-liberty-project
というリソース グループを作成します。 このリソース グループは、後で Azure Container Registry インスタンスと AKS クラスターを作成するために使用されます。
export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2
コンテナー レジストリ インスタンスを作成する
az acr create コマンドを使用して、Container Registry インスタンスを作成します。 次の例では、 youruniqueacrname
という名前のコンテナー レジストリ インスタンスを作成します。 youruniqueacrname
が Azure 内で一意であることを確認します。
Note
この記事では、Container Registry に推奨されるパスワードレス認証メカニズムを使用します。 az acr credential show
を使用してユーザー名とパスワードを取得した後も、docker login
でユーザー名とパスワードを使用することはできます。 ユーザー名とパスワードの使用は、パスワードレス認証よりも安全性が低くなります。
export REGISTRY_NAME=youruniqueacrname
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name $REGISTRY_NAME \
--sku Basic
しばらくすると、次の行を含む JSON 出力が表示されます。
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"resourceGroup": "java-liberty-project",
次に、Container Registry インスタンスのログイン サーバーを取得します。 この値は、後でアプリケーション イメージを AKS クラスターにデプロイするときに必要になります。
export LOGIN_SERVER=$(az acr show \
--name $REGISTRY_NAME \
--query 'loginServer' \
--output tsv)
AKS クラスターを作成する
AKS クラスターを作成するには、az aks create コマンドを使用します。 次の例では、1 つのノードで myAKSCluster
という名前のクラスターを作成します。 このコマンドは、完了するまでに数分かかります。
export CLUSTER_NAME=myAKSCluster
az aks create \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--node-count 1 \
--generate-ssh-keys \
--enable-managed-identity
数分後、コマンドが完了し、次の出力を含むクラスターに関する情報が JSON 形式で返されます。
"nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "java-liberty-project",
コンテナー レジストリ インスタンスを AKS クラスターにアタッチする
az aks update コマンドを実行して、次の例に示すように、AKS クラスターがコンテナー レジストリ インスタンスからイメージをプルするように認証されるように、Container Registry インスタンスを AKS クラスターにアタッチします。
az aks update \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--attach-acr $REGISTRY_NAME
AKS クラスターに接続する
Kubernetes クラスターを管理するには、Kubernetes のコマンドライン クライアントである kubectl を使用します。 kubectl
をローカルにインストールするには、次の例に示すように、az aks install-cli コマンドを使用します。
az aks install-cli
Kubernetes クラスターに接続するように kubectl
を構成するには、az aks get-credentials コマンドを使用します。 このコマンドは、資格情報をダウンロードし、それを使用するように Kubernetes CLI を構成します。
az aks get-credentials \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--overwrite-existing \
--admin
Note
上記のコマンドは、Kubernetes 構成ファイルの既定の場所 (~/.kube/config
) を使用します。 --file
を使用して、Kubernetes 構成ファイルに対して別の場所を指定できます。
クラスターへの接続を確認するには、クラスター ノードの一覧を返す kubectl get コマンドを使用します。
kubectl get nodes
次の出力例は、前の手順で作成した単一ノードを示しています。 ノードの状態が "準備完了" であることを確認します。
NAME STATUS ROLES AGE VERSION
aks-nodepool1-xxxxxxxx-yyyyyyyyyy Ready <none> 76s v1.29.9
Azure SQL Database の作成
このセクションでは、アプリで使用する Azure SQL Database の Single Database を作成します。
まず、データベース関連の環境変数を設定します。 <your-unique-sql-server-name>
を Azure SQL Database サーバーの一意の名前に置き換えます。
export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb
ターミナルで次のコマンドを実行して、Azure SQL Database に 1 つのデータベースを作成し、現在サインインしているユーザーを Microsoft Entra 管理者として設定します。詳細については、「 Quickstart: 単一データベースの作成 - Azure SQL Database」を参照してください。
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
次に、ローカル IP アドレスを Azure SQL Database サーバーのファイアウォール規則に追加して、ローカル コンピューターが後でローカル テストのためにデータベースに接続できるようにします。
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
Note
セキュリティに関する考慮事項のために SQL 認証が無効になっている Azure SQL サーバーを作成します。 サーバーに対する認証には、Microsoft Entra ID のみが使用されます。 SQL 認証を有効にする必要がある場合は、 az sql server create を参照してください。
Service Connector を使用して AKS でサービス接続を作成する
次のコマンドを実行して、Service Connector で Microsoft Entra ワークロード ID を使用して、AKS クラスターと SQL データベース間の接続を作成します。 詳細については、「 Service Connector を使用した AKS でのサービス接続の作成 (プレビュー)」を参照してください。
# 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
Note
SQL 認証を使用せずに Azure SQL Database に安全にアクセスするためにMicrosoft Entra ワークロード IDを使用するように再推奨されています。 SQL 認証を使用する必要がある場合は、このセクションの上記の手順を無視し、ユーザー名とパスワードを使用して Azure SQL Database に接続します。
Service Connector によって作成された servcie アカウントとシークレットを取得する
Azure SQL Database に対して認証を行うには、Service Connector によって作成されたサービス アカウントとシークレットを取得する必要があります。 「コンテナーの更新のセクションに従います。 オプション 提供されている YAML サンプル コード スニペットを使用してデプロイを間接的に作成し 次の手順を実行します。
サンプルの Kubernetes デプロイ YAML の強調表示されたセクションから、次の例に示すように、
serviceAccountName
とsecretRef.name
の値をコピーします。serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>
<service-account-name>
と<secret-name>
を前の手順でコピーした値に置き換えて、次の環境変数を定義します。export SERVICE_ACCOUNT_NAME=<service-account-name> export SECRET_NAME=<secret-name>
これらの値は、次のセクションで、Liberty アプリケーションを AKS クラスターにデプロイするために使用します。
Note
Service Connector によって作成されたシークレットには、Azure SQL Database へのパスワードなしの接続文字列であるAZURE_SQL_CONNECTIONSTRING
が含まれています。 詳細については、 ユーザー割り当てマネージド ID 認証のサンプル値 を参照してください。
Open Liberty オペレーターをインストールする
このセクションでは、AKS クラスターに Open Liberty オペレーターをインストールして、Liberty アプリケーションをホストします。
次のコマンドを実行して、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
アプリケーション イメージの構成とビルド
AKS クラスターに Liberty アプリケーションをデプロイして実行するには、Open Liberty コンテナー イメージまたは WebSphere Liberty コンテナー イメージを使用して、アプリケーションを Docker イメージとしてコンテナ化します。
このセクションの手順に従って、Liberty ランタイムにサンプル アプリケーションをデプロイします。 これらの手順では、Maven を使用します。
アプリケーションをチェックアウトする
このガイドのサンプル コードをクローンします。 サンプルは GitHub にあります。 リポジトリにはいくつかのサンプルがあります。 この記事では、 java-app
サンプルを使用します。 重要なファイルを次に示します。
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241029
HEAD がデタッチされた状態であることを示すメッセージが表示された場合、このメッセージは無視しても問題ありません。 これは、タグをチェックアウトしたという意味です。
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
java、resources、および webapp ディレクトリには、サンプル アプリケーションのソース コードが含まれています。 このコードでは、jdbc/JavaEECafeDB
という名前のデータ ソースを宣言して使用します。
aks ディレクトリでは、ファイル openlibertyapplication-passwordless-db.yaml を使用してアプリケーション イメージをデプロイします。 docker ディレクトリには、Open Liberty または WebSphere Liberty を使用してアプリケーション イメージを作成するための 2 つのファイルがあります。
ディレクトリ liberty/config では、server.xml を使用して、Open Liberty および WebSphere Liberty クラスターのデータベース接続を構成します。 これは、Azure SQL Database への接続に使用される変数 azure.sql.connectionstring
を定義します。
pom.xml ファイルは、プロジェクトの構成情報を含む Maven プロジェクト オブジェクト モデル (POM) ファイルです。 pom-azure-identity.xml ファイルはazure-identity
依存関係を宣言します。依存関係は、Microsoft Entra ID を使用して Azure サービスに対する認証に使用されます。
Note
このサンプルでは、 azure-identity
ライブラリを使用して、Microsoft Entra 認証を使用して Azure SQL Database に対する認証を行います。これは、セキュリティ上の考慮事項に推奨されます。 Liberty アプリケーションで SQL 認証を使用する必要がある場合は、JDBC を使用した Relational データベース接続を参照してください。
プロジェクトをビルドする
これで必要なプロパティが集まったので、アプリケーションをビルドできます。 プロジェクトの POM ファイルにより、環境から多くの変数が読み取られます。 Maven ビルドの一部として、これらの変数は src/main/aks にある YAML ファイルの値を設定するために使用されます。 必要に応じて、Maven の外部でアプリケーションに対して同様の操作を行うことができます。
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
プロジェクトをローカルでテストする
Azure にデプロイする前にプロジェクトをローカルで実行し、テストできるようになりました。 便宜上、liberty-maven-plugin
を使用します。 liberty-maven-plugin
の詳細については、「Building a web application with Maven」(Maven での Web アプリケーションのビルド) を参照してください。 アプリケーションでは、ローカル IDE などの他のメカニズムを使用して、同様の操作を行うことができます。 コンテナーでの開発を目的とした liberty:devc
オプションの使用を検討することもできます。 liberty:devc
の詳細については、Liberty のドキュメントを参照してください。
Note
"サーバーレス" データベースのデプロイを選んだ場合、SQL データベースが一時停止モードになっていないことを確認します。 これを行う方法の 1 つは、「クイックスタート: Azure portal クエリ エディター (プレビュー) を使用して Azure SQL Database のクエリを実行する」で説明されているように、データベース クエリ エディターにログインすることです。
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
アプリケーションが想定どおりに動作することを確認します。 成功すると、コマンドの出力に
[INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds.
のようなメッセージが表示されます。 ブラウザーでhttp://localhost:9080/
にアクセスし、アプリケーションがアクセス可能で、すべての機能が動作していることを確認します。Ctrl+C キーを押して停止します。 バッチ ジョブを終了する必要がある場合は、
Y
を選択します。
完了したら、次のコマンドを使用して、ローカル IP アドレスが Azure SQL Database にアクセスできるようにするファイアウォール規則を削除します。
az sql server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name AllowLocalIP
AKS デプロイのイメージをビルドする
次の例に示すように、 az acr build コマンドを実行してイメージをビルドできるようになりました。
cd $BASE_DIR/java-app/target
az acr build \
--registry ${REGISTRY_NAME} \
--image javaee-cafe:v1 \
.
az acr build
コマンドは、Dockerfile で指定された成果物を Container Registry インスタンスにアップロードし、イメージをビルドして、コンテナー レジストリ インスタンスに格納します。
アプリケーションを AKS クラスターにデプロイする
次の手順を使用して、AKS クラスターに Liberty アプリケーションをデプロイします。
次のコマンドを実行して、デプロイ ファイルを適用します。
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-passwordless-db.yaml
次のコマンドを実行して、
OpenLibertyApplication
インスタンスが作成されたかどうかを確認します。kubectl get openlibertyapplication javaee-cafe-cluster
次の例のような出力が表示されます。
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY WARNING AGE javaee-cafe-cluster jiangma102924acr.azurecr.io/javaee-cafe:v1 True True True 57s
次のコマンドを実行して、オペレーターによって作成されたデプロイの準備ができているかどうかを確認します。
kubectl get deployment javaee-cafe-cluster --watch
次の例のような出力が表示されます。
NAME READY UP-TO-DATE AVAILABLE AGE javaee-cafe-cluster 0/3 3 0 20s
[
READY
] 列の下に3/3
が、[AVAILABLE
] 列の下に3
が表示されるまで待ってから、Ctrl+C キーを使用してkubectl
ウォッチ プロセスを停止します。
アプリケーションをテストする
アプリケーションが実行されると、Kubernetes ロード バランサー サービスによってアプリケーション フロント エンドがインターネットに公開されます。 このプロセスの完了にはしばらく時間がかかることがあります。
進行状況を監視するには、次の例に示すように、--watch
引数を指定して kubectl get service コマンドを使用します。
kubectl get service javaee-cafe-cluster --watch
次の例のような出力が表示されます。
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
EXTERNAL-IP アドレスがpending から実際のパブリック IP アドレスに変わったら、Ctrl+C キーを使用して kubectl
ウォッチ プロセスを停止します。
このセクションの手順と前のセクションの手順の実行の間に時間が経過している場合は、必要に応じてデータベースがアクティブであることを確認します。 データベースの一時停止については、前の注意事項を参照してください。
Web ブラウザーでサービスの外部 IP アドレス (上記の例では 52.152.189.57
) を開き、アプリケーションのホーム ページを表示します。 ページが正しく読み込まれない場合は、アプリが起動中であるためです。 しばらく待ってから、ページを更新してください。 ページの左上にアプリケーション レプリカのポッド名が表示されることを確認します。 数分待ってページを最新の情報に更新すると、AKS クラスターによって提供される負荷分散のため、別のポッド名が表示されます。
Note
現在、このアプリケーションは HTTPS を使用していません。 独自の証明書を使用して TLS を有効にすることをお勧めします。 詳細については、「Azure Kubernetes Service のイングレス コントローラーで TLS を使用する」を参照してください。
リソースをクリーンアップする
Azure の課金を回避するには、不要なリソースをクリーンアップする必要があります。 クラスターが必要なくなったら、az group delete コマンドを使用して、リソース グループ、コンテナー サービス、コンテナー レジストリ、データベース、およびすべての関連リソースを削除してください。
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
次のステップ
このガイドで使用された以下の参考資料から、より多くのことを学習できます。
- Azure Kubernetes Service
- チュートリアル: AKS アプリを Azure SQL Database に接続する (プレビュー)
- Azure SQL Database と Service Connector の統合
- Microsoft Entra 認証を使用して接続する
- Open Liberty
- Open Liberty オペレーター
- Open Liberty サーバーの構成
- Liberty Maven プラグイン
- Open Liberty コンテナー イメージ
- WebSphere Liberty コンテナー イメージ
Azure Cache for Redis を Java アプリに組み込むには、「 Redisson Redis クライアントを使用して Java で Azure Cache for Redis を使用する」を参照してください。
Azure で WebSphere 製品を実行するオプションについては、「Azure で WebSphere ファミリの製品を実行するためのソリューションとは?」を参照してください。