Docker コンテナイメージを使用するシナリオでは、コンテナイメージデプロイメントパッケージを使用してサービスをデプロイすることをお勧めします。 Compute Nest は、コンテナイメージを管理および保存するためのパブリック Container Registry リポジトリを提供します。 各サービスプロバイダーは、マルチテナントデータ分離を実装するための名前空間に対応しています。 このトピックでは、コンテナイメージデプロイメントパッケージのシナリオ、コンテナイメージデプロイメントパッケージの仕組み、およびコンテナイメージデプロイメントパッケージの作成方法と使用方法について説明します。
シナリオ
インターネット経由でプルされた Docker コンテナイメージを使用してサービスをデプロイする場合に、コンテナイメージを公開したくない場合は、一時キーを使用してプルされるコンテナイメージデプロイメントパッケージを使用できます。
コンテナイメージデプロイメントパッケージは、自動スケーリングが必要なシナリオや、イメージを頻繁にプルする必要があるシナリオには適用できません。
実装
複数のサービスプロバイダーのコンテナイメージは、同じイメージリポジトリに保存されます。 マルチテナントデータ分離を実装するために、Compute Nest は各サービスプロバイダーを個別の名前空間に割り当てます。 サービスプロバイダーのコンテナイメージは、対応する名前空間に保存されます。 イメージのアップロードとプルのための一時キーは、対応するサービスプロバイダーの Alibaba Cloud アカウント ID に基づいて名前空間に対して生成されます。 このようにして、名前空間ベースでアクセス制御が実装されます。
使用上の注意
サービスの Resource Orchestration Service(ROS)テンプレートで、次の識別子を定義する必要があります。 識別子は、サービスのデプロイ中に実際の値に置き換えられます。
{{ computenest::acrimage::yourimage }}: コンテナイメージデプロイメントパッケージの識別子。 サービステンプレートをデプロイすると、Compute Nest は識別子を関連付けられたコンテナイメージデプロイメントパッケージの URL(compute-nest-registry.cn-hangzhou.cr.aliyuncs.com/aliUid1/volcanosh/vc-controller-manager:1.0など)に置き換えます。{{ computenest::acr::dockerconfigjson }}: コンテナイメージをプルするために使用されるキーの識別子。 サービステンプレートをデプロイすると、Compute Nest は識別子をコンテナイメージをプルするために使用される一時キーに置き換えます。
次の YAML ファイルの例は、コンテナイメージデプロイメントパッケージを使用してサービスをデプロイする方法を示しています。 コンテナイメージをプルするために使用される {{ computenest::acr::dockerconfigjson }} キーは、computenestrepo Secret に保存されます。 デプロイパッケージ識別子がコンテナイメージデプロイメントパッケージの URL に置き換えられた後、Secret は imagePullSecret として使用されてコンテナイメージをプルします。
コンテナイメージデプロイメントパッケージを作成して使用する
前提条件
Docker がインストールされており、Docker イメージが作成されていること。 詳細については、「Docker をインストールして使用する」をご参照ください。
コンテナイメージデプロイメントパッケージを作成する
デプロイメントパッケージの基本情報を構成します。
Compute Nest コンソール にログインします。 左側のナビゲーションウィンドウで、[サービスデプロイメントパッケージ] をクリックします。 サービスデプロイメントパッケージページの [デプロイメントパッケージ] セクションで、[デプロイメントパッケージの作成] をクリックします。
[デプロイメントパッケージ情報] セクションで、次の表に示すパラメータを構成します。
パラメータ
説明
デプロイメントパッケージ名
デプロイメントパッケージの名前。 名前は 3 ~ 128 文字で、文字、数字、およびアンダースコア(_)を含めることができます。 デプロイメントパッケージの作成後、名前を変更することはできません。
バージョン名
デプロイパッケージバージョンの名前。 名前は 3 ~ 50 文字で、文字、数字、およびアンダースコア(_)を含めることができます。
説明
デプロイメントパッケージの説明。 説明は 10 ~ 500 文字でなければなりません。
リソースグループ
デプロイメントパッケージが属するリソースグループの名前。
リソースグループは、使用状況、権限、およびリージョン別にリソースをグループ化するために使用されます。 リソースグループを使用して、リソースを階層的に編成し、ユーザーとプロジェクトに基づいてリソースをグループ化できます。 詳細については、「リソースグループを管理する」をご参照ください。
タグ設定
デプロイメントパッケージに追加するタグ。 完全なタグキーとタグ値を選択または入力します。 デプロイメントパッケージには最大 20 個のタグを追加できます。 使用可能なタグキーまたはタグ値がない場合は、カスタムタグを作成できます。 詳細については、「カスタムタグを追加する」をご参照ください。
コンテナイメージデプロイメントパッケージを構成します。
この例では、
apache-php5イメージがアップロードされます。[デプロイメントパッケージの内容] セクションで、[デプロイメントパッケージの種類] パラメーターを [コンテナーイメージ] に設定します。
[アクセス認証情報の取得] をクリックして、Compute Nest の Container Registry リポジトリにログインし、Compute Nest の Container Registry リポジトリにコンテナーイメージをアップロードするために使用されるコマンドを取得します。

