エンタープライズ分散型アプリケーションサービス (EDAS) は、クラウドネイティブ Kubernetes に基づく Container Service for Kubernetes (ACK) と完全に統合されています。EDAS を使用すると、Kubernetes コンテナ化アプリケーションのライフサイクル全体を管理できます。Serverless Kubernetes クラスターは、俊敏性が重要なシナリオに適用でき、個々のタスクと複数のタスクを処理するために使用できます。このトピックでは、イメージを使用して ACK Serverless クラスターにアプリケーションをデプロイする方法について説明します。
前提条件
Alibaba Cloud アカウントで EDAS と ACK がアクティブ化されていること。詳細については、以下のトピックを参照してください。
ACK のデフォルトロールがアカウントに付与されていること。詳細については、「ACK ロール」を参照してください。
手順 1:ASK クラスターを作成する
ACK コンソール にログインし、ACK Serverless クラスターを作成します。詳細については、「ASK クラスターを作成する」を参照してください。
手順 2:EDAS コンソールに ASK クラスターをインポートする
デフォルトでは、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 モニタリングコンポーネントです。
EDAS コンソール にログインします。左側のナビゲーションペインで、 を選択します。
上部のナビゲーションバーで、リージョンと ASK クラスターが存在するマイクロサービス名前空間を選択します。次に、[serverless Kubernetes クラスターの同期] をクリックします。
EDAS に同期されている ACK Serverless クラスターを見つけ、インポート[アクション] 列の をクリックします。
[警告] メッセージで、[OK] をクリックします。
[インポートの事前チェック] ダイアログボックスで、[続行] をクリックします。
[kubernetes クラスタのインポート] ダイアログボックスで、ACK Serverless クラスタをインポートするマイクロサービス名前空間を [マイクロサービス名前空間] ドロップダウンリストから選択し、ビジネス要件に基づいて [サービスメッシュ] をオンまたはオフにして、[インポート] をクリックします。
ACK Serverless クラスターの [クラスターステータス] 列の値が 実行中 で、インポートステータス 列の値が インポート済み の場合、クラスターは EDAS にインポートされます。
手順 3:ACK Serverless クラスターにアプリケーションをデプロイする
EDAS コンソール にログインします。左側のナビゲーションペインで、 を選択します。上部のナビゲーションバーで、リージョンを選択します。ページの上部で、マイクロサービス名前空間を選択します。[アプリケーション] ページの左上隅にある [アプリケーションの作成] をクリックします。
[基本情報] ステップで、[クラスターの種類] セクションと [アプリケーションランタイム環境] セクションのパラメーターを構成し、[次へ] をクリックします。
[構成] ステップで、アプリケーションの環境情報、基本情報、デプロイ方法、およびリソースパラメーターを構成し、[次へ] をクリックします。
パラメーター
説明
マイクロサービス名前空間
アプリケーションをデプロイするマイクロサービス名前空間。作成したマイクロサービス名前空間を選択します。マイクロサービス名前空間がない場合、または選択しない場合は、このパラメーターは デフォルト に設定されます。
マイクロサービス名前空間 を作成していない場合、または別の マイクロサービス名前空間 を作成する場合は、[マイクロサービス名前空間の作成] をクリックして マイクロサービス名前空間 を作成します。詳細については、マイクロサービス名前空間の管理 トピックの「名前空間の作成」セクションをご参照ください。
クラスター
アプリケーションをデプロイするクラスター。[クラスター] ドロップダウンリストから 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 アカウント に設定する場合は、次のいずれかの操作を実行します。
イメージがパブリックリポジトリに保存されている場合は、完全なイメージアドレス パラメーターを指定します。
イメージがプライベートリポジトリに保存されている場合は、aliyun-acr-credential-helper コンポーネントを使用してコンテナーイメージをプルします。詳細については、aliyun-acr-credential-helper コンポーネントを使用してシークレットなしでイメージをプルする をご参照ください。
デモイメージ
このオプションを選択する場合は、EDAS が提供するデモイメージを使用し、イメージバージョンを選択する必要があります。
説明Apsara Stack ではデモイメージは提供されていません。
説明Container Registry Enterprise Edition のリポジトリにあるイメージを使用して RAM ユーザーとしてアプリケーションをデプロイする前に、RAM ユーザーは関連する Alibaba Cloud アカウントから必要な権限を取得する必要があります。詳細については、RAM 認証ルール をご参照ください。
Pod の合計数
アプリケーションをデプロイする Pod の数。Pod の最大数は、クラスターのパフォーマンスによって異なります。
単一 Pod リソースクォータ
Pod に予約する CPU、メモリ、および一時ストレージ。制限を指定する場合は、数値を入力します。デフォルト値 0 は、制限が課されないことを指定します。CPU、メモリ、および一時ストレージの最大クォータは、クラスターのパフォーマンスによって異なります。
(オプション) [詳細設定] ステップで、詳細設定を構成します。
- 重要
JDK 11 を使用している場合は、
one-agent.jdk.version: OpenJDK11
アノテーションを構成します。JDK 17 を使用している場合は、
one-agent.jdk.version: OpenJDK17
アノテーションを構成します。
詳細設定を構成した後、[アプリケーションの作成] をクリックします。[作成完了] ステップで、[アプリケーションの作成] をクリックします。
[アプリケーション変更の確認の事前チェック] ダイアログボックスで、[事前チェックの開始] をクリックします。
ダイアログ ボックス内のデータが更新された後、事前チェック項目と結果を確認し、[続行] をクリックします。
(オプション) 上記の事前チェック項目を変更した場合は、[再確認] をクリックします。
アプリケーションのデプロイには数分かかります。処理中は、[変更リスト] ページで変更レコードを表示して、アプリケーションのデプロイの進行状況を追跡できます。アプリケーションをデプロイした後、[アプリケーション概要] ページに移動して、Pod の実行状態を表示します。Pod が 実行中 の状態であれば、アプリケーションはデプロイされています。Pod の実行状態をクリックすると、[デプロイメント]、[pod]、およびアプリケーションインスタンスの詳細設定を表示できます。
次の手順
アプリケーションをデプロイした後、インターネット経由でアプリケーションにアクセスできるように、インターネット向けサーバーロードバランサー (SLB) インスタンスを追加します。また、同じ VPC 内のすべてのノードがこの内部向け SLB インスタンスを使用してアプリケーションにアクセスできるように、内部向け SLB インスタンスを追加することもできます。詳細については、「CLB インスタンスをバインドする」または「CLB インスタンスを再利用する」を参照してください。
EDAS の ACK および Serverless Kubernetes クラスターの DingTalk グループ
EDAS で Container Service for Kubernetes (ACK) および Serverless Kubernetes クラスターを使用する際に質問や提案がある場合は、チケット を送信してください。フィードバックを送信するには、DingTalk グループ ID 23197114
を検索して DingTalk グループに参加することもできます。