- 概要
- 要件
- インストール
- 前提条件の確認
- インストール パッケージをダウンロードする
- uipathctl cluster
- uipathctl cluster maintenance
- uipathctl cluster maintenance disable
- uipathctl cluster maintenance enable
- uipathctl cluster maintenance is-enabled
- uipathctl cluster upgrade
- uipathctl config
- uipathctl config alerts
- uipathctl config alerts add-email
- uipathctl config alerts remove-email
- uipathctl config alerts update-email
- uipathctl config additional-ca-certificates get
- uipathctl config tls-certificates get
- uipathctl config orchestrator
- uipathctl config orchestrator get-config
- uipathctl config orchestrator update-config
- uipathctl config additional-ca-certificates update
- uipathctl config tls-certificates update
- uipathctl health
- uipathctl health bundle
- uipathctl health check
- uipathctl health diagnose
- uipathctl health test
- uipathctl identity
- uipathctl identity add-host-admin
- uipathctl identity enable-basic-auth
- uipathctl identity get-saml-certificate
- uipathctl identity get-token-signing-certificate
- uipathctl identity rotate-saml-certificates
- uipathctl identity rotate-token-signing-certificates
- uipathctl identity update-saml-certificate
- uipathctl identity update-token-signing-certificate
- uipathctl manifest
- uipathctl manifest apply
- uipathctl manifest diff
- uipathctl manifest get
- uipathctl manifest list-applications
- uipathctl manifest render
- uipathctl prereq
- uipathctl prereq create
- uipathctl prereq run
- uipathctl resource
- uipathctl resource report
- uipathctl snapshot
- uipathctl snapshot backup
- uipathctl snapshot backup create
- uipathctl snapshot backup disable
- uipathctl snapshot backup enable
- uipathctl snapshot delete
- uipathctl snapshot list
- uipathctl snapshot restore
- uipathctl snapshot restore create
- uipathctl snapshot restore delete
- uipathctl snapshot restore history
- uipathctl snapshot restore logs
- uipathctl sso
- uipathctl sso generate-connector
- uipathctl sso generate-overlays
- uipathctl sso generate-rbac
- uipathctl version
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング
ネットワーク
Azure または AWS のネットワーク リソースをプロビジョニングして構成する必要があります。これは、クラスター上の Automation Suite がクラウド インフラストラクチャの前提条件 (ストレージ、データベース、キャッシュ、DNS など) に接続し、アクセスするために必要です。 ネットワーク アーキテクチャによっては、Vnet/VPC、DNS、サブネット、NSG/セキュリティ グループ、NAT ゲートウェイ、Elastic IP、インターネット ゲートウェイなどの構成が必要になる場合があります。 詳しくは、「 デプロイのシナリオ」をご覧ください。
ワークロードのスケーリングに基づいて、さらにレプリカが必要になる場合があります。 デフォルトでは、HA モードでは 2 つのレプリカが必要で、最大 10 個以上のレプリカを使用できます。 ネットワークがこのスケーリング レベルをサポートしていることを確認します。
ポッドが相互に通信できる限り、任意の CNI を使用できます。Azure CNI または Calico を推奨します。
Azure CNI や Amazon VPC CNI など、内部ポッドまたはプライベートポッドネットワーキングサブネットをサポートしていないクラウド CNI には特別な考慮事項があります。 Automation Suite に必要なポッドの数は、製品の選択とワークロードのスケーリングによって異なります。 たとえば、すべてのサービスが有効で使用率が高いデプロイの場合、スケーリング要件をサポートするために 400 を超える IP が必要になる場合があります。 このため、/23 以上の CIDR 範囲を割り当てることをお勧めします。
Automation Suite は IPv6 インターネット プロトコルをサポートしていません。
カスタムの Ingress コントローラー (NGINX) を使用する場合は、「NGINX Ingress コントローラーを構成する」を参照し、このページの残りの部分はスキップしてください。
Automation Suite は、インストール中にユーザーに代わってロード バランサーをプロビジョニングします。受信 FQDN 要求をルーティングするには、ロード バランサーにパブリックまたはプライベート IP アドレスを割り当てる必要があります。ロード バランサーを構成するには、次の 2 つのオプションがあります。
-
事前割り当て IP: ロード バランサーにパブリック IP またはプライベート IP を割り当て、DNS レコードを構成して FQDN をこれらの IP にマッピングし、その IP を
input.json
の ingress セクションの一部として指定します。 -
動的割り当て IP: IP アドレスを指定しない場合、IP は Automation Suite によってクラスター サブネットからロード バランサーに動的に割り当てられます。
ロード バランサーのネットワーク セキュリティ グループは、ポート 443 経由のエンド クライアントからの HTTPS トラフィックを許可する必要があります。 既定では、定期的な TCP 正常性チェックを実行するようにロード バランサーを構成します。
NGINX などの独自の Ingress を使用する場合は、「 NGINX Ingress Controlle r を構成する」に記載されているネットワーク要件を満たしていることを確認してください。 NLB をデプロイする Istio を使用する場合は、通常、ポート 80、443、および 15021 を含む 3 つのリスナーが作成されることに注意してください。 ただし、これは一般的な設定であり、実際の要件は実際の状況によって異なる場合があるため、必要に応じて調整します。
input.json
の ingress
セクションに指定する必要があります。
EKS のサービス注釈のリストについては、AWS ロード バランサーのドキュメントをご覧ください。
AKS のサービス注釈のリストについては、Azure Load Balancer のドキュメントをご覧ください。
input.json
に ingress.service_annotations
セクションを作成する方法を示しています。この例を正しく動作させるには、インストールの前に EKS クラスターに AWS ロード バランサー コントローラーをデプロイする必要があります。
次の例では、AWS から Elastic IP を割り当てて、パブリック ロード バランサーをプロビジョニングする方法を示します。この例を構成の開始点として使用する場合は、IP を実際の値に置き換えてください。
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
}
}
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
}
}
次の例では、EKS クラスター サブネットからプライベート IP を内部ロード バランサーに割り当てる方法を示します。この例を設定の開始点として使用する場合は、IP とサブネットを実際の値で更新してください。
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":"<IP_0>,<IP_1>",
"service.beta.kubernetes.io/aws-load-balancer-subnets": "<SUBNET_ID_0>,<SUBNET_ID_1>",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
}
}
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":"<IP_0>,<IP_1>",
"service.beta.kubernetes.io/aws-load-balancer-subnets": "<SUBNET_ID_0>,<SUBNET_ID_1>",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
}
}
IP とサブネットは一致している必要があります。
<IP_0>
は <SUBNET_0>
で、<SUBNET_1>
は <IP_1>
です。
次の例では、Azure からパブリック IP を割り当てて、パブリック ロード バランサーをプロビジョニングする方法を示します。この例を構成の開始点として使用する場合は、IP を実際の値で更新してください。
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "false",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "false",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
}
}
...
次の例では、AKS クラスター サブネットからプライベート IP を内部ロード バランサーに割り当てる方法を示します。この例を構成の開始点として使用する場合は、IP とサブネットを実際の値で更新してください。
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
"service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET_0>", "<SUBNET_1>"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
"service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET_0>", "<SUBNET_1>"
}
}
...
IP とサブネットは一致している必要があります。
<IP_0>
は <SUBNET_0>
で、<SUBNET_1>
は <IP_1>
です。
input.json
で IP を指定しない場合、Automation Suite はワーカー ノード サブネットからプライベート IP を動的に割り当てます。このシナリオでは、次の方法で Automation Suite のインストールを実行します。
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
"service.beta.kubernetes.io/aws-load-balancer-internal": true
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
"service.beta.kubernetes.io/aws-load-balancer-internal": true
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true"
}
}
...
このシナリオでは、インストーラーを以下のように実行します。
-
インストーラーを実行します。ただし、ロード バランサーをプロビジョニングするまでの間だけにしてください。
uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway -
ロード バランサーのホスト名を取得します。
kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}' -
ロード バランサーのエンドポイントまたは IP にマッピングされた FQDN で DNS を構成します。
-
インストーラーを再実行してインストールを完了します。
uipathctl manifest apply input.json --versions versions.json
uipathctl manifest apply input.json --versions versions.json
DNS マッピングがない場合、FQDN の前提条件の確認は失敗します。前提条件の確認の目的は、Automation Suite をインストールする前に前提条件がすべて正しくプロビジョニング済みであることを確認することです。FQDN の確認によって Automation Suite をインストールできなくなることはありません。