- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- Automation Suite をアップグレードする
- スタンドアロン製品を Automation Suite に移行する
- 手順 1: スタンドアロンの製品データベースを復元する
- 手順 2: 復元した製品データベースのスキーマを更新する
- 手順 3: Identity 組織データをスタンドアロンから Automation Suite に移動する
- 手順 4: Automation Suite のプラットフォーム データベースをバックアップする
- 手順 5: 組織を Automation Suite にマージする
- 手順 6: 以降済みの製品の接続文字列を更新する
- 手順 7: スタンドアロンの Orchestrator を移行する
- 手順 8: スタンドアロンの Insights を移行する
- 手順 9: スタンドアロンの Test Manager を移行する
- 手順 10: 既定のテナントを削除する
- 単一テナントの移行を実行する
- Automation Suite クラスター間を移行する
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング

OpenShift の Automation Suite のインストール ガイド
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 インスタンスをプロビジョニングするには、以下の手順を実行します。
-
<argocd>名前空間がまだ存在しない場合は、次のコマンドを実行して作成します。oc get namespace <argocd> || oc new-project <argocd> oc project <argocd>oc get namespace <argocd> || oc new-project <argocd> oc project <argocd> -
「OpenShift GitOps のインストール」の手順に従って OpenShift GitOps Operator をインストールします。
-
「 新しい ArgoCD インスタンスを設定する」の手順に従って、新しい ArgoCD インスタンスを作成します。
注:「Argo CD サーバーとリポジトリ サーバーのレプリカを有効化する」で説明されている
specセクションに、次の行を追加する必要があります。server.route.enabled: trueserver.route.enabled: true -
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"}}}}}' -
ArgoCD が制限範囲を管理できるようにロールを作成します。 ロールを作成するには、次の手順に従います。
- 次のロール構成を 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"] - 次のコマンドを実行して、設定を適用します。
<file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- 次のロール構成を YAML ファイルとして保存します。
-
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 -
Process Mining - Dapr または Automation Suite ロボットのいずれかを有効化した場合は、次の手順を実行して ArgoCD のクラスター全体モードを有効化する必要があります。
<openshift-gitops>で、openshift-gitops-operatorサブスクリプション リソースを編集して、次の環境変数を含めます。ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>- 「 Argo CD インスタンスを使用してクラスター範囲のリソースを管理する」の手順に従います。
-
<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(デプロイ) を再起動します。 -
次の手順は、
<uipath>名前空間が<argocd>名前空間と同じでない場合にのみ実行する必要があります。<argocd>名前空間でアプリケーションを管理するロールを作成します。ロールを作成するには、次の手順に従います。- 次のロール構成を 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: - "*" - 次のコマンドを実行して、設定を適用します。
<file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- 次のロール構成を YAML ファイルとして保存します。
-
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 -
uipathadminサービス アカウントが<argocd>名前空間でシークレットを作成および編集できるように、ロールを作成します。ArgoCD アプリケーションで Helm シークレットを更新するには、このロールが必要です。 ロールを作成するには、次の手順に従います。- 次のロール構成を 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"] - 次のコマンドを実行して、設定を適用します。
<file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- 次のロール構成を YAML ファイルとして保存します。
-
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 -
<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 にアクセスするには、次の手順に従います。
- ホスト URL を取得します。
oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echooc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo - ログインするには、ユーザー名として
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 リポジトリを構成するには、次の手順に従います。
- ArgoCD にログインします。
- [設定] > [リポジトリ] > +[CONNECT REPO] に移動します。
- 接続方法には VIA HTTPS を使用します。
- タイプとして [ Helm ] を選択します。
- 名前を入力します。
- プロジェクトとして [ 既定 ] を選択します。
- リポジトリの URL、ユーザー名、パスワード、証明書の情報を入力します。
重要:
[+CONNECT REPO] ページで TLS クライアント証明書を追加すると、TLS クライアント証明書キーが必須フィールドになります。TLS クライアント証明書キーなしでレジストリ証明書を構成するには、次の手順を実行します。
- [設定] > [リポジトリ証明書と既知のホスト] > [+ TLS 証明書の追加] に移動します。
- リポジトリ名とTLS証明書をPEM形式で追加します。
- 「OCI」チェック・ボックスを選択します。
- [接続] を選択します。
- 接続ステータスが [成功] であることを確認します。
共有 GitOps インスタンスを構成する
プラットフォームチームが共有 OpenShift GitOps Operator インスタンスをまだプロビジョニングしていない場合は、以下のインストールおよび設定ステップを実行します。
-
名前空間
<uipath>を作成します。oc get namespace <uipath> || oc new-project <uipath> oc project <uipath>oc get namespace <uipath> || oc new-project <uipath> oc project <uipath> -
「OpenShift GitOps のインストール」の手順に従って OpenShift GitOps Operator をインストールします。このインストールでは、
<openshift-gitops>名前空間にopenshift-gitops<[> という名前の既定の ArgoCD インスタンスが提供されます。 -
次の手順を実行して、ArgoCD のクラスター全体モードを有効化します。
<openshift-gitops>で、openshift-gitops-operatorサブスクリプション リソースを編集して、次の環境変数を含めます。ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>- 「 ArgoCD インスタンスを使用してクラスター範囲のリソースを管理する」の手順に従います。
-
openshift-gitopsArgoCD インスタンスで<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(デプロイ) を再起動します。 -
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"}}}}}' -
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: - '*' -
ArgoCD が制限範囲を管理できるようにロールを作成します。 ロールを作成するには、次の手順に従います。
- 次のロール構成を 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"] - 次のコマンドを実行して、設定を適用します。
<file_name.yaml>プレースホルダーをYAMLファイルの実際の名前に置き換えてください。oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- 次のロール構成を YAML ファイルとして保存します。
-
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 -
<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: - "*" -
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 -
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"] -
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 -
<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 にアクセスするには、次の手順に従います。
- 次のコマンドを実行して、ホスト 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 - ログインするには、ユーザー名として
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 リポジトリを構成するには、次の手順に従います。
- ArgoCD にログインします。
- [設定] > [リポジトリ] > +[CONNECT REPO] に移動します。
- 接続方法には VIA HTTPS を使用します。
- タイプとして [ Helm ] を選択します。
- 名前を入力します。
- プロジェクトとして [ UiPath ] を選択します。uipath は、UiPath® アプリケーション用に作成した ArgoCD プロジェクトの名前です。
- リポジトリの URL、ユーザー名、パスワード、証明書の情報を入力します。
重要:
[+CONNECT REPO] ページで TLS クライアント証明書を追加すると、TLS クライアント証明書キーが必須フィールドになります。TLS クライアント証明書キーなしでレジストリ証明書を構成するには、次の手順を実行します。
- [設定] > [リポジトリ証明書と既知のホスト] > [+ TLS 証明書の追加] に移動します。
- リポジトリ名とTLS証明書をPEM形式で追加します。
- 「OCI」チェック・ボックスを選択します。
- [接続] を選択します。
- 接続ステータスが [成功] であることを確認します。
単一クラスター内の複数のインストール用に ArgoCD を構成する
単一の OpenShift クラスター内の複数の Automation Suite インストール用に ArgoCD を構成するには、次の手順を実行します。
- ArgoCD のすべてのサービスが起動し、実行されているかどうかを確認します。次のコマンドを実行して、すべてのポッドを監視できます。
oc get pods -n <argocd>oc get pods -n <argocd> - すべてのサービスが起動して実行されたら、次のコマンドを順番に使用して、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-controlleroc 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