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

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

最終更新日時 2025年5月16日

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:
    - Ingresskind: 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: trueserver.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-controlleroc -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>
  8. Process Mining - Dapr または Automation Suite ロボットのいずれかを有効化する場合は、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>:uipathadminoc 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>:uipathadminoc 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>:uipathadminoc 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}; echooc 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; echooc -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. プロジェクトとして [ default ] を選択します。
  7. リポジトリの URL、ユーザー名、パスワード、証明書の情報を入力します。
    大事な:[+CONNECT REPO] ページで TLS クライアント証明書を追加する場合、TLS クライアント証明書キーは必須フィールドになります。TLS クライアント証明書キーを使用せずにレジストリ証明書を構成するには、以下の手順を実行します。
    1. [Settings] > [Repository certificates and known >hosts] に移動し、[+ADD TLS CERTIFICATE] をクリックします。

    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>
  4. openshift-gitops ArgoCD インスタンスで <uipath> 名前空間を管理できることを確認します。
    oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitopsoc 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-controlleroc -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>:uipathadminoc 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>:uipathadminoc 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>:uipathadminoc 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}; echooc 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; echooc -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. [Settings] > [Repository certificates and known >hosts] に移動し、[+ADD TLS CERTIFICATE] をクリックします。

    2. リポジトリ名とTLS証明書をPEM形式で追加します。

  8. 「OCI」チェック・ボックスを選択します。
  9. [接続] を選択します。
  10. 接続ステータスが [成功] であることを確認します。

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

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

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

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

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White