Serverless App Engine (SAE) では、アプリケーションにサイドカーコンテナを追加して、メインアプリケーションコンテナの機能を拡張できます。サイドカーコンテナは、モニタリングやログ収集などの非ビジネス機能を分離して標準化するのに役立ちます。このアプローチにより、補助的なタスクがメインアプリケーションコンテナから分離され、メインアプリケーションコンテナはコアビジネスロジックに集中できるようになります。
エントリーポイント
-
アプリケーションの作成
SAE アプリケーションリスト ページで、上部のナビゲーションバーでターゲットリージョンと名前空間を選択し、次に [アプリケーションの作成] をクリックします。[アプリケーションの基本情報] ページで、パラメーターを設定し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
警告アプリケーションを再デプロイすると、アプリケーションは再起動されます。業務の中断などの予測不能なエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることをお勧めします。
SAE アプリケーションリスト ページで、上部のナビゲーションバーでターゲットリージョンと名前空間を選択します。ターゲット [アプリケーション] の ID をクリックして、アプリケーションの詳細ページを開きます。左側のナビゲーションウィンドウで、[基本情報] をクリックします。右上隅で、[アプリケーションのデプロイ] をクリックします。
停止中のアプリケーションの変更
SAE アプリケーションリスト ページで、上部のナビゲーションバーでターゲットリージョンと名前空間を選択します。ターゲット [アプリケーション] の ID をクリックして、アプリケーションの詳細ページを開きます。[基本情報] をクリックし、次に [アプリケーション構成の変更] をクリックします。
-
Add a sidecar container. セクションを見つけて展開し、次に [追加] をクリックします。
設定
Sidecar container パネルで、以下のパラメーターを設定して [OK] をクリックします。
-
カスタムの Container name を入力します。
-
サイドカーのイメージソースに基づいて、Images of Current Alibaba Cloud Account または カスタムイメージ を選択します。
-
[Images of Current Alibaba Cloud Account]:現在のアカウントにあるコンテナレジストリ (ACR) リポジトリからイメージをプルします。Container Registry Personal Edition または Container Registry Enterprise Edition を使用できます。
前提条件: イメージを作成し、現在のアカウントの ACR イメージリポジトリにプッシュしておく必要があります。詳細については、「イメージ作成の例」、「Enterprise Edition インスタンスを使用したイメージのビルド」、または「Personal Edition インスタンスを使用したイメージのプッシュとプル」をご参照ください。
-
[Container Registry Personal Edition]:Image Repository Namespace、Image Repository Name、およびImage Versionを選択して、サイドカーイメージを指定します。
たとえば、イメージリポジトリ名前空間を [demo]、イメージリポジトリ名を [nginx]、イメージタグを [latest] に設定します。
-
[Container Registry Enterprise Edition]: サイドカーイメージを指定するには、Enterprise Edition Instances リストからインスタンスを選択し、次に Image Repository Namespace、Image Repository Name、および Image Version を選択します。
-
-
[カスタムイメージ]: 別の Alibaba Cloud アカウントのプライベートイメージリポジトリまたはサードパーティのイメージリポジトリからイメージをプルします。
-
[別の Alibaba Cloud アカウントのプライベートイメージリポジトリ]:
メインアプリケーションコンテナが別の Alibaba Cloud アカウントの ACR リポジトリからイメージをプルする場合、サイドカーコンテナも同じリポジトリからイメージをプルできます。SAE は、メインアプリケーションコンテナ用に設定された
acrAssumeRoleArnとsecretを自動的に再利用します。完全な Image address を入力する必要があります。形式は
<image repository address>:<image tag>です。例:registry.cn-beijing.aliyuncs.com/sae-demo-******:nginx。 -
[サードパーティイメージリポジトリ]:
Docker Hub、Harbor、GitHub Container Registry などのサードパーティイメージリポジトリからイメージをプルするには、イメージリポジトリアドレスがパブリックインターネットからアクセスできることを確認してください。
完全なImage addressを入力する必要があります。フォーマットは
<image name>:<image tag>です。例:registry.openanolis.cn/******/nginx:1.14.1-8.6。重要デフォルトでは、SAE アプリケーションはパブリックインターネットにアクセスできないため、パブリックリポジトリからイメージをプルできません。このアクセスを有効にするには、アプリケーションの Virtual Private Cloud (VPC) に NAT ゲートウェイを設定する必要があります。詳細については、「SAE アプリケーションのパブリックネットワークアクセスを有効にするための NAT ゲートウェイの設定」をご参照ください。
-
-
-
Sidecar container の Maximum number of CPU resources と Maximum number of memory resources を設定します。
説明サイドカーコンテナは、メインアプリケーションコンテナと CPU およびメモリリソースを共有します。メインアプリケーションコンテナが適切に機能するように、サイドカーコンテナが過剰なリソースを消費しないよう、適切なリソース制限を設定してください。
-
(任意) サイドカーコンテナの次のパラメーターを設定するには、Advanced Settings をクリックします。
-
Startup Command セクションで、サイドカーコンテナの起動コマンドを設定します。 詳細については、「起動コマンドを設定する」をご参照ください。
-
Environment Variable セクションで、サイドカーコンテナの環境変数を設定します。詳細については、「環境変数を設定する」をご参照ください。
-
Configuration Management セクションでは、ConfigMap をマウントして、サイドカーコンテナに必要な設定を注入します。詳細については、「設定をインジェクトする」をご参照ください。
-
Share temporary storage セクションで、メインアプリケーションコンテナとサイドカーコンテナの両方に一時ストレージディレクトリを作成してマウントします。
[一時ストレージ名] と [コンテナパス] を入力します。
説明一時ストレージ名には、小文字、数字、およびハイフン (-) のみを使用できます。
-
デプロイの検証
-
ページで、メインアプリケーションコンテナとサイドカーコンテナの両方のリアルタイムログを表示します。
ページ上部の [コンテナ] ドロップダウンリストから [サイドカーコンテナ sidecar-nginx] を選択して、そのリアルタイムログを表示します。
-
Instances ページで、[Webshell] を使用してインスタンスにログインします。[Webshell] ページには、メインアプリケーションコンテナとサイドカーコンテナの両方の詳細が表示されます。
上部のドロップダウンリストを使用して、[メインアプリケーションコンテナ] と [サイドカーコンテナ sidecar-nginx] を切り替えます。
-
メインアプリケーションコンテナとサイドカーコンテナの
/tmpディレクトリに、testディレクトリがあることを確認します。