UiPath Documentation
automation-suite
2.2510
true
EKS/AKS の Automation Suite のインストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

インストール権限の付与

EKS/AKS に Automation Suite をインストールするために必要な権限を付与します。

重要:

インストールの権限は、Automation Suite インストーラーに管理者権限を付与できない場合にのみ関係します。 必要な管理者権限をインストーラーに付与できる場合は、このセクションの指示に従う必要はありません。

Automation Suite は、インストール時に特定の権限に依存します。 これらの権限はサービス アカウントに割り当てられ、このアカウントはさまざまな Automation Suite コンポーネントをインストールする際に極めて重要な役割を果たします。

インストールに必要なすべての権限を設定するには、このセクションの手順を実行します。

手順 1: サービス アカウントを作成する​

サービス アカウントを作成するには、以下の手順に従います。

  1. 名前空間 <uipath> を作成します。
    kubectl create namespace <uipath>
    kubectl create namespace <uipath>
    
  2. という名前のサービス アカウントを作成しますuipathadmin
     kubectl create serviceaccount uipathadmin -n <uipath>
     kubectl create serviceaccount uipathadmin -n <uipath>
    
  3. 既存の admin クラスター ロールを使用して、<uipath> 名前空間の uipathadmin サービス アカウントに管理者権限を付与します。
    kubectl create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin -n <uipath>
    kubectl create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin -n <uipath>
    

手順 2: 必要なロールを作成する​

uipathadmin サービス アカウントには、Automation Suite のインストール時に特定の権限が必要です。ロールを作成することで、必要な権限を付与します。各ロールを作成するには、その構成を YAML ファイルとして保存し、次のコマンドを実行して、 <file_name.yaml> プレースホルダーを YAML ファイルの実際の名前に置き換えます。

kubectl apply -f <file_name.yaml>
kubectl apply -f <file_name.yaml>

ロールごとに YAML ファイルを作成するには、以下のセクションの構成をコピーします。

名前空間にクエリを実行する [読み取り専用]​

<istio-system> 名前空間などの名前空間が使用可能かどうかを確認するために必要です。

次の例は、 namespace-reader-clusterrole 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 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 ロボット固有の設定」をご覧ください。

ストレージ クラスを取得する [読み取り専用]​

前提条件の確認および診断の健全性チェック ツールで検証を実行するには、この権限が必要です。

次の例は、 storage-class-reader ClusterRole の構成を示しています。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: storage-class-reader
rules:
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: storage-class-reader
rules:
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get"]

uipath ロール [書き込み]​

Automation Suite のインストールの大部分は ArgoCD を介して行われます。ただし、一部のコンポーネントは Helm チャートを使用してインストールされます。

uipathctlツールは、Helm チャートのインストールを実行するインストール ジョブを実行します。kube-api-server に接続して <uipath> 名前空間に Helm チャートをインストールするには、名前空間レベルの 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: ["*"]
  - apiGroups: ["*"]
    resources: ["secrets", "configmaps"]
    verbs: ["get", "watch", "list", "patch", "update", "create"]
  - apiGroups: ["security.istio.io", "networking.istio.io"]
    resources: ["*"]
    verbs: ["*"]
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: ["*"]
  - apiGroups: ["*"]
    resources: ["secrets", "configmaps"]
    verbs: ["get", "watch", "list", "patch", "update", "create"]
  - apiGroups: ["security.istio.io", "networking.istio.io"]
    resources: ["*"]
    verbs: ["*"]

<istio-system> ロール [書き込み]​

注:

これらのアクセス許可は、インストーラーで WASM プラグインを構成する場合にのみ付与します。 それ以外の場合は、アクセス許可を付与しないでください。

<istio-system> 名前空間では次の操作が実行されます。

  1. Automation Suite の前提条件チェック ツールは、ポッドとサービスを読み取り、Istio が正しくインストールおよび設定されていることを検証します。
  2. パスベースのルーティング ルールを構成するために、WASM プラグインが Automation Suite によってインストールされます。これには、イメージのプル シークレットの作成と、名前空間レベルのロール作成者の権限が必要です。

