すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:ACK クラスタに JAR または WAR パッケージを使用してアプリケーションをデプロイする

最終更新日:Apr 01, 2025

エンタープライズ分散型アプリケーションサービス (EDAS) は、クラウドネイティブ Kubernetes に基づく Container Service for Kubernetes (ACK) と完全に統合されています。EDAS を使用すると、Kubernetes コンテナ化アプリケーションのライフサイクル全体を管理できます。ACK クラスタには、仮想マシン、ストレージ、ネットワーキング、セキュリティにおける Alibaba Cloud の機能が組み込まれており、Kubernetes コンテナ化アプリケーションに優れたランタイム環境を提供します。このトピックでは、デモ JAR または WAR パッケージを使用して ACK クラスタにアプリケーションをデプロイする方法について説明します。

背景情報

Container Service for Kubernetes (ACK) クラスタにアプリケーションをデプロイするには、ACK コンソールでクラスタを作成し、EDAS コンソールにインポートする必要があります。その後、デプロイメントパッケージまたはイメージを使用して、クラスタにアプリケーションをデプロイできます。

Procedure for deploying an application in an ACK cluster

前提条件

手順 1:ACK クラスタを作成する

ACK コンソール にログインし、ACK クラスタを作成します。詳細については、「ACKを使用してマジックキューブゲームアプリケーションをすばやくデプロイする」を参照してください。

ACK Serverless クラスタを作成する場合は、[VPC] パラメータを [VPC を作成] に設定し、[サービスディスカバリ] パラメータを [privatezone] に設定します。これにより、ACK Serverless クラスタは、EDAS にインポートされた後に Alibaba Cloud Service Mesh (ASM) を使用できます。VPC パラメータを [既存の VPC を選択] に設定した場合は、クラスタの作成後に、クラスタに仮想プライベートクラウド (VPC) と vSwitch リソースが含まれているかどうかを確認してください。詳細については、「ACK Serverless クラスタを作成する」を参照してください。

手順 2:ACK クラスタを EDAS コンソールにインポートする

デフォルトでは、EDAS コンソールで ACK クラスタを EDAS にインポートすると、ack-ahas-sentinel-pilot、ack-arms-pilot、および ack-arms-prometheus コンポーネントがインストールされます。 ack-ahas-sentinel-pilot コンポーネントは、スロットリングとデグレードのためのアプリケーション保護コンポーネントです。 ack-arms-pilot コンポーネントは、Application Real-Time Monitoring Service (ARMS) コンポーネントです。 ack-arms-prometheus コンポーネントは、Prometheus モニタリングコンポーネントです。

  1. EDAS コンソール にログインします。左側のナビゲーションペインで、[リソース管理] > [container Service Kubernetes クラスタ] を選択します。

  2. 上部のナビゲーションバーで、ACK クラスタが存在するリージョンを選択し、[container Service Kubernetes クラスタを同期] をクリックします。

  3. EDAS に同期されている ACK クラスタを見つけ、インポート[アクション] 列の をクリックします。

  4. [インポートの事前チェック] ダイアログボックスで、[続行] をクリックします。

  5. [kubernetes クラスタのインポート] ダイアログボックスで、[Microservice Namespace] ドロップダウンリストから ACK クラスタをインポートするマイクロサービス名前空間を選択し、ビジネス要件に基づいて [service Mesh] をオンまたはオフにして、[インポート] をクリックします。

    [クラスター ステータス] 列の値が [実行中] で、[インポート ステータス] 列の値が ACK クラスターで [インポート済み] の場合、クラスターは EDAS にインポートされます。

手順 3:ACK クラスタにアプリケーションをデプロイする

説明

