- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング
- ODF の S3 リクエストに対する 500 エラーとレート制限
- 外部シークレットのトラブルシューティング
- ODF 4.20 の CSI ドライバー トレレーションの設定
- Temporal as a Service のトラブルシューティング
- TLS 証明書の検証が有効化されていると、AI Center と Document Understanding ポッドの起動に失敗する
- デスクトップ版の Studio では Integration Service のコネクタとアクティビティを読み込めない
- TLS 証明書の検証エラー
- 手動による ArgoCD ネットワーク ポリシーの軽減策 (GHSA-47m3-95c7-g2g8)
- uipathctl で作成されたワークロードのリソース要求と制限を設定する
クラスター ロールによるインストール権限の付与
OpenShift インストールの場合、クラスター範囲の ClusterRole 権限と ClusterRoleBinding 権限を Automation Suite インストーラーのサービス アカウントとクラスター管理者ユーザーに付与します。
インストールの権限は、Automation Suite インストーラーに管理者権限を付与できない場合にのみ関係します。 必要な管理者権限をインストーラーに付与できる場合は、このセクションの指示に従う必要はありません。
このページでは、Automation Suite インストーラーのサービス アカウント (uipathadmin) に、クラスター スコープの権限 (ClusterRole および ClusterRoleBinding) を付与できることを前提としています。セキュリティ ポリシーによってクラスター スコープの権限の付与が禁止されている場合は、代わりに「 クラスター ロールなしでインストール権限を付与する 」をご覧ください。
同じクラスターに複数の Automation Suite インスタンスをインストールする場合、Automation Suite をインストールする他の名前空間に 権限を付与する必要があります。
Automation Suite は、インストール時に特定の権限に依存します。 これらの権限はサービス アカウントに割り当てられ、このアカウントはさまざまな Automation Suite コンポーネントをインストールする際に極めて重要な役割を果たします。
インストールに必要なすべての権限を設定するには、このセクションの手順を実行します。
本セクションで参照するコマンドは、OpenShift Kubernetes API サーバーにアクセスできる Linux、Windows、または macOS マシンから実行する必要があります。
手順 1: サービス アカウントを作成する
サービス アカウントを作成するには、以下の手順に従います。
-
<uipath>名前空間とプロジェクトを作成します。oc get namespace <uipath> || oc new-project <uipath>oc get namespace <uipath> || oc new-project <uipath> -
既定の名前空間とプロジェクトを に設定します
<uipath>。oc project <uipath>oc project <uipath>以降の
ocコマンドはすべて、<uipath>名前空間内で動作します。 -
という名前のサービス アカウントを作成します
uipathadminoc create serviceaccount uipathadminoc create serviceaccount uipathadmin -
既存の
adminクラスター ロールを使用して、<uipath>名前空間のuipathadminサービス アカウントに管理者権限を付与します。oc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadminoc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin
手順 2: 必要なロールを作成する
uipathadmin サービス アカウントには、Automation Suite のインストール時に特定の権限が必要です。ロールを作成することで、必要な権限を与えます。
各ロールを作成するには、その構成を YAML ファイルとして保存し、次のコマンドを実行して、 <file_name.yaml> プレースホルダーを YAML ファイルの実際の名前に置き換えます。
oc apply -f <file_name.yaml>
oc apply -f <file_name.yaml>
ロールごとに YAML ファイルを作成するには、以下のセクションの構成をコピーします。
名前空間にクエリを実行する [読み取り専用]
<istio-system> 名前空間などの名前空間が使用可能かどうかを確認するために必要です。
次の例に、 namespace-reader-clusterrole の設定を示します。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
ノードと CRD のリスト [読み取り専用]
前提条件の確認と診断の健全性チェック ツールでは、ノードで使用可能な容量など、ノードの検証を実行するためにこの権限が必要です。
次の例に、 list-nodes-and-crd-clusterrole の設定を示します。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
これらの権限がクラスターで使用できない場合、Automation Suite ロボットは同時実行ジョブの最大数を自動的に決定できません。制限を明示的に定義するには、input.jsonの [asrobots] セクションでconcurrency_limitを設定します。詳しくは、「 Automation Suite ロボット固有の設定」をご覧ください。
uipath ロール [書き込み]
Automation Suite のインストールの大部分は ArgoCD を介して実行されます。ただし、一部のコンポーネントのインストールは Helm チャートを使用して実行されます。
uipathctl ツールは、Helm チャートのインストールを実行するインストール ジョブを実行します。kube-api-server に接続して Helm チャートを <uipath> 名前空間にインストールするには、名前空間レベルの role-creator ロールが必要です。
次の例に、 uipath-automationsuite-role の設定を示します。
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: [""]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: [""]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]
<istio-system> ロール [書き込み]
これらのアクセス許可は、インストーラーで WebAssembly (WASM) プラグインを構成する場合にのみ付与します。それ以外の場合は、権限を入力しないでください。
<istio-system> 名前空間では次の操作が実行されます。
- Automation Suite の前提条件チェック ツールは、
<istio-system>名前空間のポッドとサービスを読み取り、Istio が正しくインストールおよび構成されていることを検証します。 - Automation Suite は
<istio-system>名前空間に WASM プラグインをインストールし、パスベースのルーティング ルールを設定します。uipathctlを使用して Helm ベースのインストール ジョブを実行します。これには、レジストリからイメージをプルするためのimagepullsecretと、<istio-system>名前空間のロール作成者を作成する必要があります。
次の例に、 istio-system-automationsuite-role の設定を示します。
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
<istio-system> roles [読み取り専用]
Istio を設定済みで WASM プラグインをインストール済みの場合は、これらの権限を付与します。
<istio-system> 名前空間では次の操作が実行されます。
- Automation Suite の前提条件チェック ツールは、
<istio-system>名前空間のポッドとサービスを読み取り、Istio が正しくインストールおよび構成されていることを検証します。 - 証明書ファイルを
<istio-system>名前空間から<uipath>名前空間にコピーするには、get secrets権限が必要です。
次の例に、 istio-system-automationsuite-role の設定を示します。
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
ステップ 3: ロールをバインドする
次のコマンドを実行して、前の手順で作成したロールを uipathadmin サービス アカウントにバインドする必要があります。
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want the installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want the installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
手順 4: kubeconfig ファイルを生成する
すべての権限をサービス アカウントに割り当てたら、インストールのために uipathctl ツールに渡す kubeconfig ファイルを作成する必要があります。
Linux または Mac で kubeconfig ファイルを生成する
Linux または Mac で kubeconfig ファイルを生成するには、次のコマンドを実行します。
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
操作が成功すると、 という名前の kubeconfig ファイルが表示されます uipathadminkubeconfig。
Windows で kubeconfig ファイルを生成する
この手順は、Windows PowerShell を使用して実行する必要があります。
Windows で kubeconfig ファイルを生成するには、次のコマンドを実行します。
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
操作が成功すると、temp フォルダーに uipathadminkubeconfig という名前の kubeconfig ファイルが表示されます。
手順 5: 生成された kubeconfig ファイルを使用する
この uipathadminkubeconfig ファイルは、前提条件の確認、インストール、健全性の確認など、このワークフローで以降のすべての uipathctl コマンドに使用する必要があります。そうしない場合、 uipathctl はデフォルトの kubeconfig ファイルにフォールバックし、制限された uipathadmin サービス アカウントではなく cluster-admin 権限で認証する可能性があります。
For details on how to specify the kubeconfig file, refer to Specifying the kubeconfig file.
- 手順 1: サービス アカウントを作成する
- 手順 2: 必要なロールを作成する
- 名前空間にクエリを実行する [読み取り専用]
- ノードと CRD のリスト [読み取り専用]
uipathロール [書き込み]<istio-system>ロール [書き込み]<istio-system>roles [読み取り専用]- ステップ 3: ロールをバインドする
- 手順 4: kubeconfig ファイルを生成する
- Linux または Mac で kubeconfig ファイルを生成する
- Windows で kubeconfig ファイルを生成する
- 手順 5: 生成された kubeconfig ファイルを使用する