UiPath Documentation
automation-suite
2024.10
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

OpenShift の Automation Suite のインストール ガイド

最終更新日時 2026年3月26日

GitOps ツールのインストールと構成

注:

OpenShift GitOps Operator のインストールおよび設定に進む前に、OpenShift Service Mesh をインストールし、必要なすべてのパーミッションを uipathadmin サービスアカウントに付与する必要があります。

Automation Suite は、UiPath® アプリケーション専用の OpenShift GitOps Operator インスタンス、または共有の OpenShift GitOps Operator インスタンス (クラスターに既にインストールされ利用可能な場合) を使用してデプロイできます。

専用の OpenShift GitOps Operator インスタンスを使用して Automation Suite アプリケーションをインストールすることをお勧めします。 この方法では、他の名前空間とクラスター リソースに対する最小限のアクセス許可が必要です。

インストールとアクセスの手順については、次のセクションを参照してください。

専用の GitOps インスタンスをプロビジョニングする

注:

ArgoCD には <uipath> とは異なる名前空間を使用することをお勧めします。

Openshift GitOps バージョン 1.15 以降を使用し、 <uipath> 名前空間内に ArgoCD の専用インスタンスをインストールする場合、サービス メッシュ コントロール プレーンによって追加された <uipath> 名前空間のネットワーク ポリシーにより、ArgoCD UI にアクセスできません。この問題を解決するには、次の例に示すようにネットワーク ポリシーを追加して、イングレス ポッドが <uipath> 名前空間の ArgoCD サーバー ポッドに到達できるようにする必要があります。

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: allow-argocd
spec:
  podSelector:
    matchLabels:
      app.kubernetes.io/name: argocd-server
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              network.openshift.io/policy-group: ingress
  policyTypes:
    - Ingress
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: allow-argocd
spec:
  podSelector:
    matchLabels:
      app.kubernetes.io/name: argocd-server
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              network.openshift.io/policy-group: ingress
  policyTypes:
    - Ingress

