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

Enterprise Distributed Application Service:イメージを使用したKubernetesクラスターへのJavaマイクロサービスアプリケーションのデプロイ

最終更新日:Apr 24, 2025

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

背景情報

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

Procedure for deploying an application in an ACK cluster

前提条件

ステップ1: ACKクラスターの作成

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

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

手順2: EDASコンソールへのACKクラスターのインポート

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

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

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

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

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

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

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

手順3: KubernetesクラスターへのJavaアプリケーションのデプロイ

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

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

    パラメーター

    説明

    クラスタータイプ

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

    説明

    KubernetesクラスターはASMをサポートしています。

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

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

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

    ホスト型アプリケーション

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

    アプリケーションの選択

    アプリケーションのランタイム環境。 ランタイム環境は、アプリケーションのプログラミング言語と配置パッケージのタイプによって異なります。 この例では、[カスタム] を選択します。 Customの値は、Javaアプリケーションのデプロイにカスタムイメージが使用されていることを示します。 この場合、ランタイム環境はイメージに組み込まれているため、アプリケーションにはランタイム環境が自動的に使用されます。

    説明

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

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

    ダボ版

    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. [設定] ステップで、アプリケーションの環境情報、基本情報、デプロイ方法、およびリソースパラメーターを設定し、[次へ] をクリックします。

    パラメーター

    説明

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

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

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

    クラスター

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

    選択した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文字です。

    画像タイプ

    • アプリケーションのデプロイに使用されるイメージのタイプ。 有効な値: イメージの設定

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

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

      • Alibaba Cloud Container Registryパラメーターを [その他のAlibaba Cloudアカウント] に設定した場合、次のいずれかの操作を実行します。

    • デモ画像

      このオプションを選択する場合は、EDASが提供するデモ画像を使用し、画像バージョンを選択する必要があります。

      説明

      デモ画像はApsara Stackには提供されません。

    説明

    Container Registry Enterprise Editionのリポジトリ内のイメージを使用してアプリケーションをRAMユーザーとしてデプロイする前に、RAMユーザーは関連するAlibaba Cloudアカウントから必要な権限を取得する必要があります。 詳細については、「RAM認証ルール」をご参照ください。

    合計ポッド

    アプリケーションをデプロイするポッドの数。 ポッドの最大数は、クラスターパフォーマンスの影響を受けます。

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

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

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

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

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

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

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

    アプリケーションのデプロイには数分かかります。 プロセス中に、変更レコードを表示して、[変更リスト] ページでアプリケーションのデプロイの進行状況を追跡できます。 アプリケーションのデプロイ後、[アプリケーションの概要] ページに移動し、ポッドの実行ステータスを表示します。 ポッドが実行中の状態の場合、アプリケーションはデプロイされます。 ポッドの実行ステータスをクリックすると、アプリケーションインスタンスの [デプロイメント][ポッド] 、および詳細設定を表示できます。

次のステップ

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

お問い合わせ

EDASでACKクラスターとACKサーバーレスクラスターを使用する際に質問や提案がある場合は、DingTalkグループ (グループID: 23197114) に参加してテクニカルサポートに連絡してください。