バックアップ プランの作成

このページでは、Google Distributed Cloud(GDC)エアギャップで Harbor インスタンスのバックアップ プランを作成する方法について説明します。

バックアップ プランは、バックアップされる Harbor インスタンスを参照します。バックアップ プランでは、バックアップ スケジュールや保持ポリシーなど、バックアップの主要なコンポーネントを定義します。GDC は、バックアップ プランで指定した構成に応じてバックアップを自動的に作成します。オンデマンドで手動バックアップを作成することもできます。このバックアップは、バックアップ プランから一部の値を継承します。

始める前に

Harbor バックアップ リポジトリが構成されている必要があります。詳細については、バックアップ リポジトリを作成するをご覧ください。

必要な IAM のロール

IAM プロジェクト管理者に必要な権限をリクエストします。特定のタスクに必要なロールのみをリクエストして、最小権限でのアクセスを強制します。

  • Secret 管理者(secret-admin): プロジェクトの名前空間内のすべての Kubernetes Secret を取得、一覧表示、作成、更新、パッチ適用、削除します。これは、バックアップ リポジトリに必要な機密性の高い認証情報を含むプロジェクト レベルの権限です。
  • Harbor インスタンス管理者(harbor-instance-admin): プロジェクトの名前空間内で、Harbor インスタンス、バックアップ リポジトリ、バックアップ プラン、バックアップ、復元の取得、一覧表示、監視、作成、更新、パッチ適用、削除を行います。

バックアップ プランの作成

GDC コンソールまたは API でリポジトリを作成します。

コンソール

  1. GDC コンソールにログインします。
  2. ナビゲーション メニューで [Backup for harbor instance] をクリックします。
  3. [バックアップ プラン] をクリックします。
  4. [バックアップ プランを作成] をクリックします。
  5. [ゾーン] メニューでゾーンを選択します。
  6. [Harbor インスタンス ソース] メニューで、このバックアップ プランでバックアップを作成する Harbor インスタンスを選択します。
  7. [バックアップ プラン名] フィールドに、バックアップ プランの名前を入力します。
  8. 省略可: [バックアップ プランの説明] フィールドに、このバックアップ プランを他のバックアップ プランと区別するための説明を入力します。
  9. [バックアップ リポジトリ] メニューで、使用可能なオプションからバックアップ リポジトリを選択します。使用可能なオプションがない場合は、バックアップ リポジトリを作成する必要があります。
  10. [次へ] をクリックします。
  11. [Cron 文字列] フィールドで、このバックアップ プランのスケジュールを定義します。標準の cron 構文を使用して式を入力します。たとえば、式 10 3 * * * は毎日 0310 にバックアップを作成します。時刻はすべて UTC と解釈されます。バックアップ スケジュールの最小間隔は 10 分です。
  12. 省略可: [保持ポリシー] セクションで、一定の日数が経過した後にバックアップを自動的に削除するかどうかを決定します。

    1. [バックアップの自動削除を有効にする] チェックボックスをオンにします。
    2. [バックアップを削除するまでの日数] フィールドに、バックアップを保持する日数を設定します。日数に達すると、バックアップは自動的に削除されます。
  13. [次へ] をクリックします。

  14. バックアップ プランの詳細を確認します。このバックアップ プランの作成を完了するには、[プランを作成] をクリックします。

API

apiVersion: artifactregistry.gdc.goog/v1
kind: HarborInstanceBackupPlan
metadata:
  name: BACKUP_PLAN_NAME
  namespace: INSTANCE_NAMESPACE
spec:
  backupSchedule:
    cronSchedule: CRON_STRING
    paused: false
  backupConfig:
    backupRepository: BACKUP_REPO_NAME
    backupScope:
      harborInstance: INSTANCE_NAME
  retentionPolicy:
    backupRetainDays: BACKUP_RETAIN_DAYS
  description: PLAN_DESCRIPTION

次のように置き換えます。

  • BACKUP_PLAN_NAME: バックアップ プランの名前。
  • INSTANCE_NAMESPACE: Harbor インスタンスを含む Namespace。バックアップ プランは、Harbor インスタンスと同じ Namespace に存在する必要があります。
  • CRON_STRING: バックアップ スケジュールを定義する cron 値。たとえば、値 0 3 * * * は、毎日午前 3 時にバックアップを実行するスケジュールを定義します。スケジュールを一時停止するには、paused フィールドを使用します。true の場合、定期的なスケジュール バックアップは停止されます。一時停止したバックアップ プランでも、手動バックアップを作成できます。
  • BACKUP_REPO_NAME: バックアップ リポジトリの名前。詳細については、バックアップ リポジトリを作成するをご覧ください。
  • INSTANCE_NAME: Harbor インスタンスの名前。詳細については、Harbor レジストリ インスタンスを作成するをご覧ください。
  • BACKUP_RETAIN_DAYS: バックアップが削除されるまでの日数。この値は、このプランを使用する手動バックアップによってオーバーライドされます。
  • PLAN_DESCRIPTION: バックアップ プランの説明。

次のステップ