WAR パッケージを使用してアプリケーションをデプロイする手順は、JAR パッケージを使用する場合と同じです。このトピックの例では、JAR パッケージを使用してアプリケーションをデプロイする方法を示します。

  1. EDAS コンソール にログインします。左側のナビゲーションペインで、[アプリケーション管理] > [アプリケーション] を選択します。上部のナビゲーションバーで、リージョンを選択します。ページの上部で、マイクロサービス名前空間を選択します。[アプリケーション] ページの左上隅にある [アプリケーションの作成] をクリックします。

  2. [基本情報] ステップで、[クラスタの種類] セクションと [アプリケーションランタイム環境] セクションのパラメーターを構成し、[次へ] をクリックします。

    パラメーター

    説明

    クラスタタイプ

    アプリケーションをデプロイするクラスタのタイプ。 Kubernetes クラスタ を選択します。

    アプリケーションソースタイプ

    アプリケーションのソース。 デフォルト を選択します。

    アプリケーションランタイム環境

    管理アプリケーションタイプ

    アプリケーションが開発されたプログラミング言語。このトピックでは、Java アプリケーションをデプロイする方法の例を示します。この例では、Java を選択します。 PHP アプリケーションまたは多言語アプリケーションをデプロイする方法の詳細については、「ソースコードから PHP アプリケーションをビルドし、ACK クラスタにデプロイする」をご参照ください。

    Select Application

    アプリケーションのランタイム環境。このトピックでは、JAR または WAR パッケージを使用して Java アプリケーションをデプロイする方法の例を示します。この例では、アプリケーションとデプロイパッケージのタイプに基づいて、JavaTomcat、または EDAS-Container (HSF) を選択します。イメージを使用してアプリケーションをデプロイする方法の詳細については、「イメージを使用して Kubernetes クラスタに Java マイクロサービスアプリケーションをデプロイする」をご参照ください。

    • Java: ユニバーサル JAR パッケージを使用してアプリケーションを Dubbo または Spring Boot アプリケーションとしてデプロイする場合、このオプションを選択します。このオプションを選択した後、Java 環境 パラメーターを指定できます。

    • Tomcat: ユニバーサル WAR パッケージを使用してアプリケーションを Dubbo または Spring アプリケーションとしてデプロイする場合、このオプションを選択します。このオプションを選択した後、Java 環境 パラメーターと コンテナバージョン パラメーターを構成できます。

    • EDAS-Container (HSF): WAR または FatJar パッケージを使用してアプリケーションを High-Speed Service Framework (HSF) アプリケーションとしてデプロイする場合、このオプションを選択します。このオプションを選択した後、Java 環境Pandora Version、および Ali-Tomcat Version パラメーターを構成できます。

    説明

    OpenJDK 17 は、Dubbo 2.7.14 以降または Dubbo 3.0.6 以降と互換性があります。 OpenJDK 17 の互換性テストデータの詳細については、「OpenJDK 17 の互換性テストデータ」をご参照ください。

    表 1. OpenJDK 17 の互換性テストデータ

    Dubbo バージョン

    Spring Boot バージョン

    Nacos クライアントバージョン

    API 呼び出し

    ARMS 監視

    サービスリスト

    2.7.14

    2.7.9

    1.4.4

    サポートされています

    サポートされています

    サポートされています

    2.7.14

    2.7.9

    2.1.2

    サポートされています

    サポートされています

    サポートされています

    2.7.14

    2.7.9

    2.2.0

    サポートされています

    サポートされています

    サポートされています

    2.7.22

    2.7.9

    1.4.4

    サポートされています

    サポートされています

    サポートされています

    2.7.22

    2.7.9

    2.1.2

    サポートされています

    サポートされています

    サポートされています

    2.7.22

    2.7.9

    2.2.0

    サポートされています

    サポートされています

    サポートされています

    3.0.6

    2.7.9

    1.4.4

    サポートされています

    サポートされています

    サポートされています

    3.0.6

    2.7.9

    2.1.2

    サポートされています

    サポートされています

    サポートされています

    3.0.6

    2.7.9

    2.2.0

    サポートされています

    サポートされています

    サポートされています

    3.1.7

    2.7.9

    1.4.4

    サポートされています

    サポートされています

    サポートされています

    3.1.7

    2.7.9

    2.1.2

    サポートされています

    サポートされています

    サポートされています

    3.1.7

    2.7.9

    2.2.0

    サポートされています

    サポートされています

    サポートされています

  3. [構成] ステップで、アプリケーションの環境情報、基本情報、デプロイ方法、およびリソースパラメーターを構成し、[次へ] をクリックします。

    パラメーター

    説明

    マイクロサービス名前空間

    アプリケーションをデプロイするマイクロサービス名前空間。作成したマイクロサービス名前空間を選択します。マイクロサービス名前空間がない場合、または選択しない場合は、このパラメーターは デフォルト に設定されます。

    マイクロサービス名前空間 を作成していない場合、または別の マイクロサービス名前空間 を作成する場合は、[マイクロサービス名前空間の作成] をクリックして マイクロサービス名前空間 を作成します。詳細については、マイクロサービス名前空間の管理 トピックの「名前空間の作成」セクションをご参照ください。

    クラスター

    アプリケーションをデプロイするクラスター。[クラスター] ドロップダウンリストからインポートされた ACK クラスターを選択します。

    選択した Kubernetes クラスターが EDAS にインポートされていない場合は、[このクラスターはEDASで初めて使用されます。このチェックボックスをオンにすると、アプリケーションの作成時にクラスターがEDASにインポートされます。これにはある程度の時間がかかります。] を選択します。次に、Alibaba Cloud Service Mesh がアクティブになっているかどうかを確認します。

    説明

    アプリケーションと同じマイクロサービス名前空間に属していないクラスターを選択できます。

    K8s 名前空間

    アプリケーションの Kubernetes 名前空間。内部システムオブジェクトは、異なる Kubernetes 名前空間に割り当てられ、論理的に分離されたプロジェクト、チーム、またはユーザーグループを形成します。これにより、異なるグループを個別に管理し、クラスター全体のリソースを共有できます。有効な値:

    • default:デフォルトの Kubernetes 名前空間。オブジェクトに Kubernetes 名前空間を指定しない場合は、デフォルトの Kubernetes 名前空間が使用されます。

    • kube-system:システムによって作成されたオブジェクトの Kubernetes 名前空間。

    • kube-public:システムによって自動的に作成される Kubernetes 名前空間。この Kubernetes 名前空間は、認証されていないユーザーを含むすべてのユーザーが読み取ることができます。

    この例では、default を選択します。

    カスタム Kubernetes 名前空間を作成する場合は、[kubernetes 名前空間の作成] をクリックします。表示されるダイアログボックスで、[k8s 名前空間] フィールドに Kubernetes 名前空間の名前を入力します。名前には数字、小文字、ハイフン(-)を含めることができ、長さは 1 ~ 63 文字です。文字または数字で開始および終了する必要があります。

    アプリケーション名

    アプリケーションの名前。名前は文字で始まり、数字、文字、ハイフン(-)を含めることができます。名前の長さは最大 36 文字です。

    アプリケーションの説明

    アプリケーションの説明。説明の長さは最大 128 文字です。

    デプロイパッケージのソース

    カスタムプログラム

    このオプションを選択した場合は、[ファイルのアップロード方法] パラメーターを指定する必要があります。[ファイルのアップロード方法] パラメーターの有効な値:

    • JAR パッケージのアップロード:ダウンロードした JAR パッケージを選択してアップロードします。

    • JAR パッケージのアドレス:デモパッケージのアドレスを入力します。

    公式デモ

    EDAS は、次のデモタイプを提供します:Spring Cloud Server ApplicationSpring Cloud Client ApplicationDubbo Server Application、および Dubbo Client Application。ビジネス要件に基づいてデモタイプを選択します。

    コンテナレジストリリポジトリタイプ

    説明
    • [コンテナレジストリリポジトリタイプ] パラメーターは、ACK クラスターに Java、Tomcat、または EDAS-Container(HSF)アプリケーションをデプロイする場合にのみ使用できます。ASK クラスターにアプリケーションをデプロイする場合は、このパラメーターは使用できません。

    • aliyun-acr-credential-helper コンポーネントをインストールする必要があります。詳細については、aliyun-acr-credential-helper コンポーネントを使用してシークレットなしでイメージをプルする をご参照ください。

    • Container Registry Enterprise Edition のイメージリポジトリを使用する場合は、VPC 経由のアクセスを設定します。詳細については、VPC 経由のアクセスを設定する をご参照ください。

    • アプリケーションのイメージビルドタスクはクラスター内で実行され、リソースを消費します。単一イメージビルドタスクのデフォルトのリソース制限は、コアあたり 1 GB です。イメージビルドタスクのリソース制限を調整する方法の詳細については、イメージビルドのリソース制限を調整するにはどうすればよいですか? をご参照ください。

    Container Registry 個人版 または Container Registry Enterprise Edition のリポジトリを使用して作成されたイメージを保存する場合、イメージビルドタスクはクラスター内で実行されます。ビルドタスクには、次のスケジューリングアフィニティと容認ルールが適用されます。

    • EDAS は、edas.image.build=disable ラベルが付いているノードにビルドタスクをスケジュールしません。 // EDAS does not schedule build tasks to nodes that have the edas.image.build=disable label.

    • EDAS は、edas.image.build=enable ラベルが付いているノードにビルドタスクを優先的にスケジュールします。ただし、EDAS は、edas.image.build ラベルが付いていないノードにもビルドタスクをスケジュールする場合があります。 // EDAS preferably schedules build tasks to nodes that have the edas.image.build=enable label. However, EDAS may also schedule build tasks to nodes that do not have the edas.image.build label.

    • ビルドタスクは、key=edas.image.build, effect=NoSchedule taint があるノードを許容できます。 // Build tasks can tolerate nodes that have the key=edas.image.build, effect=NoSchedule taint.

    説明
    • 特定のノードにビルドタスクをスケジュールしたくない場合は、ノードに edas.image.build=disable ラベルを追加します。 // If you do not want to schedule build tasks to specific nodes, add the edas.image.build=disable label to the nodes.

    • ノードをビルドタスクの専用ノードとして使用する場合、ノードに edas.image.build=enable ラベルと key=edas.image.build, effect=NoSchedule taint を追加できます。これにより、taint を許容しないポッドがノードにスケジュールされるのを防ぎます。 // If you want to use a node as a dedicated node of a build task, you can add the edas.image.build=enable label and the key=edas.image.build, effect=NoSchedule taint to the node. This prevents pods that do not tolerate the taint from being scheduled to the node.

    コンテナレジストリのリージョン

    [コンテナレジストリリポジトリタイプ] パラメーターを Container Registry Enterprise Edition に設定した場合にのみ、コンテナレジストリイメージが存在するリージョンを選択します。

    コンテナレジストリ

    [コンテナレジストリリポジトリタイプ] パラメーターを Container Registry Enterprise Edition に設定した場合にのみ、コンテナイメージを選択します。

    イメージリポジトリの名前空間

    ドロップダウンリストから、イメージリポジトリが存在するマイクロサービス名前空間を選択します。[+ 名前空間の作成] をクリックしてマイクロサービス名前空間を作成することもできます。

    バージョン

    アプリケーションのバージョン番号。カスタムバージョン番号を指定するか、[タイムスタンプをバージョン番号として使用する] をクリックしてバージョン番号を生成します。

    タイムゾーン

    アプリケーションのタイムゾーン。

    Openjdk ベースイメージ

    説明

    [openjdk ベースイメージ] パラメーターは、[基本情報] ステップの [java 環境] ドロップダウンリストから カスタム Openjdk を選択した場合にのみ使用できます。

    イメージの設定

    • [alibaba Cloud Container Registry] パラメーターを 現在のアカウント に設定する場合は、次の操作を実行します。

      [リージョン][コンテナレジストリ][イメージリポジトリの名前空間]、および [イメージリポジトリ名] パラメーターを設定し、イメージバージョンを選択します。

    • [alibaba Cloud Container Registry] パラメーターを 他の Alibaba Cloud アカウント に設定する場合は、次の操作を実行します。イメージがパブリックリポジトリに保存されている場合は、[完全なイメージアドレス] パラメーターを指定します。

      重要

      JDK 7 と JDK 8 のみがサポートされています。別の JDK バージョンを使用すると、アプリケーション監視機能を使用するときに例外が報告される可能性があります。EDAS サーバーはベースイメージをプルしてアプリケーションイメージをビルドします。ベースイメージのプル権限がパブリックであることを確認してください。

    ポッドの合計数

    アプリケーションをデプロイするポッドの数。ポッドの最大数は、クラスターのパフォーマンスによって異なります。

    単一ポッドリソースクォータ

    ポッドに予約する CPU、メモリ、および一時ストレージ。制限を指定する場合は、数値を入力します。デフォルト値 0 は、制限が課されないことを指定します。CPU、メモリ、および一時ストレージの最大クォータは、クラスターのパフォーマンスによって異なります。

  4. (オプション) [詳細設定] ステップで、詳細設定を構成します。

  5. 詳細設定を構成した後、[アプリケーションの作成] をクリックします。[作成完了] ステップで、[アプリケーションの作成] をクリックします。

  6. [アプリケーション変更の確認の事前チェック] ダイアログボックスで、[事前チェックの開始] をクリックします。

    1. ダイアログボックス内のデータが更新された後、事前チェック項目と結果を確認し、[続行] をクリックします。

    2. (オプション) 上記の事前チェック項目を変更した場合は、[再確認] をクリックします。

    アプリケーションのデプロイには数分かかります。処理中は、[変更リスト] ページで変更レコードを表示して、アプリケーションのデプロイの進行状況を追跡できます。アプリケーションをデプロイした後、[アプリケーション概要] ページに移動して、Pod の実行状態を表示します。Pod が 実行中 の状態であれば、アプリケーションはデプロイされています。Pod の実行状態をクリックすると、[デプロイメント][pod]、およびアプリケーションインスタンスの高度な構成を表示できます。

次の手順

アプリケーションをデプロイした後、インターネット経由でアプリケーションにアクセスできるように、インターネット向けサーバーロードバランサ (SLB) インスタンスを追加します。同じ VPC 内のすべてのノードがこの内部向け SLB インスタンスを使用してアプリケーションにアクセスできるように、内部向け SLB インスタンスを追加することもできます。詳細については、「CLB インスタンスをバインドする」または「CLB インスタンスを再利用する」を参照してください。