5.7. Argo CD Operator

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

5.7.1. Argo CD CLI ツール

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

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

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

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 のシャーディングをサポートするために使用されるレプリカの数。
  • <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 設定 マップの policy.default プロパティー。API リクエストを承認するときに、Argo CD がフォールバックするデフォルトのロールの名前。
  • <Policy> - argocd-rbac-cm 設定 マップの policy.csv プロパティー。ユーザー定義の RBAC ポリシーとロール定義を含む CSV データ。
  • <Scopes> - argocd-rbac-cm 設定 マップの scopes プロパティー。RBAC の実施中に (サブスコープに加えて) どの OIDC スコープを検査するかを制御します。

Redis

Redis 設定オプション

<Object>

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

ResourceCustomizations

リソースの動作をカスタマイズします。

<empty>

 

ResourceExclusions

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

<empty>

 

ResourceInclusions

適用するリソースグループ/種類を設定する設定。

<empty>

 

Server

Argo CD Server 設定オプション。

<Object>

  • <Autoscale> - サーバーの自動スケーリング設定オプション。
  • <ExtraCommandArgs> - Operator によって設定された既存の引数に追加された引数のリスト。
  • <GRPC> - GRPC 設定オプション。
  • <Host> - Ingress または Route リソースに使用されるホスト名。
  • <Ingress> - Argo CD サーバーコンポーネントのイングレス設定。
  • <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>

  • <Image> - Keycloak のコンテナーイメージ。これにより、ARGOCD_KEYCLOAK_IMAGE 環境変数が上書きされます。
  • <Keycloak> - Keycloak SSO プロバイダーの設定オプション。
  • <Dex> - Dex SSO プロバイダーの設定オプション。
  • <Provider> - Single Sign-On の設定に使用されるプロバイダーの名前。現在サポートされているオプションは、Dex と Keycloak です。
  • <Resources> - コンテナーコンピューティングリソース。
  • <VerifyTLS> - Keycloak サービスとの通信時に厳密な TLS チェックを適用するかどうか。
  • <Version> - Keycloak コンテナーイメージで使用するタグ。

StatusBadgeEnabled

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

true

 

TLS

TLS 設定オプション。

<Object>

  • <CA.ConfigMapName> - CA 証明書を含む ConfigMap の名前。
  • <CA.SecretName> - CA 証明書とキーを含むシークレットの名前。
  • <InitialCerts> - HTTPS 経由で Git リポジトリーに接続するための argocd-tls-certs-cm 設定マップ内の証明書の初期セット。

UserAnonyousEnabled

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

true

 

Version

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

最新の Argo CD バージョン

 

Banner

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

<Object>

  • <Banner.Content> - バナーメッセージのコンテンツ (バナーが表示される場合に必要)。
  • <Banner.URL.SecretName> - バナーメッセージリンクの URL (オプション)。

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

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

Name

デフォルト

説明

Resources

<empty>

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

MountSAToken

false

ServiceAccount トークンを repo-server pod にマウントする必要があるかどうか。

ServiceAccount

""

repo-server pod で使用する ServiceAccount の名前。

VerifyTLS

false

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

AutoTLS

""

TLS のセットアップに使用するプロバイダーで、repo-server の gRPC TLS 証明書 (openshift のいずれか)。現在、OpenShift でのみ使用できます。

Image

argoproj/argocd

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

Version

.spec.Version と同じ

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

LogLevel

info

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

LogFormat

text

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

ExecTimeout

180

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

Env

<empty>

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

レプリカ

<empty>

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

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

Argo CD 通知コントローラー を有効または無効にするには、Argo CD カスタムリソースにパラメーターを設定します。デフォルトでは、通知は無効になっています。通知を有効にするには、.yaml ファイルで enabled パラメーターを true に設定します。

手順

  1. enabled パラメーターを true に設定します。
apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: example-argocd
spec:
  notifications:
    enabled: true