Argo CD インスタンス
Argo CD インスタンスのインストールとデプロイ
概要
第1章 Argo CD インスタンスのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat OpenShift GitOps は Argo CD のインスタンスを openshift-gitops namespace にインストールし、特定のクラスタースコープのリソースを管理するための追加のアクセス許可を使用します。クラスター設定を管理したり、アプリケーションをデプロイメントしたりするために、新しい Argo CD インスタンスをインストールしてデプロイメントできます。デフォルトでは、新しいインスタンスには、デプロイされた namespace でのみリソースを管理する権限があります。
1.1. Argo CD インスタンスのインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスター設定を管理したり、アプリケーションをデプロイメントしたりするために、新しい Argo CD インスタンスをインストールしてデプロイメントできます。
手順
- OpenShift Container Platform Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
- Project ドロップダウンメニューから Argo CD インスタンスをインストールするプロジェクトを作成または選択します。
- インストールされた Operator のリストから OpenShift GitOps Operator を選択し、Argo CD タブをクリックします。
パラメーターを設定するには、Create ArgoCD をクリックします。
-
インスタンスの Name を入力します。デフォルトでは、Name は
exampleに設定されています。 - 外部 OS ルートを作成して Argo CD サーバーにアクセスします。Server → Route をクリックし、Enabled にチェックを入れます。
-
インスタンスの Name を入力します。デフォルトでは、Name は
- Argo CD Web UI を開くには、Argo CD インスタンスがインストールされているプロジェクトで Networking → Routes → <instance name>-server に移動して、ルートをクリックします。
1.2. Argo CD サーバーとレポサーバーのレプリカを有効にする リンクのコピーリンクがクリップボードにコピーされました!
Argo CD-server と Argo CD-repo-server のワークロードはステートレスです。ワークロードを Pod 間でより適切に分散するには、Argo CD サーバーと Argo CD リポジトリーサーバーのレプリカの数を増やすことができます。ただし、Argo CD サーバーで水平オートスケーラーが有効になっている場合は、設定したレプリカの数が上書きされます。
手順
repoとserverスペックのreplicasパラメーターを、実行するレプリカの数に設定します。Argo CD カスタムリソースの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. 別の namespace へのリソースのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Argo CD がインストール先以外の namespace のリソースを管理できるようにするには、対象の namespace に argocd.argoproj.io/managed-by ラベルを設定します。
手順
namespace を設定します。
oc label namespace <namespace> \ argocd.argoproj.io/managed-by=<namespace>
$ oc label namespace <namespace> \ argocd.argoproj.io/managed-by=<namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Argo CD がインストールされている namespace 。
1.4. Argo CD コンソールリンクのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
マルチテナントクラスターでは、ユーザーは Argo CD の複数のインスタンスを処理する必要がある場合があります。たとえば、namespace に Argo CD インスタンスをインストールした後、コンソールアプリケーションランチャーには、独自の Argo CD インスタンスではなく、Argo CD コンソールリンクにアタッチされた別の Argo CD インスタンスが見つかる場合があります。
DISABLE_DEFAULT_ARGOCD_CONSOLELINK 環境変数を設定すると、Argo CD コンソールリンクをカスタマイズできます。
-
DISABLE_DEFAULT_ARGOCD_CONSOLELINKをtrueに設定すると、Argo CD コンソールリンクが完全に削除されます。 -
DISABLE_DEFAULT_ARGOCD_CONSOLELINKをfalseに設定するか、デフォルト値を使用すると、Argo CD コンソールリンクは、一時的に削除されますが、Argo CD ルートが調整されると、再び表示されます。
前提条件
- OpenShift Container Platform クラスターに管理者としてログインした。
- Red Hat OpenShift GitOps Operator がインストールされている。
手順
- Administrator パースペクティブで、Administration → CustomResourceDefinitions に移動します。
- サブスクリプション CRD を見つけて、クリックして開きます。
- Instances タブを選択し、openshift-gitops-operator サブスクリプションをクリックします。
YAML タブを選択し、カスタマイズを行います。
Argo CD コンソールリンクを有効または無効にするには、必要に応じて
DISABLE_DEFAULT_ARGOCD_CONSOLELINKの値を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第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 カスタムリソースは以下のプロパティーで設定されます。
| Name | 説明 | デフォルト | プロパティー |
|---|---|---|---|
|
|
Argo CD がアプリ名を追跡ラベルとして挿入する |
| |
|
|
|
|
|
|
| 設定管理プラグインを追加します。 |
| |
|
| Argo CD アプリケーションコントローラーオプション。 |
|
|
|
| 組み込みの管理者ユーザーを無効にします。 |
| |
|
| Google Analytics 追跡 ID を使用します。 |
| |
|
| Google アナリティクスに送信されるハッシュ化されたユーザー名を有効にします。 |
| |
|
| 高可用性オプション。 |
|
|
|
| チャットヘルプを取得するための URL (これは通常、サポート用の Slack チャネルです)。 | ||
|
| チャットヘルプを取得するためのテキストボックスに表示されるテキスト。 |
| |
|
|
すべての Argo CD コンポーネントのコンテナーイメージ。これにより、 |
| |
|
| Ingress 設定オプション。 |
| |
|
| クラスターの作成時に Argo CD を使用するように設定するための初期 Git リポジトリー。 |
| |
|
| 通知コントローラーの設定オプション。 |
|
|
|
| クラスターの作成時に Argo CD を使用するように設定するための Git リポジトリー認証情報テンプレート。 |
| |
|
| クラスターの作成時に使用する Argo CD の SSH 既知のホストです。 |
| |
|
|
|
| |
|
| Dex の代替となる OIDC 設定。 |
| |
|
|
|
| |
|
| Prometheus 設定オプション。 |
|
|
|
| RBAC 設定オプション。 |
|
|
|
| Redis 設定オプション |
|
|
|
| リソースのヘルスチェック動作をカスタマイズします。 |
| |
|
| リソースの違いを無視する動作をカスタマイズします。 |
| |
|
| リソースアクションの動作をカスタマイズします。 |
| |
|
| リソースグループのクラス全体を完全に無視します。 |
| |
|
| どのリソースグループ/種類が適用されるかを識別するための設定。 |
| |
|
| Argo CD Server 設定オプション。 |
|
|
|
| シングルサインオンオプション。 |
|
|
|
| アプリケーションステータスバッジを有効にします。 |
| |
|
| TLS 設定オプション。 |
|
|
|
| 匿名ユーザーアクセスを有効にします。 |
| |
|
| すべての Argo CD コンポーネントのコンテナーイメージで使用するタグ。 | 最新の Argo CD バージョン | |
|
| UI バナーメッセージを追加します。 |
|
|
2.3. リポジトリーサーバーのプロパティー リンクのコピーリンクがクリップボードにコピーされました!
Repo サーバーコンポーネントの設定には、次のプロパティーを使用できます。
| Name | デフォルト | 説明 |
|---|---|---|
|
|
| コンテナーコンピューティングリソース。 |
|
|
|
|
|
|
|
repo-server Pod で使用する |
|
|
| リポジトリーサーバーとの通信時に、すべてのコンポーネントに厳密な TLS チェックを適用するかどうかを定義します。 |
|
|
|
リポサーバーの gRPC TLS 証明書の TLS を設定するために使用するプロバイダー。現在、 |
|
|
|
Argo CD Repo サーバーのコンテナーイメージ。これは、 |
|
|
| Argo CD Repo サーバーで使用するタグ。 |
|
|
|
Argo CD Repo サーバーが使用するログレベル。有効なオプションは、 |
|
|
|
Argo CD Repo サーバーが使用するログ形式。有効なオプションは |
|
|
| レンダリングツール (Helm や KusTOMize など) の実行タイムアウト (秒単位)。 |
|
|
| リポジトリーサーバーのワークロード用に設定する環境。 |
|
|
|
Argo CD Repo サーバーのレプリカの数。 |
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 インスタンスの通知を有効にするには、以下の手順を実行します。
- Operators → Installed Operators ページに移動します。
- Installed Operators のリストから Red Hat OpenShift GitOps Operator を選択し、ArgoCD タブをクリックします。
-
通知を有効にする Argo CD インスタンス名を選択します。たとえば、
openshift-gitopsです。 YAML タブをクリックし、
spec.notifications.enabledパラメーターを編集してtrueに設定します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save をクリックします。
または、Openshift CLI で oc patch コマンドを使用して通知を有効にできます。以下に例を示します。
oc patch argocd openshift-gitops -n openshift-gitops --type merge --patch '{"spec": {"notifications": {"enabled": true}}}'
oc patch argocd openshift-gitops -n openshift-gitops --type merge --patch '{"spec": {"notifications": {"enabled": true}}}'