Container Registryは、クラウドネイティブアプリケーション配信チェーン機能を提供します。 配信チェーンでのイメージ構築、イメージスキャン、グローバルイメージレプリケーション、イメージ配布などのタスクを合理化できます。 配信チェーン全体は、観察可能であり、追跡可能であり、保護される。 配信チェーンを使用して、ソースコードの変更を送信することによってのみ、世界中の画像を構築、スキャン、複製、および配布できます。 このトピックでは、配信チェーンを作成する方法について説明します。
前提条件
Container Registry Enterprise Editionインスタンスが作成されました。 詳細については、「Container Registry Enterprise Editionインスタンスの作成」をご参照ください。
重要Container Registry Enterprise EditionのAdvanced Editionインスタンスのみが、クラウドネイティブアプリケーション配信チェーン機能をサポートしています。
イメージリポジトリとイメージが作成されます。 詳細については、「リポジトリの作成とイメージの作成」をご参照ください。
ステップ1: デリバリーチェーンの作成と基本情報の設定
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
Container Registry Enterprise Editionインスタンスの管理ページで、 左側のナビゲーションウィンドウに表示されます。
の左上隅にチェーンページをクリックします。デリバリーチェーンの作成.
[デリバリーチェーンの作成] ページの [基本情報] セクションで、次のパラメーターを設定します。
Name: 配信チェーンの名前。
Description:省略可能です。 配信チェーンの説明。
スコープ: 名前空間と名前空間内のイメージリポジトリを選択します。
すべて有効: このスイッチをオンにすると、現在の名前空間のすべてのリポジトリがデリバリーチェーンに追加されます。 このスイッチをオフにすると、デリバリーチェーンに追加しないリポジトリを指定できます。
ステップ2: イメージ構築ルールの設定
オンプレミスのイメージリポジトリを選択した場合、配信チェーンのイメージ構築機能を使用することはできません。
チェーンセクションで、[画像の構築] をクリックします。 次に、[ビルドルールの追加] をクリックします。
では、ビルド情報ステップ、以下のパラメータを設定し、次へ.
パラメーター
説明
データ型
ソースコードリポジトリのタイプを指定します。 有効な値: BranchとTag。
ブランチ /タグ
ブランチまたはタグを選択または入力します。 正規表現に対応しています。 release-(?<imageTag>\w *) を正規表現として使用する場合、release-v1ブランチの下のソースコードが更新されると、システムはV1イメージを構築します。 V1イメージは数分以内に作成されます。 正規表現の使用方法の詳細については、「名前付きキャプチャグループでの正規表現の使用」をご参照ください。
説明正規表現を指定すると、イメージはシステムによってのみ作成できます。 イメージを手動で作成することはできません。
ビルドコンテキストディレクトリ
Dockerfileが存在するディレクトリを指定します。 相対ディレクトリを指定する必要があります。 親ディレクトリは、コードブランチのルートディレクトリです。
Dockerfileファイル名
Dockerfileの名前を指定します。 デフォルトの名前はDockerfileです。
では、タグステップ、パラメータを設定し、保存をクリックし、次へ.
説明[設定の追加] をクリックして画像タグを追加します。 最大3つの画像タグを追加できます。
パラメーター
説明
画像タグ
画像のタグ。 例: latest。 名前付きキャプチャグループを有効にできます。 たとえば、Branch/Tagに名前付きキャプチャグループを指定した場合、キャプチャされたコンテンツを使用できます。
ビルド時間
ソースコードがプッシュされた時刻 (UTC + 8) 。 例: 20201015または202010151613。
説明このパラメーターはオプションです。 このパラメーターを設定すると、システムのみがイメージを作成できます。 イメージを手動で作成することはできません。
コミットID
最後にプッシュされたコードのコミットIDから取得する文字数。 デフォルトでは、最初の6文字が使用されます。 スライダーを調整して文字数を変更できます。
説明このパラメーターはオプションです。 このパラメーターを設定すると、システムのみがイメージを作成できます。 イメージを手動で作成することはできません。
では、ビルド設定ステップ、以下のパラメータを設定し、確認.
パラメーター
説明
ビルドアーキテクチャ
イメージを作成するアーキテクチャ。 複数のアーキテクチャを選択できます。 複数のアーキテクチャを選択した場合、アーキテクチャの複数のコンテナイメージがイメージタグごとに作成されます。
ビルドパラメーター
イメージ構築の実行時パラメーター。 各建物パラメータは、大文字と小文字が区別されるキーと値のペアです。 最大20の建物パラメータを設定できます。
手順3: イメージセキュリティスキャンのブロックルールを設定する
イメージセキュリティスキャンは、イメージが複製および配布されるときのイメージセキュリティを保証します。
[チェーン] セクションで、セキュリティスキャン.
では、ノード設定セクションで、ブロックルールを設定します。
セキュリティエンジン: 有効な値: Security Center Scan EngineおよびTrivy Scan Engine
脆弱性が検出された場合、Security Center Scan Engineを使用すると、数回クリックするだけで脆弱性を修正できます。 Container RegistryのTrivy San Engineを使用して、数回クリックするだけで脆弱性を修正することはできません。
説明Security Centerの画像スキャン機能を使用する場合は、Ultimate Edition of Security Centerを購入する必要があります。 詳細については、「セキュリティセンターの購入」をご参照ください。 現在のリージョンでSecurity Centerが有効化されていない場合、Container RegistryコンソールにSecurity Centerのオプションは表示されません。
ブロック戦略:
ブロッキング: ブロッキングルールが満たされている場合、システムはすべての画像に対して後続のステップを停止します。
ブロックルールで [重大度] および [脆弱性] パラメーターを指定する必要があります。 配信チェーンを停止した後、元のイメージを削除するかどうか、イメージをバックアップするかどうかなど、後続の手順を指定する必要があります。
非ブロッキング: システムは、全ての画像に対して後続のステップを進める。
手順4: イメージ複製ルールの設定
イメージレプリケーションルールを設定すると、更新されたイメージは、ルールに基づいてContainer Registry Enterprise Editionインスタンス間で自動的にレプリケートされます。
チェーンセクションで、[同期のトリガー] をクリックします。 次に、[ルールの作成] をクリックします。
では、ルールの作成ダイアログボックスで、ルール名を入力し、宛先Container Registry Enterprise Editionインスタンスを指定し、次へ.
リージョンを選択し、既存のインスタンスをターゲットインスタンスとして選択します。
既存のインスタンスを選択できない場合は、[インスタンスの作成] をクリックしてインスタンスを作成します。 詳細については、「Container Registry Enterprise Editionインスタンスの作成」をご参照ください。
説明インターネットアクセスが無効になっている場合、画像は異なるリージョンで自動的にレプリケートされます。
では、レプリケーション情報ウィザードで、ソースインスタンスのレプリケーション情報を設定し、ルールの作成.
パラメーター
説明
レプリケーションレベル
レプリケーションレベルを選択します。 有効な値: 名前空間とリポジトリ。
送信元アドレス
名前空間とリポジトリを指定します。 正規表現を入力して、名前空間のリポジトリまたは指定されたリポジトリ内のイメージタグをフィルタリングします。 デフォルトでは、すべての画像タグがレプリケートされます。 Replication Levelパラメーターをrepositoryに設定した場合にのみ、ソースリポジトリを指定できます。
手順5: 配布トリガーの設定
画像を自動的に配布するように配布トリガーを設定できます。 このようにして、アプリケーションを自動的に再デプロイできます。
チェーンセクションで、[トリガー] をクリックします。 次に、[作成] をクリックします。
では、トリガーの作成ダイアログボックスでパラメーターを設定し、確認.
パラメーター
説明
名前
トリガーの名前。
トリガーURL
トリガーが通知を送信するURL。 Container Service for Kubernetes (ACK) クラスターの設定からURLを取得できます。
Trigger
トリガーメソッド。 有効な値:
すべて: イメージが更新されるたびに、イメージの配布がトリガーされます。
RegExpによる: 正規表現は、画像タグをフィルタリングするために使用される。 イメージの配布は、イメージタグが正規表現と一致する場合にのみトリガーされます。
タグによって: タグは、画像をフィルタリングするために使用される。 イメージの配布は、指定されたタグリストにイメージタグがある場合にのみトリガーされます。
On theデリバリーチェーンの作成ページをクリックします。作成.
結果
[チェーン] ページで、作成した配信チェーンを表示できます。
ソースコードがコードリポジトリに送信された後、またはイメージがプルされた後、Container Registry Enterprise Editionインスタンスにログインし、[レコード] ページに移動します。 このページでは、配信チェーンの各ステップのステータスと結果を表示できます。 その後、画像がACKクラスターで更新されているかどうかを確認できます。