専用の OpenShift GitOps Operator インスタンスをプロビジョニングするには、以下の手順を実行します。

  1. <argocd> 名前空間がまだ存在しない場合は、次のコマンドを実行して作成します。

    oc get namespace <argocd> || oc new-project <argocd>
    oc project <argocd>
    oc get namespace <argocd> || oc new-project <argocd>
    oc project <argocd>
    
  2. 「OpenShift GitOps のインストール」の手順に従って OpenShift GitOps Operator をインストールします。

  3. 新しい ArgoCD インスタンスを設定する」の手順に従って、新しい ArgoCD インスタンスを作成します。

    注:

    「Argo CD サーバーとリポジトリ サーバーのレプリカを有効化する」で説明されているspecセクションに、次の行を追加する必要があります。

    server.route.enabled: true
    server.route.enabled: true
    
  4. ArgoCD のデプロイにパッチを適用します。

    oc -n <argocd> patch deployment argocd-server \
      -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'
    oc -n <argocd> patch deployment argocd-server \
      -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'
    
  5. ArgoCD が制限範囲を管理できるようにロールを作成します。 ロールを作成するには、次の手順に従います。

    1. 次のロール構成を YAML ファイルとして保存します。
      kind: Role
      apiVersion: rbac.authorization.k8s.io/v1
      metadata:
        name: limit-range-manager
        namespace: <uipath>
      rules:
        - apiGroups: ["*"]
          resources: ["limitranges"]
          verbs: ["get", "watch", "list", "patch", "update", "create"]
      kind: Role
      apiVersion: rbac.authorization.k8s.io/v1
      metadata:
        name: limit-range-manager
        namespace: <uipath>
      rules:
        - apiGroups: ["*"]
          resources: ["limitranges"]
          verbs: ["get", "watch", "list", "patch", "update", "create"]
      
    2. 次のコマンドを実行して、設定を適用します。 <file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。
      oc apply -f <file_name.yaml>
      oc apply -f <file_name.yaml>
      
  6. limit-range-manager ロールをargocdサービス アカウントにバインドします。

    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controller
    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controller
    
  7. Process Mining - Dapr または Automation Suite ロボットのいずれかを有効化した場合は、次の手順を実行して ArgoCD のクラスター全体モードを有効化する必要があります。

    1. <openshift-gitops>で、openshift-gitops-operator サブスクリプション リソースを編集して、次の環境変数を含めます。
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>
      
    2. Argo CD インスタンスを使用してクラスター範囲のリソースを管理する」の手順に従います。
  8. <uipath> の名前空間が <argocd> の名前空間と同じでない場合、ArgoCD インスタンスで <uipath> の名前空間を管理できるようにする必要があります。

    oc label namespace <uipath> argocd.argoproj.io/managed-by=<argocd>
    oc label namespace <uipath> argocd.argoproj.io/managed-by=<argocd>
    

    構成を適用したら、ArgoCD application-controler (ステートフルセット) と server (デプロイ) を再起動します。

  9. 次の手順は、 <uipath> 名前空間が <argocd> 名前空間と同じでない場合にのみ実行する必要があります。

    <argocd> 名前空間でアプリケーションを管理するロールを作成します。ロールを作成するには、次の手順に従います。

    1. 次のロール構成を YAML ファイルとして保存します。
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        name: uipath-application-manager
        namespace: <argocd>
      rules:
      - apiGroups:
        - argoproj.io
        resources:
        - applications
        verbs:
        - "*"
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        name: uipath-application-manager
        namespace: <argocd>
      rules:
      - apiGroups:
        - argoproj.io
        resources:
        - applications
        verbs:
        - "*"
      
    2. 次のコマンドを実行して、設定を適用します。 <file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。
      oc apply -f <file_name.yaml>
      oc apply -f <file_name.yaml>
      
  10. uipath-application-manager ロールをuipathadminサービス アカウントにバインドします。

    oc project <argocd>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    oc project <argocd>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    
  11. uipathadmin サービス アカウントが <argocd> 名前空間でシークレットを作成および編集できるように、ロールを作成します。ArgoCD アプリケーションで Helm シークレットを更新するには、このロールが必要です。 ロールを作成するには、次の手順に従います。

    1. 次のロール構成を YAML ファイルとして保存します。
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        name: argo-secret-role
        namespace: <argocd>
      rules:
        - apiGroups: ["rbac.authorization.k8s.io"]
          resources: ["roles", "rolebindings"]
          verbs: ["*"]
        - apiGroups: ["*"]
          resources: ["secrets"]
          verbs: ["get", "watch", "list", "patch", "update", "create"]
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        name: argo-secret-role
        namespace: <argocd>
      rules:
        - apiGroups: ["rbac.authorization.k8s.io"]
          resources: ["roles", "rolebindings"]
          verbs: ["*"]
        - apiGroups: ["*"]
          resources: ["secrets"]
          verbs: ["get", "watch", "list", "patch", "update", "create"]
      
    2. 次のコマンドを実行して、設定を適用します。 <file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。
      oc apply -f <file_name.yaml>
      oc apply -f <file_name.yaml>
      
  12. argo-secret-role ロールをuipathadminサービス アカウントにバインドします。

    oc project <argocd>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    oc project <argocd>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    
  13. <argocd> 名前空間の namespace-reader ロールを uipathadmin サービス アカウントにバインドします。

    oc project <argocd>
    oc create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    oc project <argocd>
    oc create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    

専用の ArgoCD インスタンスにアクセスする

ArgoCD にアクセスするには、次の手順に従います。

  1. ホスト URL を取得します。
    oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo
    oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo
    
  2. ログインするには、ユーザー名として admin を使用し、次のコマンドを実行してパスワードを取得します。
    oc -n <argocd> get secrets argocd-cluster \
      -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
    oc -n <argocd> get secrets argocd-cluster \
      -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
    

ArgoCD でプライベート Helm リポジトリと証明書を構成する

ArgoCD に Helm リポジトリを構成するには、次の手順に従います。

  1. ArgoCD にログインします。
  2. [設定] > [リポジトリ] > +[CONNECT REPO] に移動します。
  3. 接続方法には VIA HTTPS を使用します。
  4. タイプとして [ Helm ] を選択します。
  5. 名前を入力します。
  6. プロジェクトとして [ 既定 ] を選択します。
  7. リポジトリの URL、ユーザー名、パスワード、証明書の情報を入力します。
    重要:

    [+CONNECT REPO] ページで TLS クライアント証明書を追加すると、TLS クライアント証明書キーが必須フィールドになります。TLS クライアント証明書キーなしでレジストリ証明書を構成するには、次の手順を実行します。

    1. [設定] > [リポジトリ証明書と既知のホスト] > [+ TLS 証明書の追加] に移動します。
    2. リポジトリ名とTLS証明書をPEM形式で追加します。
  8. 「OCI」チェック・ボックスを選択します。
  9. [接続] を選択します。
  10. 接続ステータスが [成功] であることを確認します。

共有 GitOps インスタンスを構成する

