Skip to content

ArgoCD ApplicationSets クイズ

このクイズでは、テンプレート化されたApplication生成のためのArgoCD ApplicationSetsについての理解度を確認します。

  1. ApplicationSetの主な目的は何ですか?
    • A) 既存のApplicationsをグループ化する
    • B) テンプレートから複数のApplicationsを自動的に生成する
    • C) applicationのバックアップを作成する
    • D) applicationのシークレットを管理する
回答を表示

回答: B) テンプレートから複数のApplicationsを自動的に生成する

解説: ApplicationSetsは、ジェネレーターとテンプレートを使用して複数のArgoCD Applicationsを自動的に作成・管理します。複数のクラスターまたは環境にapplicationsをデプロイする場合に最適です。

  1. ArgoCDに登録されている各クラスター用のApplicationsを作成するには、どのジェネレーターを使用しますか?
    • A) Git generator
    • B) List generator
    • C) Cluster generator
    • D) Matrix generator
回答を表示

回答: C) Cluster generator

解説: Cluster generatorは、ArgoCDに登録されている各クラスター用のApplicationsを自動的に生成します。ラベルセレクターを使用して特定のクラスターを対象にできます。

  1. Git directory generatorは何をしますか?
    • A) Gitブランチに基づいてApplicationsを作成する
    • B) 指定されたパス内のディレクトリごとにApplicationsを作成する
    • C) Git認証情報を同期する
    • D) Git webhookを管理する
回答を表示

回答: B) 指定されたパス内のディレクトリごとにApplicationsを作成する

解説: Git directory generatorは、Gitリポジトリ内の指定されたディレクトリをスキャンし、見つかった各サブディレクトリに対してApplicationを作成します。これはmonorepo構成で役立ちます。

  1. ApplicationSetで複数のジェネレーターを組み合わせるにはどうしますか?
    • A) Merge generatorを使用する
    • B) Matrix generatorを使用する
    • C) Combine generatorを使用する
    • D) AとBの両方
回答を表示

回答: D) AとBの両方

解説: Matrix generatorは、複数のジェネレーターからのパラメータの組み合わせ(デカルト積)を作成します。Merge generatorは、複数のジェネレーターからのパラメータを組み合わせ、一致するエントリをマージします。どちらもジェネレーターの組み合わせに使用できます。

  1. ApplicationSetテンプレートのgoTemplateフィールドの目的は何ですか?
    • A) Goプログラミングを有効にする
    • B) より複雑なテンプレート処理のためにGo template構文を使用する
    • C) Go applicationsをコンパイルする
    • D) デバッグを有効にする
回答を表示

回答: B) より複雑なテンプレート処理のためにGo template構文を使用する

解説:goTemplate: trueを設定するとGo template構文が有効になり、デフォルトの単純な変数置換と比較して、条件分岐、ループ、関数など、より強力なテンプレート機能を利用できます。

  1. pull requestに基づいてApplicationsを作成するには、どのジェネレーターを使用しますか?
    • A) Git generator
    • B) Pull Request generator
    • C) SCM Provider generator
    • D) Webhook generator
回答を表示

回答: B) Pull Request generator

解説: Pull Request generatorは、リポジトリ内のオープンなpull requestごとにApplicationsを作成し、コードレビュー用のプレビュー環境を有効にします。GitHub、GitLab、Bitbucket、Giteaをサポートしています。

  1. ApplicationSetを削除すると、デフォルトではどうなりますか?
    • A) 何も起こらず、生成されたApplicationsは残る
    • B) 生成されたすべてのApplicationsが削除される
    • C) Applicationsが孤立する
    • D) バックアップが作成される
回答を表示

回答: B) 生成されたすべてのApplicationsが削除される

解説: デフォルトでは、ApplicationSetsにはカスケード削除ポリシーがあり、ApplicationSetを削除すると、それによって生成されたすべてのApplicationsも削除されます。これはpreserveResourcesOnDeletionポリシーを使用して変更できます。

  1. ApplicationSetが削除されたときに、生成されたApplicationsが削除されないようにするにはどうしますか?
    • A) syncPolicy.preserveResourcesOnDeletion: trueを設定する
    • B) orphan finalizerを使用する
    • C) 削除ポリシーannotationを設定する
    • D) owner referenceを手動で削除する
回答を表示

回答: A) syncPolicy.preserveResourcesOnDeletion: trueを設定する

解説: ApplicationSetのsyncPolicyでpreserveResourcesOnDeletion: trueを設定すると、ApplicationSetが削除された際に、生成されたApplications(およびそれらがデプロイしたリソース)が保持されます。