Argo CD インスタンス


Red Hat OpenShift GitOps 1.10

Argo CD インスタンスのインストールとデプロイ

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、Argo CD インスタンスをインストールおよびデプロイして、クラスター設定を管理したり、アプリケーションをデプロイしたりする手順を説明します。

第1章 Argo CD インスタンスのセットアップ

デフォルトでは、Red Hat OpenShift GitOps は Argo CD のインスタンスを openshift-gitops namespace にインストールし、特定のクラスタースコープのリソースを管理するための追加のアクセス許可を使用します。クラスター設定を管理したり、アプリケーションをデプロイメントしたりするために、新しい Argo CD インスタンスをインストールしてデプロイメントできます。デフォルトでは、新しいインスタンスには、デプロイされた namespace でのみリソースを管理する権限があります。

1.1. Argo CD インスタンスのインストール

クラスター設定を管理したり、アプリケーションをデプロイメントしたりするために、新しい Argo CD インスタンスをインストールしてデプロイメントできます。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. OperatorsInstalled Operators をクリックします。
  3. Project ドロップダウンメニューから Argo CD インスタンスをインストールするプロジェクトを作成または選択します。
  4. インストールされた Operator のリストから OpenShift GitOps Operator を選択し、Argo CD タブをクリックします。
  5. パラメーターを設定するには、Create ArgoCD をクリックします。

    1. インスタンスの Name を入力します。デフォルトでは、Nameexample に設定されています。
    2. 外部 OS ルートを作成して Argo CD サーバーにアクセスします。ServerRoute をクリックし、Enabled にチェックを入れます。
  6. Argo CD Web UI を開くには、Argo CD インスタンスがインストールされているプロジェクトで NetworkingRoutes<instance name>-server に移動して、ルートをクリックします。

1.2. Argo CD サーバーとレポサーバーのレプリカを有効にする

Argo CD-server と Argo CD-repo-server のワークロードはステートレスです。ワークロードを Pod 間でより適切に分散するには、Argo CD サーバーと Argo CD リポジトリーサーバーのレプリカの数を増やすことができます。ただし、Argo CD サーバーで水平オートスケーラーが有効になっている場合は、設定したレプリカの数が上書きされます。

手順

  • reposerver スペックの replicas パラメーターを、実行するレプリカの数に設定します。

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

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: repo
    spec:
      repo:
        replicas: <number_of_replicas>
      server:
        replicas: <number_of_replicas>
        route:
          enabled: true
          path: /
          tls:
            insecureEdgeTerminationPolicy: Redirect
            termination: passthrough
          wildcardPolicy: None
    Copy to Clipboard Toggle word wrap

1.3. 別の namespace へのリソースのデプロイ

Argo CD がインストール先以外の namespace のリソースを管理できるようにするには、対象の namespace に argocd.argoproj.io/managed-by ラベルを設定します。

手順

  • namespace を設定します。

    $ oc label namespace <namespace> \
    argocd.argoproj.io/managed-by=<namespace> 
    1
    Copy to Clipboard Toggle word wrap
    1
    Argo CD がインストールされている namespace 。

第2章 Argo CD のカスタムリソースとコンポーネントのプロパティー

ArgoCD カスタムリソースは、Argo CD クラスターを設定するコンポーネントの設定を可能にする特定の Argo CD クラスターの必要な状態を記述する Kubernetes カスタムリソース (CRD) です。

2.1. Argo CD CLI ツール

Argo CD CLI ツールは、コマンドラインで Argo CD を設定するのに使用されるツールです。Red Hat OpenShift GitOps は、このバイナリーをサポートしません。OpenShift コンソールを使用して Argo CD を設定します。

2.2. Argo CD カスタムリソースプロパティー

Argo CD カスタムリソースは以下のプロパティーで設定されます。

Expand
Name説明デフォルトプロパティー

applicationInstanceLabelKey

Argo CD がアプリ名を追跡ラベルとして挿入する metadata.label キー名。

app.kubernetes.io/instance

 

applicationSet

ApplicationSet コントローラーの設定オプション。

