3.2. ターゲット namespace を使用したユーザー定義のクラスタースコープ Argo CD インスタンスの Argo CD CR 設定


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

前提条件

  • 管理者として OpenShift Container Platform クラスターにログインしている。
  • OpenShift Container Platform クラスターに Red Hat OpenShift GitOps 1.13.0 以降のバージョンがインストールされている。
  • 定義済みの namespace (例: spring-petclinic namespace) に、ユーザー定義のクラスタースコープ Argo CD インスタンスがある。

手順

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators の順にクリックします。
  2. Project リストから、ユーザー定義のクラスタースコープ Argo CD インスタンスがインストールされているプロジェクトを選択します。
  3. インストールされた Operator のリストから Red Hat OpenShift GitOps を選択し、Argo CD タブに移動します。
  4. ユーザー定義のクラスタースコープ Argo CD インスタンスをクリックします。
  5. ターゲット namespace を使用して、ユーザー定義のクラスタースコープ Argo CD インスタンスの ArgoCD CR を設定します。

    1. YAML タブをクリックし、ArgoCD CR の YAML ファイルを編集します。
    2. ArgoCD CR で、sourceNamespaces パラメーターの値を設定して、コントロールプレーン以外の namespace を含めます。

      ArgoCD CR の例

      apiVersion: argoproj.io/v1beta1
      kind: ArgoCD
      metadata:
        name: example 1
        namespace: spring-petclinic 2
      spec:
        sourceNamespaces: 3
          - dev 4
          - app-team-* 5

      1
      ユーザー定義のクラスタースコープの Argo CD インスタンスの名前。
      2
      ユーザー定義のクラスタースコープの Argo CD インスタンスを実行する namespace。
      3
      Application リソースを作成および管理するための非コントロールプレーン namespace のリスト。
      4
      Application リソースを作成および管理するための Argo CD サーバーのターゲット namespace の名前。
      5
      ワイルドカード (*) を使用して、Argo CD サーバーが Application リソースを作成および管理するためのパターン app-team-* (app-team-1app-team-2 など) に一致するターゲット namespace の名前を指定します。
    3. SaveReload を順にクリックします。

      注記

      sourceNamespaces フィールドでターゲット namespace が指定されると、Operator は指定された namespace に argocd.argoproj.io/managed-by-cluster-argocd ラベルを追加します。

      dev ターゲット namespace の例

      apiVersion: v1
      kind: Namespace
      metadata:
        name: dev
        labels:
          argocd.argoproj.io/managed-by-cluster-argocd: spring-petclinic 1
          kubernetes.io/metadata.name: dev 2

      1
      ユーザー定義のクラスタースコープの Argo CD インスタンスの namespace。
      2
      Application リソースを作成および管理するための Argo CD サーバーのターゲット namespace。
  6. Operator が argocd.argoproj.io/managed-by-cluster-argocd ラベルを指定の namespace に追加することを確認します。

    1. Administration Namespaces に移動し、Create Namespace をクリックします。
    2. Create Namespace ダイアログボックスで Name を入力し、Create をクリックします。

      たとえば、dev ターゲット namespace を作成するには、Name フィールドに dev を入力します。前の手順を繰り返して、app-team-1 および app-team-2 ターゲット namespace を作成できます。

      Namespaces ページには、作成されたターゲット namespace が表示されます。

    3. ターゲット namespace をクリックし、YAML タブに移動して、Operator によって追加された argocd.argoproj.io/managed-by-cluster-argocd ラベルを確認します。
  7. ユーザー定義のクラスタースコープ Argo CD インスタンスが、クラスタースコープのリソースを管理するためのクラスターロールで設定されていることを確認します。

    1. User Management Roles に移動し、Filter リストから Cluster-wide Roles を選択します。
    2. Search by name フィールドを使用して、作成したクラスターロールを検索します。たとえば、example-spring-petclinic-argocd-application-controllerexample-spring-petclinic-argocd-server です。

      Roles ページには、作成されたクラスターロールが表示されます。

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

      名前種類目的

      <argocd_name>-<argocd_namespace>-argocd-application-controller

      ClusterRole および ClusterRoleBinding

      Argo CD アプリケーションコントローラーがクラスターレベルで Application リソースを監視してリスト表示するため

      <argocd_name>-<argocd_namespace>-argocd-server

      ClusterRole および ClusterRoleBinding

      Argo CD サーバーがクラスターレベルで アプリケーション リソースを監視し、リスト表示するため

      <argocd_name>-<target_namespace>

      Role および RoleBinding

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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.