イメージレジストリ連携
プライベートイメージレジストリを連携すると、Containerテンプレートでカスタムイメージをデプロイすることができます。本ガイドではGitHub Container Registry、GCP Artifact Registry、Docker Hubとの連携について説明します。
レジストリの連携
Personal Access Tokenの生成
GitHubアカウントのSettingsにアクセスし、Developer settings > Personal access tokens (classic) ページから
Generate new token > Generate new token(classic)
をクリックしてトークンを生成してください。
権限の付与とトークンの発行
以下の権限を付与し、
Generate token
をクリックしてください。
- repo
- write:packages
- admin:public_key
トークンの生成が完了すると、トークン値が表示されます。トークンは生成時に一度だけ値を確認することができます。
エールへの連携
スペース設定画面のチームページ
スペース設定画面のアドオンページから
コンテナレジストリを連携する
をクリックすると表示されるコンテナレジストリ設定モーダルで、以下の値を入力し連携する
をクリックすると**GitHub Container Registryが連携されます。
- レジストリプロバイダー : GitHub Container Registry
- GitHubアカウント : GitHub ID
- パーソナルアクセストークン(PAT) : GitHubで生成したPersonal Access Token
GCP Artifact Registryの作成
Google Cloud コンソールでArtifact Registryサービスにアクセスし、
リポジトリを作成
をクリックしてください。
リポジトリの名前を適切に設定し、以下の値を入力して
作成
をクリックするとリポジトリが作成されます。
- フォーマット : Docker
- モード : 標準
- ロケーションタイプ : リージョン
- リージョン : ユーザーの状況に応じたリージョンを選択
- 暗号化 : Google管理の暗号化キー
レジストリの接続アドレスの確認
作成したリポジトリをクリックすると、
[リージョン]-docker.pkg.dev/[GCPプロジェクトID]/[リポジトリ名]
形式の接続アドレスを確認できます。
レジストリの接続アドレスは、エールでレジストリを連携する際に使用されます。
サービスアカウントの作成と権限付与
Google CloudコンソールのIAMと管理 > サービスアカウントページで、
サービスアカウントを作成
をクリックしてください。
識別可能なサービスアカウント名を入力し、
作成して続行
をクリックします。
ロール選択モーダルでArtifact Registry管理者を選択し、
完了
をクリックするとサービスアカウントが作成されます。
JSONキーの作成
作成されたサービスアカウントの右側にあるアイコンをクリックし、キーの管理を選択してください。
作成したサービスアカウントのキー管理ページのキーを追加 > 新しいキーを作成をクリックすると表示される新しい秘密鍵の作成モーダルで、キータイプとしてJSONを選択し、
作成
をクリックするとJSONキーがファイル形式でダウンロードされます。
エールへの連携
スペース設定画面のアドオンページから
コンテナレジストリを連携する
をクリックすると表示されるコンテナレジストリ設定モーダルで、以下の値を入力し連携する
をクリックするとGoogle Cloud Artifact Registryが連携されます。
- レジストリプロバイダー : Google Cloud Artifact Registry
- 接続アドレス : リポジトリ作成後に確認した接続アドレス
- キーファイル(JSON) : JSONキーファイルの内容
Docker Hub Access Tokenの生成
Docker Hubアカウントを作成後、右上のアカウント名をクリックします。 続いてAccount Settings > Securityにアクセスし、
New Access Token
をクリックします。
権限の付与とトークンの発行
Access Token Descriptionフィールドにトークンの用途や役割を区別できる文言を入力し、Access permissionsはRead & Writeを選択してください。 生成されたトークンは最初の1回のみ確認可能です。
エールへの連携
スペース設定画面のアドオンページから
コンテナレジストリを連携する
をクリックすると表示されるコンテナレジストリ設定モーダルで、以下の値を入力し連携する
をクリックするとDocker Hubが連携されます。
- レジストリプロバイダー : Docker Hub
- ユーザー名 : Docker Hub ID
- パスワード(トークン) : Docker Hub Access token
イメージのデプロイ
ダッシュボードの または
⌘ + K
で表示されるデプロイモーダルで、Containerテンプレートを選択し、必要な設定値を入力してデプロイできます。
接続したレジストリにあるイメージのイメージURLとタグを入力してください。
イメージデプロイに必要な設定値を入力してください。
-
uid : コンテナでプロセスを実行するユーザーの固有識別子(デフォルト値1000)
-
gid : コンテナでプロセスが属するグループの固有識別子(デフォルト値1000)
-
Update strategy
-
Rolling Update : 新バージョンデプロイ後、既存ポッド終了。可用リソース確保必要
-
Recreate : 既存ポッドを終了後、新バージョンを作成・起動。ダウンタイム発生
-
-
Shell : コンテナ実行後に実行するシェル(sh、bash、zshなど)
-
リソースタイプ:オンデマンドとスポットリソースから選択
-
CPU:サービスで利用可能なvCPUの上限を設定。最小構成時は0.1 vCPUを割り当て
-
メモリ:サービスで利用可能なメモリの上限を設定
-
レプリカ:設定した数に応じサービスを水平スケーリングし、負荷分散と可用性確保
-
デプロイ:
デプロイ
をクリック
リソース制限によりデプロイできない場合は、スペースとリソースの管理ページを参照してスペースにリソースを追加してください。