<object>

  • <Image> - ApplicationSet コントローラーのコンテナーイメージ。これは、ARGOCD_APPLICATIONSET_IMAGE 環境変数をオーバーライドします。
  • <Version> - ApplicationSet コンテナーイメージで使用するタグ。
  • <Resources> - コンテナーコンピューティングリソース。
  • <LogLevel> - Argo CD Application Controller コンポーネントによって使用されるログレベル。有効なオプションは、debuginfoerror、および warn です。
  • <logFormat> - Argo CD Application Controller コンポーネントが使用するログ形式。有効なオプションは text または json です。
  • <prallelismLimit> - コントローラーに設定する kubectl 並列処理の制限 (--kubectl-parallelism-limit フラグ)

configManagementPlugins

設定管理プラグインを追加します。

<empty>

 

controller

Argo CD アプリケーションコントローラーオプション。

<object>

  • <processors.operation> - オペレーションプロセッサーの数。
  • <processors.status> - ステータスプロセッサーの数。
  • <Resources> - コンテナーコンピューティングリソース。
  • <LogLevel> - Argo CD Application Controller コンポーネントによって使用されるログレベル。有効なオプションは、debuginfoerror、および warn です。
  • <appSync> - AppSync は、Argo CD アプリケーションの同期頻度を制御するために使用されます
  • <sharding.enabled> - Argo CD Application Controller コンポーネントでシャーディングを有効にします。このプロパティーを使用して、多数のクラスターを管理し、コントローラーコンポーネントのメモリー負荷を軽減します。
  • <sharding.replicas> - Argo CD Application Controller のシャーディングをサポートするために使用されるレプリカの数。
  • <sharding.dynamicScalingEnabled> - Argo CD アプリケーションコントローラーコンポーネントの動的スケーリングを有効にします。このプロパティーを使用して、Operator がコントローラーコンポーネントが管理しているクラスターの数に基づいてレプリカ数をスケーリングできるようにします。このプロパティーを true に設定すると、sharding.enabled プロパティーと sharding.replicas プロパティーの設定がオーバーライドされます。
  • <sharding.minShards> - Argo CD アプリケーションコントローラーレプリカの最小数。
  • <sharding.maxShards> - Argo CD アプリケーションコントローラーレプリカの最大数。
  • <sharding.clusterPerShard> - 各シャードで管理する必要があるクラスターの数。レプリカ数が maxShards に達すると、シャードは複数のクラスターを管理します。
  • <env> - アプリケーションコントローラーワークロード用に設定する環境。

disableAdmin

組み込みの管理者ユーザーを無効にします。

false

 

gaTrackingID

Google Analytics 追跡 ID を使用します。

<empty>

 

gaAnonymizeUsers

Google アナリティクスに送信されるハッシュ化されたユーザー名を有効にします。

false

 

ha

高可用性オプション。

<object>

  • <enabled> - Argo CD の高可用性サポートをグローバルに切り替えます。
  • <redisProxyImage> - Redis HAProxy コンテナーイメージ。これは、ARGOCD_REDIS_HA_PROXY_IMAGE 環境変数をオーバーライドします。
  • <redisProxyVersion> - Redis HAProxy コンテナーイメージに使用するタグ。

helpChatURL

チャットヘルプを取得するための URL (これは通常、サポート用の Slack チャネルです)。

https://mycorp.slack.com/argo-cd

 

helpChatText

チャットヘルプを取得するためのテキストボックスに表示されるテキスト。

Chat now!

 

image

すべての Argo CD コンポーネントのコンテナーイメージ。これにより、ARGOCD_IMAGE 環境変数が上書きされます。

argoproj/argocd

 

ingress

Ingress 設定オプション。

<object>

 

initialRepositories

クラスターの作成時に Argo CD を使用するように設定するための初期 Git リポジトリー。

<empty>

 

通知

通知コントローラーの設定オプション。

<object>

  • <enabled> - notifications-controller を開始するためのトグル。
  • <image> - すべての Argo CD コンポーネントのコンテナーイメージ。これにより、ARGOCD_IMAGE 環境変数が上書きされます。
  • <version> - Notifications コンテナーイメージで使用するタグ。
  • <Resources> - コンテナーコンピューティングリソース。
  • <LogLevel> - Argo CD Application Controller コンポーネントによって使用されるログレベル。有効なオプションは、debuginfoerror、および warn です。

