6.2. ClusterInstance CR の並列 Argo CD パイプラインの準備


並列 Argo CD プロジェクトおよびアプリケーションを作成し、新しい ClusterInstance CR と関連するクラスターリソースを管理します。

前提条件

  • cluster-admin 権限を持つユーザーとしてハブクラスターにログインしている。
  • GitOps ZTP 環境が正常に設定されました。
  • アシステッドインストーラーサービスを正常にインストールおよび設定しました。
  • 単一ノードの OpenShift クラスター設定を含む Git リポジトリーにアクセスできる。

手順

  1. 並列の Argo プロジェクトとアプリケーションの YAML ファイルを作成します。

    1. AppProject リソースを定義する YAML ファイルを作成します。

      ztp-app-project-v2.yaml ファイルの例

      apiVersion: argoproj.io/v1alpha1
      kind: AppProject
      metadata:
        name: ztp-app-project-v2
        namespace: openshift-gitops
      spec:
        clusterResourceWhitelist:
        - group: hive.openshift.io
          kind: ClusterImageSet
        - group: hive.openshift.io
          kind: ClusterImageSet
        - group: cluster.open-cluster-management.io
          kind: ManagedCluster
        - group: ""
          kind: Namespace
        destinations:
        - namespace: '*'
          server: '*'
        namespaceResourceWhitelist:
        - group: ""
          kind: ConfigMap
        - group: ""
          kind: Namespace
        - group: ""
          kind: Secret
        - group: agent-install.openshift.io
          kind: InfraEnv
        - group: agent-install.openshift.io
          kind: NMStateConfig
        - group: extensions.hive.openshift.io
          kind: AgentClusterInstall
        - group: hive.openshift.io
          kind: ClusterDeployment
        - group: metal3.io
          kind: BareMetalHost
        - group: metal3.io
          kind: HostFirmwareSettings
        - group: agent.open-cluster-management.io
          kind: KlusterletAddonConfig
        - group: cluster.open-cluster-management.io
          kind: ManagedCluster
        - group: siteconfig.open-cluster-management.io
          kind: ClusterInstance 
      1
      
        sourceRepos:
        - '*'
      Copy to Clipboard Toggle word wrap

      1
      ClusterInstance CR は、SiteConfig CR の代わりに siteconfig.open-cluster-management.io オブジェクトを管理します。
    2. アプリケーション リソースを定義する YAML ファイルを作成します。

      clusters-v2.yaml ファイルの例

      apiVersion: argoproj.io/v1alpha1
      kind: Application
      metadata:
        name: clusters-v2
        namespace: openshift-gitops
      spec:
        destination:
          namespace: clusters-sub
          server: https://kubernetes.default.svc
        ignoreDifferences:
        - group: cluster.open-cluster-management.io
          kind: ManagedCluster
          managedFieldsManagers:
          - controller
        project: ztp-app-project-v2 
      1
      
        source:
          path: site-configs-v2 
      2
      
          repoURL: http://infra.5g-deployment.lab:3000/student/ztp-repository.git
          targetRevision: main
        syncPolicy:
          syncOptions:
          - CreateNamespace=true
          - PrunePropagationPolicy=background
          - RespectIgnoreDifferences=true
      Copy to Clipboard Toggle word wrap

      1
      project フィールドは、直前の手順で作成した AppProject リソースの名前と一致する必要があります。
      2
      path フィールドは、ClusterInstance CR および関連付けられたリソースが含まれる Git リポジトリーのルートディレクトリーと一致する必要があります。
      注記

      デフォルトでは、auto-sync は有効になっています。ただし、同期は、クラスターの設定データを新しい設定フォルダー(この例では site-configs-v2/ フォルダー)にプッシュした場合にのみ発生し ます。

  2. ClusterInstance CR と関連するリソースを含む Git リポジトリーにルートフォルダーを作成し、コミットします。以下に例を示します。

    $ mkdir site-configs-v2
    $ touch site-configs-v2/.gitkeep
    $ git commit -s -m “Creates cluster-instance folder”
    $ git push origin main
    Copy to Clipboard Toggle word wrap
    • .gitkeep ファイルは、空のフォルダーが Git によって追跡されるようにプレースホルダーです。

      注記

      パイプラインのセットアップ中には、ルート site-configs-v2/ フォルダーのみを作成およびコミットする必要があります。クラスター移行手順中に、完全な site-configs/ フォルダー構造を site-configs-v2 / にミラーリングします。

  3. 次のコマンドを実行して、AppProjectApplication リソースをハブクラスターに適用します。

    $ oc apply -f ztp-app-project-v2.yaml
    $ oc apply -f clusters-v2.yaml
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、元の Argo CD プロジェクト ztp-app- project、および新しい Argo CD プロジェクト ztp-app-project-v2 がハブクラスターに存在することを確認します。

    $ oc get appprojects -n openshift-gitops
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                 AGE
    default              46h
    policy-app-project   42h
    ztp-app-project      18h
    ztp-app-project-v2    14s
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、元の Argo CD アプリケーション、クラスター、および新しい Argo CD アプリケーション、clusters-v2 がハブクラスターに存在することを確認します。

    $ oc get application.argo -n openshift-gitops
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                       SYNC STATUS   HEALTH STATUS
    clusters                   Synced        Healthy
    clusters-v2                Synced        Healthy
    policies                   Synced        Healthy
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat