Kubernetes 上で Java マイクロサービスを実行する場合、クラスターランタイムに加えて、アプリケーションライフサイクル管理、モニタリング、およびサービスガバナンスが必要になります。Enterprise Distributed Application Service (EDAS) は、Container Service for Kubernetes (ACK) にこれらの機能を追加することで、単一のコンソールからコンテナ化された Java アプリケーションのデプロイ、モニタリング、およびガバナンスを実現します。
本ガイドでは、以下の 3 つのステップを順に説明します:ACK クラスターの作成、EDAS へのクラスターのインポート、およびコンテナイメージからの Java アプリケーションのデプロイ。
仕組み

ACK コンソールで ACK クラスターを作成します。
クラスターを EDAS にインポートして、アプリケーション管理、モニタリング、およびガバナンスを有効化します。
EDAS コンソールで、コンテナイメージから Java アプリケーションをデプロイします。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
Alibaba Cloud アカウントで EDAS および ACK のアクティベーションが完了していること
マイクロサービス名前空間を作成済みであること。詳細については、「マイクロサービス名前空間の管理」をご参照ください。
Alibaba Cloud アカウントに ACK のデフォルトロールが付与済みであること。詳細については、「ACK のデフォルトロール」をご参照ください。
ステップ 1:ACK クラスターの作成
ACK コンソールにログインして、マネージド Kubernetes クラスターを作成します。手順については、「マネージド Kubernetes クラスターを作成する」をご参照ください。
ACK Serverless クラスター:ACK Serverless クラスターを EDAS にインポートした後に Alibaba Cloud Service Mesh (ASM) を使用する場合は、クラスター作成時に以下の設定を適用してください。
| 設定項目 | 値 |
|---|---|
| VPC | VPC の作成 |
| サービスディスカバリー | PrivateZone |
[VPC] を [既存の VPC を選択] に設定した場合、クラスターに必要な VPC および vSwitch リソースが含まれていることを確認してください。 詳細については、「サーバーレス Kubernetes クラスターを作成する」をご参照ください。
ステップ 2:ACK クラスターを EDAS にインポートする
ACK クラスターをインポートすると、以下のコンポーネントが自動的にインストールされます。
| コンポーネント | 目的 |
|---|---|
| ack-ahas-sentinel-pilot | トラフィック制御およびダウングレード(アプリケーション保護) |
| ack-arms-pilot | Application Real-Time Monitoring Service (ARMS) エージェント |
| ack-arms-prometheus | Prometheus モニタリング |
クラスターをインポートするには、以下の手順を実行します。
EDAS コンソールにログインします。
左側のナビゲーションウィンドウで、Resource Management > Container Service Kubernetes Clusters を選択します。
上部のナビゲーションバーで、ACK クラスターのリージョンを選択し、Container Service Kubernetes クラスターの同期 をクリックします。
対象のクラスターを見つけ、Actions 列の インポート をクリックします。
インポート事前チェック ダイアログボックスで、続行 をクリックします。
Kubernetes クラスターのインポート ダイアログボックスで、以下の操作を行います。
マイクロサービス名前空間 のドロップダウンリストから、マイクロサービス名前空間を選択します。
Service Mesh を、要件に応じて有効または無効に切り替えます。
インポート をクリックします。
インポートの確認: クラスターステータス が 実行中 になり、インポートステータス が インポート済み になった場合、インポートは成功しています。
ステップ 3:Java アプリケーションのデプロイ
3a. アプリケーションの作成
EDAS コンソールにログインします。
左側のナビゲーションウィンドウで、Application Management > Applications を選択します。
上部のナビゲーションバーで、リージョンおよびマイクロサービス名前空間を選択します。
アプリケーションの作成 をクリックします。
3b. 基本情報を構成する
基本情報 ステップで、以下のパラメーターを設定し、次へ をクリックします。
| パラメーター | 本ガイドでの値 |
|---|---|
| クラスタータイプ | Kubernetes クラスター。Kubernetes クラスターは ASM をサポートします。 |
| アプリケーションソースタイプ | デフォルト |
| ホストアプリケーション | Java |
| アプリケーションの選択 | カスタム。カスタムイメージには、組み込みの実行環境が含まれています。 |
OpenJDK 17 は Dubbo 2.7.14 以降、または Dubbo 3.0.6 以降と互換性があります。
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 | 対応 | 対応 | 対応 |
3c. デプロイ構成を設定する
構成 ステップで、以下のパラメーターを設定し、次へ をクリックします。
環境
| パラメーター | 説明 |
|---|---|
| マイクロサービス名前空間 | 以前に作成した名前空間を選択します。指定しない場合、デフォルトで [デフォルト] になります。名前空間を作成するには、[マイクロサービス名前空間の作成] をクリックします。「マイクロサービス名前空間の管理」の「名前空間の作成」セクションをご参照ください。 |
| クラスター | Kubernetes クラスターを選択します。クラスターが EDAS にインポートされていない場合、このクラスターは EDAS で初めて使用されます を選択して、アプリケーション作成時にクラスターをインポートできます。その後、Alibaba Cloud Service Mesh が有効化されているか確認してください。クラスターのインポートには一定の時間がかかります。クラスターは、同じマイクロサービス名前空間に属している必要はありません。 |
| K8s 名前空間 | アプリケーションの Kubernetes 名前空間です。選択肢: default、kube-system(システムオブジェクト)、kube-public(すべてのユーザー(未認証ユーザーを含む)が読み取り可能)。カスタム名前空間を作成する場合は、Kubernetes 名前空間の作成 をクリックします。名前には数字、小文字、ハイフン(-)のみ使用でき、長さは 1~63 文字で、先頭および末尾は文字または数字で始まり・終わる必要があります。 |
アプリケーションの詳細
| パラメーター | 説明 |
|---|---|
| アプリケーション名 | 先頭は英字で始める必要があります。数字、英字、ハイフン(-)を含めることができます。最大 36 文字です。 |
| アプリケーションの説明 | 任意項目です。最大 128 文字です。 |
イメージソース
| パラメーター | 説明 |
|---|---|
| イメージタイプ:イメージの構成 | Alibaba Cloud Container Registry (ACR) からコンテナイメージを使用します。 |
| -- 現在のアカウント | リージョン、Container Registry、イメージリポジトリ名前空間、イメージリポジトリ名、およびイメージバージョンを選択します。 |
| -- その他の Alibaba Cloud アカウント(パブリックリポジトリ) | 完全なイメージアドレス を入力します。 |
| -- その他の Alibaba Cloud アカウント(プライベートリポジトリ) | シークレットなしでイメージをプルするために、aliyun-acr-credential-helper コンポーネントを使用します。詳細については、「aliyun-acr-credential-helper コンポーネントを使用したシークレット不要のイメージプル」をご参照ください。 |
| イメージタイプ:デモイメージ | EDAS が提供するデモイメージを使用し、イメージバージョンを選択します。デモイメージは Apsara Stack では利用できません。 |
RAM ユーザーが Container Registry Enterprise Edition のイメージを使用するには、必要な権限を付与する必要があります。詳細については、「RAM ユーザー向け Container Registry へのアクセス権限のポリシー設定」をご参照ください。
リソース
| パラメーター | 説明 |
|---|---|
| 合計 Pod 数 | デプロイする Pod 数です。最大値はクラスターの容量によって異なります。 |
| 1 Pod あたりのリソースクォータ | Pod ごとの CPU、メモリ、一時ストレージです。0 は制限なしを意味します。最大クォータはクラスターの容量によって異なります。 |
3d. 詳細設定(任意)
詳細設定 ステップで、必要に応じて以下のいずれかを構成します。
アプリケーションで JDK 11 または JDK 17 を使用する場合、対応するアノテーションを追加してください。
| JDK バージョン | アノテーション |
|---|---|
| JDK 11 | one-agent.jdk.version: OpenJDK11 |
| JDK 17 | one-agent.jdk.version: OpenJDK17 |
3e. デプロイの送信および検証
詳細設定を構成した後、アプリケーションの作成 をクリックします。
作成完了 ステップで、再度 アプリケーションの作成 をクリックします。
アプリケーション変更事前チェックの確認 ダイアログボックスで、事前チェックの開始 をクリックします。
事前チェックの結果を確認し、続行 をクリックします。
変更後に再び事前チェックを実行するには、再チェック をクリックします。
デプロイには数分かかります。変更リスト ページで進行状況を確認できます。
デプロイの検証: アプリケーションの概要 ページで、すべての Pod が 実行中 状態であることを確認します。Pod のステータスをクリックすると、デプロイメント、Pod、および詳細設定を表示できます。
ネットワークアクセスの設定
デプロイ後、アプリケーションのネットワークアクセスを設定します。
[パブリックアクセス]: インターネット向け Server Load Balancer (SLB) インスタンスをバインドします。詳細については、「CLB インスタンスのバインド」をご参照ください。
イントラネットアクセス: 同じ VPC 内の他のリソースからのアクセスを許可するために、イントラネット SLB インスタンスをバインドします。詳細については、「CLB インスタンスの再利用」をご参照ください。
お問い合わせ
EDAS における ACK クラスターおよび ACK Serverless クラスターに関するご質問やご意見がある場合は、テクニカルサポート用の DingTalk グループ(グループ ID:23197114)にご参加ください。