repositoryCredentials

クラスターの作成時に Argo CD を使用するように設定するための Git リポジトリー認証情報テンプレート。

<empty>

 

initialSSHKnownHosts

クラスターの作成時に使用する Argo CD の SSH 既知のホストです。

<default_Argo_CD_Known_Hosts>

 

kustomizeBuildOptions

kustomize build で使用するビルドオプションおよびパラメーター。

<empty>

 

oidcConfig

Dex の代替となる OIDC 設定。

<empty>

 

nodePlacement

nodeSelector および tolerations を追加します。

<empty>

 

prometheus

Prometheus 設定オプション。

<object>

  • <enabled> - Argo CD の Prometheus サポートをグローバルに切り替えます。
  • <host> - Ingress または Route リソースに使用するホスト名。
  • <ingress> - Prometheus の Ingress を切り替えます。
  • <route> - ルート設定オプション。
  • <size> - Prometheus StatefulSet のレプリカ数。

rbac

RBAC 設定オプション。

<object>

  • <defaultPolicy> - argocd-rbac-cm config map の policy.default プロパティー。API リクエストを承認するときに Argo CD がフォールバックするデフォルトのロールの名前。
  • <policy> - argocd-rbac-cm config map の policy.csv プロパティー。ユーザー定義の RBAC ポリシーとロール定義を含む CSV データ。
  • <scopes> - argocd-rbac-cm config map のスコーププロパティー。RBAC の操作中に (サブスコープに加えて) どの OIDC スコープを検査するかを制御します。

redis

Redis 設定オプション

<object>

  • <autotls> - プロバイダーを使用して、Redis サーバーの TLS 証明書を作成します。現在、openshift 値のみが使用可能です。
  • <disableTLSVerification> - 厳密な TLS 検証を使用して Redis サーバーにアクセスする必要があるかどうかを定義します。
  • <Image> - Redis のコンテナーイメージ。これは、ARGOCD_REDIS_IMAGE 環境変数をオーバーライドします。
  • <Resources> - コンテナーコンピューティングリソース。
  • <version> - Redis コンテナーイメージで使用するタグ。

resourceHealthChecks

リソースのヘルスチェック動作をカスタマイズします。

<empty>

 

resourceIgnoreDifferences

リソースの違いを無視する動作をカスタマイズします。

<empty>

 

resourceActions

リソースアクションの動作をカスタマイズします。

<empty>

 

resourceExclusions

リソースグループのクラス全体を完全に無視します。

<empty>

 

resourceInclusions

どのリソースグループ/種類が適用されるかを識別するための設定。

<empty>

 

server

Argo CD Server 設定オプション。

<object>

  • <autoscale> - サーバーの自動スケール設定オプション。
  • <extraCommandArgs> - Operator によって設定された既存の引数に追加される引数のリスト。
  • <grpc> - gRPC 設定オプション。
  • <host> - Ingress または Route リソースに使用されるホスト名。
  • <ingress> - Argo CD サーバーコンポーネントの Ingress 設定。
  • <insecure> - Argo CD サーバーの安全でないフラグを切り替えます。
  • <Resources> - コンテナーコンピューティングリソース。
  • <replicas> - Argo CD サーバーのレプリカの数。0 以上である必要があります。autoscale が有効な場合、replicas は無視されます。
  • <route> - ルート設定オプション。
  • <service.Type> - サービスリソースに使用される serviceType
  • <logLevel> - Argo CD サーバーコンポーネントによって使用されるログレベル。有効なオプションは、debuginfoerror、および warn です。
  • <logFormat> - Argo CD Application Controller コンポーネントが使用するログ形式。有効なオプションは text または json です。
  • <env> - サーバーのワークロード用に設定する環境。

sso

シングルサインオンオプション。

<object>

  • <keycloak> - Keycloak SSO プロバイダーの設定オプション。
  • <dex> - Dex SSO プロバイダーの設定オプション。
  • <provider> - シングルサインオンの設定に使用されるプロバイダーの名前。現在サポートされているオプションは Dex と Keycloak です。