CLI にログインし、取得したコマンドを実行して Compute Nest の Container Registry リポジトリにログインします。

コンテナーイメージにタグを付けます。

タグ付けされたコンテナーイメージを Compute Nest の Container Registry リポジトリにプッシュします。

[製品の選択] パラメーターを設定し、[デプロイメントパッケージの公開] をクリックします。
重要: このチュートリアルでは、基本的な知識があることを前提としています。 JavaScript と REST API について理解している必要があります。
[サービスデプロイメントパッケージ] ページに戻ります。「パッケージ」タブで、デプロイメントパッケージを見つけ、その ID をクリックします。 [デプロイメントパッケージの詳細] ページで、デプロイメントの進捗状況を確認します。
デプロイメント パッケージが [利用可能] 状態の場合、デプロイメント パッケージは作成されています。
コンテナイメージデプロイメントパッケージの使用
この例では、コンテナイメージデプロイメントパッケージの使用方法を説明するためにプライベートサービスが作成されます。
Compute Nest コンソール にログインします。
左側のナビゲーションウィンドウで、[マイサービス] をクリックします。 [マイサービス] ページの [作成済みサービス] タブで、[サービスの作成] をクリックします。
[サービスの作成] ページで、[サービス作成方法の選択] を [カスタム起動] に設定し、[サービスの種類の選択] を [プライベートサービス] に設定して、[次へ: 設定の構成] をクリックします。

[サービスの作成] ページで、[基本情報] セクションのパラメーターを指示に従って構成します。 [サービスデプロイメント] セクションで、nst.vendor.create.tplInputType.label パラメーターを [カスタムテンプレート] に設定し、[テンプレートを手動でインポート] を選択し、[デプロイ方法] パラメーターを ROS に設定して、テンプレートコンテンツを入力します。
ROS テンプレートの
ALIYUN::CS::ClusterApplicationリソースで、アクセス認証情報を指定する{{ computenest::acr::dockerconfigjson }}識別子と、コンテナイメージデプロイメントパッケージを指定する{{ computenest::acrimage::yourimage }}識別子を定義します。[デプロイメントパッケージの関連付け] セクションで、[コンテナイメージの関連付けの設定] を見つけて、[デプロイメントパッケージの選択] をクリックします。 [デプロイメントパッケージの選択 (コンテナイメージの関連付け)] ダイアログボックスで、デプロイメントパッケージとバージョンを選択し、[OK] をクリックします。
その他のパラメーターを構成し、[サービスの作成] をクリックします。サービスが作成されたら、サービスをテストします。サービスがテストに合格したら、サービスが Compute Nest サービスのレビュー基準を満たしているかどうかを確認し、サービスをレビューに提出します。 詳細については、「レビュー基準」をご参照ください。
サービスが作成されたら、サービスの詳細ページに移動します。 [サービスの詳細] タブで、[サービスデプロイメント] セクションを見つけ、[関連付けられたデプロイメントパッケージ] タブをクリックします。 [コンテナイメージの関連付け] タブで、デプロイメントパッケージとの関連付けを表示します。
参考資料
Compute Nest でサービスを作成する方法の詳細については、「サービスを作成する」をご参照ください。
デプロイパッケージまたはデプロイパッケージバージョンが不要になった場合は、削除できます。詳細については、「デプロイパッケージを削除する」をご参照ください。
コンテンツなど、デプロイパッケージを変更する必要がある場合は、新しいバージョンを作成できます。詳細については、「バージョンを作成する」をご参照ください。
デプロイパッケージの更新設定を構成する方法の詳細については、「サービスの更新設定を構成する」をご参照ください。