次の例は、 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> 名前空間では次の操作が実行されます。

  1. ポッドとサービスを読み取って、Istio のインストールを検証します。
  2. 証明書ファイルを <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 サービス アカウントにバインドする必要があります。

kubectl -n <istio-system> create rolebinding istio-system-automationsuite-rolebinding \
  --role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <istio-system> create rolebinding namespace-reader-rolebinding \
  --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <uipath> create clusterrolebinding list-nodes-and-crd-rolebinding \
  --clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <uipath> create rolebinding uipath-automationsuite-rolebinding \
  --role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <uipath> create clusterrolebinding storage-class-reader-binding \
  --clusterrole=storage-class-reader --serviceaccount=<uipath>:uipathadmin

# This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
kubectl -n <istio-system> create rolebinding uipadmin-istio-system \
  --clusterrole=admin --serviceaccount=<uipath>:uipathadmin
kubectl -n <istio-system> create rolebinding istio-system-automationsuite-rolebinding \
  --role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <istio-system> create rolebinding namespace-reader-rolebinding \
  --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <uipath> create clusterrolebinding list-nodes-and-crd-rolebinding \
  --clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <uipath> create rolebinding uipath-automationsuite-rolebinding \
  --role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
  
kubectl -n <uipath> create clusterrolebinding storage-class-reader-binding \
  --clusterrole=storage-class-reader --serviceaccount=<uipath>:uipathadmin

# This step is needed only if you want installer to configure the WASM Plugin. Otherwise skip it.
kubectl -n <istio-system> create rolebinding uipadmin-istio-system \
  --clusterrole=admin --serviceaccount=<uipath>:uipathadmin

手順 4: kubeconfig ファイルを生成する​

すべての権限をサービス アカウントに割り当てたら、インストールのために uipathctl ツールに渡す kubeconfig ファイルを作成する必要があります。

Linux または Mac で kubeconfig ファイルを生成する​

Linux または Mac で kubeconfig ファイルを生成するには、次のコマンドを実行します。

# Create a token
token="$(kubectl -n <uipath> create token uipathadmin --duration=8760h)"
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
kube_user_name="$(kubectl config view -o jsonpath="{.users[0].name}")"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
# Create a token
token="$(kubectl -n <uipath> create token uipathadmin --duration=8760h)"
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
kube_user_name="$(kubectl config view -o jsonpath="{.users[0].name}")"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig

操作が成功すると、 という名前の kubeconfig ファイルが表示されます uipathadminkubeconfig。

Windows で kubeconfig ファイルを生成する​

注:

この手順は、Windows PowerShell を使用して実行する必要があります。

Windows で kubeconfig ファイルを生成するには、次のコマンドを実行します。

# Create a token
$token = kubectl -n <uipath> create token uipathadmin --duration=8760h
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
$kube_user_name = kubectl config view -o jsonpath="{.users[0].name}"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig
# Create a token
$token = kubectl -n <uipath> create token uipathadmin --duration=8760h
# copy current kubeconfig to a temp file
mkdir temp
cp ~/.kube/config temp/kubeconfig.tmp
# Find the user name and unset it in the temp file
$kube_user_name = kubectl config view -o jsonpath="{.users[0].name}"
kubectl -n <uipath> config unset users."${kube_user_name}" --kubeconfig="temp/kubeconfig.tmp"
# Update the credentials in the temp file
kubectl -n <uipath> --kubeconfig="temp/kubeconfig.tmp" config set-credentials uipathadmin --token="$token"
# Set the context and the namespace
kubectl --kubeconfig="temp/kubeconfig.tmp" config set-context --current --namespace=<uipath> --user=uipathadmin
mv temp/kubeconfig.tmp temp/uipathadminkubeconfig

操作が成功すると、temp フォルダーに uipathadminkubeconfig という名前の kubeconfig ファイルが表示されます。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得