automation-suite
2023.4
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
EKS/AKS の Automation Suite のインストール ガイド
Last updated 2024年9月20日

ArgoCD でクラスターを管理する

概要

ArgoCD は、Kubernetes 用の宣言的な GitOps 継続的デリバリー ツールです。ArgoCD は Kubernetes コントローラーとして設計されており、UiPath® の実行中のアプリケーションを継続的に監視し、現在のステートを Docker レジストリで指定された目的のターゲット ステートと照合して確認します。詳細については、ArgoCD のドキュメントをご覧ください。

管理者は、クラスター、構成、アプリケーションのステータス、健全性の概要すべてをシンプルな UI または CLI で確認できます。ArgoCD には、HA と非 HA の両方の設定をサポートする、専用のオープンソース バンドル版の Redis が付属します。

Automation Suite では、ArgoCD を以下のシナリオで使用します。

  • ファブリック コンポーネントと UiPath® のコア サービスをインストールおよびアップグレードする。
  • 指定したターゲット環境への、目的のアプリケーションのステートのデプロイを自動化する。ArgoCD は、目的とするアプリケーションのステートを定義するための信頼できる情報源として Git/helm リポジトリを使用する GitOps パターンに従います。
  • インストールのステートを追跡する。インストールが特定の時点で失敗し、しばらくしてからインストールを再開する場合、ArgoCD は、既に同期済みのステップをすべてスキップし、失敗した時点から再開します。
  • アプリケーションを自己回復する。誤っていずれかのオブジェクトを削除した場合、マニフェストが自動的に同期されます。

ArgoCD の読み取り専用シナリオ

ArgoCD アカウントは、次の読み取り専用のシナリオで使用できます。

  • すべてのアプリ、ポッド、サービスをシンプルなインターフェイスで可視化する
  • すべてのアプリ、ポッド、サービスの正常性を監視する。
  • デプロイの問題をすばやく特定する
  • クラスター内のアプリケーションを再同期する

ArgoCD の高度なシナリオ

重要: このセクションに記載されているもの以外の設定やパラメーターは一切変更しないでください。

ArgoCD の管理者アカウントは、次の高度なシナリオで使用できます。

  • デバッグ目的でのみパラメーターを変更する。たとえば、自己回復機能を無効化する場合などです。
  • ポッドを削除する
  • トラブルシューティング
  • Orchestrator のカスタム構成を管理する。たとえば、「テナントごとに暗号化キーを設定する」の場合などです。
  • データベースの接続文字列を更新する
  • アプリケーションを同期する
    注: 高度な構成を UI 上で削除または変更する前に、必ず UiPath® の適切なドキュメントを確認してください。

ArgoCD にアクセスする

ArgoCD では、次の 2 つの認証方法がサポートされています。

  • ユーザー名とパスワード – 既定の認証方法です。
  • SSO – 推奨される認証方法です。 インストール後に SSO 認証を有効化できます。 手順については、「 ArgoCD の SSO を有効化する」をご覧ください。

ユーザー名とパスワードによる認証

ArgoCD の管理者アカウントにアクセスする

ユーザー名とパスワードを使用して ArgoCD の管理者アカウントにアクセスするには、次の手順に従います。

  1. URL: https://alm.${CONFIG_CLUSTER_FQDN} にアクセスします。
  2. ユーザー名「admin」を入力します。
  3. パスワードにアクセスします。
    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -dkubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
  4. パスワードを入力します。
    重要: ArgoCD の管理者アカウントは、高度なシナリオにのみ使用する必要があります。注意して使用しないと、クラスターに対して破壊的な操作が実行される可能性があります。

SSO 認証

SSO を使用して ArgoCD にアクセスするには、次の手順に従います。

  1. ArgoCD のログイン ページで [SSO] ボタンをクリックします。
  2. 会社のドメイン資格情報を入力します。

ArgoCD の SSO を有効化する

概要

SSO 認証を有効化するには、uipathctl コマンド ライン ツールを使用する必要があります。

構成ファイルを準備する

ArgoCD の SSO を有効化する前に、RBAC ファイルを生成する必要があります。

RBAC ファイル

RBAC ファイルにはアクセス ルールが含まれます。

組み込みのロール定義の詳細については、 ArgoCD のドキュメントをご覧ください。

ArgoCD のアカウントの種類とその権限の詳細については、「 ArgoCD でクラスターを管理する」をご覧ください。

グループを定義する際はこれらのロールを使用することをお勧めしますが、独自の権限セットを作成することもできます。

RBAC ファイルを構成する
  1. 次のコマンドを実行して、policy.csv という名前のファイルを作成します。
    uipathctl config argocd generate-rbacuipathctl config argocd generate-rbac
  2. policy.csv ファイルに次の内容を追加し、保存します。
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-syncp, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
  3. RBAC グループを組み込みの admin ロールと UiPath® の argocdro 読み取り専用ロールに関連付けます。それには、policy.csv RBAC ファイルに以下の行を追加します。
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:adming, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
  4. 更新した policy.csv RBAC ファイルを保存します。
  5. 次の例に示すように、argo-cd-rbac-cm構成マップの policy.csv セクションの下に policy.default という名前の新しいセクションを作成します。
    policy.csv: |
        p, role:org-admin, applications, *, /, allow
        p, role:org-admin, clusters, get, *, allow
        p, role:org-admin, repositories, get, *, allow
        p, role:org-admin, repositories, create, *, allow
        p, role:org-admin, repositories, update, *, allow
        p, role:org-admin, repositories, delete, *, allow
        g, "694afc07-6767-8998-bf84-ab80b53379df", role:org-admin # (azure group assigned to role)
      policy.default: role:readonlypolicy.csv: |
        p, role:org-admin, applications, *, /, allow
        p, role:org-admin, clusters, get, *, allow
        p, role:org-admin, repositories, get, *, allow
        p, role:org-admin, repositories, create, *, allow
        p, role:org-admin, repositories, update, *, allow
        p, role:org-admin, repositories, delete, *, allow
        g, "694afc07-6767-8998-bf84-ab80b53379df", role:org-admin # (azure group assigned to role)
      policy.default: role:readonly
  6. OIDC で SSO を構成する方法については、ArgoCD のドキュメントに記載された手順に従ってください。

例:

ArgoCD 管理者の LDAP グループが Administrators で、ArgoCD の読み取り専用ユーザーの LDAP グループが Readers である場合、RBAC ファイルは次の例のようになります。

p, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:adminp, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:admin

より高度なユース ケースの場合、次の例は既定の RBAC ファイルを示しています。

# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin

ArgoCD の SSO を有効化する

RBAC ファイルを準備したら、ArgoCD の SSO を有効化できます。

  1. input.json ファイルに以下の行を追加します。

    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }{
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
  2. 次の方法で構成を適用します。 次のコマンドを実行します。
    uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.