Argo CD アプリケーションセット


Red Hat OpenShift GitOps 1.14

コントロールプレーン以外の namespace でのアプリケーションセットリソースの管理

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、コントロールプレーン以外の namespace でアプリケーションセットリソースを有効にして管理する方法を説明します。

第1章 コントロールプレーン以外の namespace でのアプリケーションセットリソースの管理

重要

コントロールプレーン以外の namespace の Argo CD アプリケーションセットは、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

アプリケーションセットを使用すると、単一のモノリポジトリーから複数のクラスターへの複数の Argo CD アプリケーションのデプロイメントを、より柔軟に、宣言的に自動化および管理できます。

Red Hat OpenShift GitOps 1.12 以降では、クラスター管理者は、要件に応じて ArgoCD および ApplicationSet カスタムリソース (CR) を明示的に有効化および設定することで、openshift-gitops コントロールプレーン namespace 以外の非コントロールプレーン namespace で ApplicationSet リソースを宣言的に作成および管理できます。この機能は、分離されたチーム向けに Argo CD アプリケーションのデプロイメントを管理するマルチテナント環境で特に役立ちます。この機能は、Argo CD オープンソースプロジェクトの 任意の namespace 機能の ApplicationSet と呼ばれます。

注記

生成された Argo CD アプリケーションは、コントロールプレーン以外の任意の namespace にリソースを作成できます。ただし、アプリケーション自体は、アプリケーションセットリソースと同じ namespace に存在します。

1.1. 前提条件

1.2. コントロールプレーン以外の namespace でアプリケーションセットリソースの有効化

クラスター管理者は、ユーザーが ApplicationSet リソースを作成、更新、調整できる、コントロールプレーン以外の namespace の特定のセットを定義できます。要件に応じて、ArgoCD および ApplicationSet カスタムリソース (CR) を明示的に有効化して設定する必要があります。

手順

  1. コントロールプレーン以外の namespace を含めるには、applicationSet 仕様の sourceNamespaces パラメーターを設定します。

    Argo CD カスタムリソースの例

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: example
      namespace: spring-petclinic
    spec:
      applicationSet:
        sourceNamespaces: 1
          - dev 2

    1
    ApplicationSet リソースを作成および管理するための非コントロールプレーン namespace のリスト
    2
    Argo CD サーバーが ApplicationSet リソースを作成および管理するためのターゲット namespace の名前
    注記

    現時点では、.spec.applicationSet.sourceNamespaces フィールドではワイルドカード (*) の使用はサポートされていません。

  2. 次のロールベースのアクセス制御 (RBAC) リソースが GitOps Operator により作成または変更されていることを確認します。

    名前種類目的

    <argocd_name>-<argocd_namespace>-argocd-applicationset-controller

    ClusterRole および ClusterRoleBinding

    Argo CD ApplicationSet Controller がクラスターレベルで ApplicationSet リソースを監視してリスト表示する

    <argocd_name>-<argocd_namespace>-applicationset

    Role および RoleBinding

    Argo CD ApplicationSet Controller がターゲット namespace の ApplicationSet リソースを管理する

    <argocd_name>-<target_namespace>

    Role および RoleBinding

    Argo CD サーバーが UI、API、または CLI を介してターゲット namespace の ApplicationSet リソースを管理する

    注記

    Operator は、argocd.argoproj.io/applicationset-managed-by-cluster-argocd ラベルをターゲット namespace に追加します。

1.3. ソースコードマネージャープロバイダーの許可

重要

このセクションを注意深くお読みください。誤った設定は潜在的なセキュリティー問題を引き起こす可能性があります。

コントロールプレーン以外の namespace で ApplicationSet リソースを許可すると、Source Code Manager (SCM) Provider または Pull Request (PR) ジェネレーターの悪意のある API エンドポイントを通じてシークレットが流出する可能性があります。機密情報への不正アクセスを防ぐため、Operator は予防措置として SCM プロバイダーと PR ジェネレーターをデフォルトで無効にします。

手順

  • SCM Provider と PR ジェネレーターを使用するには、許可される SCM Provider のリストを明示的に定義します。

    Argo CD カスタムリソースの例

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: example-argocd
    spec:
      applicationSet:
        sourceNamespaces:
          - dev
        scmProviders: 1
          - https://git.mydomain.com/
          - https://gitlab.mydomain.com/

    1
    許可された SCM Provider の URL のリスト。
注記

許可された SCM Provider のリストにない URL を使用すると、Argo CD ApplicationSet コントローラーはそれを拒否します。

1.4. 関連情報

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.