プラットフォームチームが共有 OpenShift GitOps Operator インスタンスをまだプロビジョニングしていない場合は、以下のインストールおよび設定ステップを実行します。

  1. 名前空間 <uipath> を作成します。

    oc get namespace <uipath> || oc new-project <uipath>
    oc project <uipath>
    oc get namespace <uipath> || oc new-project <uipath>
    oc project <uipath>
    
  2. 「OpenShift GitOps のインストール」の手順に従って OpenShift GitOps Operator をインストールします。このインストールでは、<openshift-gitops> 名前空間に openshift-gitops<[> という名前の既定の ArgoCD インスタンスが提供されます。

  3. 次の手順を実行して、ArgoCD のクラスター全体モードを有効化します。

    1. <openshift-gitops>で、openshift-gitops-operator サブスクリプション リソースを編集して、次の環境変数を含めます。
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>
      
    2. ArgoCD インスタンスを使用してクラスター範囲のリソースを管理する」の手順に従います。
  4. openshift-gitops ArgoCD インスタンスで <uipath> 名前空間を管理できることを確認します。

    oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitops
    oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitops
    

    構成を適用したら、ArgoCD openshift-gitops-application-controller (ステートフルセット) と openshift-gitops-server (デプロイ) を再起動します。

  5. ArgoCD のデプロイにパッチを適用します。

    oc -n <uipath> patch deployment argocd-server 
      -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'
    oc -n <uipath> patch deployment argocd-server 
      -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'
    
  6. UiPath® アプリケーション用の ArgoCD プロジェクトを作成します。

    apiVersion: argoproj.io/v1alpha1
    kind: AppProject
    metadata:
      name: uipath
      namespace: <openshift-gitops>
    spec:
      description: Appproject to managed and deploy uipath applications
      clusterResourceWhitelist:
        - group: '*'
          kind: '*'
      destinations:
        - namespace: <uipath>
          server: https://kubernetes.default.svc
        - namespace: <istio-system>
          server: https://kubernetes.default.svc
      sourceNamespaces:
        - <openshift-gitops>
      sourceRepos:
        - '*'
    apiVersion: argoproj.io/v1alpha1
    kind: AppProject
    metadata:
      name: uipath
      namespace: <openshift-gitops>
    spec:
      description: Appproject to managed and deploy uipath applications
      clusterResourceWhitelist:
        - group: '*'
          kind: '*'
      destinations:
        - namespace: <uipath>
          server: https://kubernetes.default.svc
        - namespace: <istio-system>
          server: https://kubernetes.default.svc
      sourceNamespaces:
        - <openshift-gitops>
      sourceRepos:
        - '*'
    
  7. ArgoCD が制限範囲を管理できるようにロールを作成します。 ロールを作成するには、次の手順に従います。

    1. 次のロール構成を YAML ファイルとして保存します。
      kind: Role
      apiVersion: rbac.authorization.k8s.io/v1
      metadata:
        name: limit-range-manager
        namespace: <uipath>
      rules:
        - apiGroups: ["*"]
          resources: ["limitranges"]
          verbs: ["get", "watch", "list", "patch", "update", "create"]
      kind: Role
      apiVersion: rbac.authorization.k8s.io/v1
      metadata:
        name: limit-range-manager
        namespace: <uipath>
      rules:
        - apiGroups: ["*"]
          resources: ["limitranges"]
          verbs: ["get", "watch", "list", "patch", "update", "create"]
      
    2. 次のコマンドを実行して、設定を適用します。 <file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。
      oc apply -f <file_name.yaml>
      oc apply -f <file_name.yaml>
      
  8. limit-range-manager ロールをargocdサービス アカウントにバインドします。

    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
    
  9. <openshift-gitops> 名前空間でアプリケーションを管理するロールを作成します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: uipath-application-manager
      namespace: <openshift-gitops>
    rules:
    - apiGroups:
      - argoproj.io
      resources:
      - applications
      verbs:
      - "*"
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: uipath-application-manager
      namespace: <openshift-gitops>
    rules:
    - apiGroups:
      - argoproj.io
      resources:
      - applications
      verbs:
      - "*"
    
  10. uipath-application-manager ロールをuipathadminサービス アカウントにバインドします。

    oc project <openshift-gitops>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    oc project <openshift-gitops>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    
  11. ArgoCD が <openshift-gitops> 名前空間でシークレットを作成および編集できるように、ロールを作成します。 ArgoCD アプリケーションで Helm シークレットを更新するには、このロールが必要です。 次の例は、 ロールの有効な設定を示しています。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: argo-secret-role
      namespace: <openshift-gitops>
    rules:
      - apiGroups: ["rbac.authorization.k8s.io"]
        resources: ["roles", "rolebindings"]
        verbs: ["*"]
      - apiGroups: ["*"]
        resources: ["secrets"]
        verbs: ["get", "watch", "list", "patch", "update", "create"]
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: argo-secret-role
      namespace: <openshift-gitops>
    rules:
      - apiGroups: ["rbac.authorization.k8s.io"]
        resources: ["roles", "rolebindings"]
        verbs: ["*"]
      - apiGroups: ["*"]
        resources: ["secrets"]
        verbs: ["get", "watch", "list", "patch", "update", "create"]
    
  12. argo-secret-role ロールをuipathadminサービス アカウントにバインドします。

    oc project <openshift-gitops>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    oc project <openshift-gitops>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    
  13. <openshift-gitops> 名前空間の namespace-reader ロールを uipathadmin サービス アカウントにバインドします。

    oc project <openshift-gitops>
    oc create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    oc project <openshift-gitops>
    oc create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    

Automation Suite のインストール用に共有 ArgoCD インスタンスを構成する手順を完了することに加えて、以下のパラメーターを input.json ファイルに追加する必要があります。

  "argocd": {
    "project": "<uipath>"
  },
  "argocd": {
    "project": "<uipath>"
  },

共有 ArgoCD インスタンスにアクセスする

ArgoCD にアクセスするには、次の手順に従います。

  1. 次のコマンドを実行して、ホスト URL を取得します。
    oc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echo
    oc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echo
    
  2. ログインするには、ユーザー名として admin を使用し、次のコマンドを実行してパスワードを取得します。
    oc -n <openshift-gitops> get secrets openshift-gitops-cluster \
      -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
    oc -n <openshift-gitops> get secrets openshift-gitops-cluster \
      -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
    

ArgoCD でプライベート Helm リポジトリと証明書を構成する

ArgoCD に Helm リポジトリを構成するには、次の手順に従います。

  1. ArgoCD にログインします。
  2. [設定] > [リポジトリ] > +[CONNECT REPO] に移動します。
  3. 接続方法には VIA HTTPS を使用します。
  4. タイプとして [ Helm ] を選択します。
  5. 名前を入力します。
  6. プロジェクトとして [ UiPath ] を選択します。uipath は、UiPath® アプリケーション用に作成した ArgoCD プロジェクトの名前です。
  7. リポジトリの URL、ユーザー名、パスワード、証明書の情報を入力します。
    重要:

    [+CONNECT REPO] ページで TLS クライアント証明書を追加すると、TLS クライアント証明書キーが必須フィールドになります。TLS クライアント証明書キーなしでレジストリ証明書を構成するには、次の手順を実行します。

    1. [設定] > [リポジトリ証明書と既知のホスト] > [+ TLS 証明書の追加] に移動します。
    2. リポジトリ名とTLS証明書をPEM形式で追加します。
  8. 「OCI」チェック・ボックスを選択します。
  9. [接続] を選択します。
  10. 接続ステータスが [成功] であることを確認します。

単一クラスター内の複数のインストール用に ArgoCD を構成する

単一の OpenShift クラスター内の複数の Automation Suite インストール用に ArgoCD を構成するには、次の手順を実行します。

  1. ArgoCD のすべてのサービスが起動し、実行されているかどうかを確認します。次のコマンドを実行して、すべてのポッドを監視できます。
    oc get pods -n <argocd>
    oc get pods -n <argocd>
    
  2. すべてのサービスが起動して実行されたら、次のコマンドを順番に使用して、ArgoCD の権限にパッチを適用できます。これにより、ArgoCD は Automation Suite がインストールされているさまざまなアプリケーション名前空間を管理できます。
    oc patch appprojects.argoproj.io default -n <argocd> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}'
    oc patch configmaps argocd-cmd-params-cm -n <argocd> --type='merge' -p '{"data": {"application.namespaces": "*"}}'
    oc rollout restart -n <argocd> deployment argocd-server
    oc rollout restart -n <argocd> statefulset argocd-application-controller
    oc patch appprojects.argoproj.io default -n <argocd> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}'
    oc patch configmaps argocd-cmd-params-cm -n <argocd> --type='merge' -p '{"data": {"application.namespaces": "*"}}'
    oc rollout restart -n <argocd> deployment argocd-server
    oc rollout restart -n <argocd> statefulset argocd-application-controller
    

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得