statusBadgeEnabled

アプリケーションステータスバッジを有効にします。

true

 

tls

TLS 設定オプション。

<object>

  • <ca.configMapName> - CA 証明書を含む ConfigMap の名前。
  • <ca.secretName> - CA 証明書とキーを含むシークレットの名前。
  • <initialCerts> - HTTPS 経由で Git リポジトリーに接続するための argocd-tls-certs-cm config map 内の証明書の初期セット。

usersAnonymousEnabled

匿名ユーザーアクセスを有効にします。

true

 

version

すべての Argo CD コンポーネントのコンテナーイメージで使用するタグ。

最新の Argo CD バージョン

 

banner

UI バナーメッセージを追加します。

<object>

  • <banner.content> - バナーメッセージのコンテンツ (バナーが表示される場合は必須)。
  • <banner.url> - バナーメッセージのリンク URL (オプション)。

2.3. リポジトリーサーバーのプロパティー

Repo サーバーコンポーネントの設定には、次のプロパティーを使用できます。

Expand
Nameデフォルト説明

resources

<empty>

コンテナーコンピューティングリソース。

mountsatoken

false

serviceaccount トークンをリポサーバー Pod にマウントするかどうかを定義します。

serviceaccount

""

repo-server Pod で使用する serviceaccount の名前。

verifytls

false

リポジトリーサーバーとの通信時に、すべてのコンポーネントに厳密な TLS チェックを適用するかどうかを定義します。

autotls

""

リポサーバーの gRPC TLS 証明書の TLS を設定するために使用するプロバイダー。現在、openshift 値のみが使用可能です。

image

argoproj/argocd

Argo CD Repo サーバーのコンテナーイメージ。これは、ARGOCD_REPOSERVER_IMAGE 環境変数をオーバーライドします。

version

.spec.Version と同じ

Argo CD Repo サーバーで使用するタグ。

logLevel

info

Argo CD Repo サーバーが使用するログレベル。有効なオプションは、debuginfoerror、および warn です。

logFormat

text

Argo CD Repo サーバーが使用するログ形式。有効なオプションは text または json です。

execTimeout

180

レンダリングツール (Helm や KusTOMize など) の実行タイムアウト (秒単位)。

env

<empty>

リポジトリーサーバーのワークロード用に設定する環境。

replicas

<empty>

Argo CD Repo サーバーのレプリカの数。0 以上である必要があります。

2.4. Argo CD インスタンスでの通知の有効化

Argo CD 通知を使用すると、Argo CD インスタンスでイベントが発生したときに外部サービスに通知を送信できます。たとえば、同期操作が失敗した場合に通知を Slack またはメールに送信できます。デフォルトでは、Argo CD インスタンスで通知は無効になっています。

前提条件

  • cluster-admin 権限で OpenShift Container Platform クラスターにアクセスでき、Web コンソールにログインしている。
  • Red Hat OpenShift GitOps Operator がクラスターにインストールされている。

手順

OpenShift Container Platform Web コンソールを使用して Argo CD インスタンスの通知を有効にするには、以下の手順を実行します。

  1. OperatorsInstalled Operators ページに移動します。
  2. Installed Operators のリストから Red Hat OpenShift GitOps Operator を選択し、ArgoCD タブをクリックします。
  3. 通知を有効にする Argo CD インスタンス名を選択します。たとえば、openshift-gitops です。
  4. YAML タブをクリックし、spec.notifications.enabled パラメーターを編集して true に設定します。

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: openshift-gitops
    spec:
      notifications:
        enabled: true
    #....
    Copy to Clipboard Toggle word wrap

  5. Save をクリックします。
ヒント

または、Openshift CLI で oc patch コマンドを使用して通知を有効にできます。以下に例を示します。

oc patch argocd openshift-gitops -n openshift-gitops --type merge --patch '{"spec": {"notifications": {"enabled": true}}}'
Copy to Clipboard Toggle word wrap

法律上の通知

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

Theme

© 2026 Red Hat