ai-center
2020.10
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
UiPath logo, featuring letters U and I in white
AI Center
Automation CloudAutomation SuiteStandalone
Last updated 2024年6月6日

AI Fabric 証明書を更新する

シングルノード

インストール時には、自身の証明書を使用するか、手順をスキップして自己署名証明書を使用するかを選択できます。後から証明書を変更する必要がある場合は、以下の手順を実行します。

まず、証明書があることを確認します。SSL ファイルとプライベート キーを 2 つの別個のファイルとして持つ必要があります。

次に、AI Fabric の Linux マシンに接続して、以下のコマンドを実行します。

kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
重要: この注釈を追加すると、一時的に脆弱性が生まれ、悪意のある攻撃者が TLS 証明書をアップロードできてしまいます。TLS 証明書をアップロードすると、脆弱性は再びなくなります。

次に、kurl プロキシ サーバーを再起動します。そのためには、まず以下のコマンドを使用して、kurl プロキシ サーバーの名前を取得します。

kubectl get pods -A | grep kurl-proxy | awk '{print $2}'kubectl get pods -A | grep kurl-proxy | awk '{print $2}'

kurl-proxy-kotsadm-XXX のような、kurl プロキシ サーバーの名前が出力されます。次に、このポッドを削除します (自動的に再起動されます)。

kubectl delete pods kurl-proxy-kotsadm-XXXkubectl delete pods kurl-proxy-kotsadm-XXX

get pods コマンドを実行して、ポッドが再起動されたかどうかを確認できます。

kubectl get podskubectl get pods

ポッドの横に、1/1 および Running と表示されます。

準備が整ったら、構成マップを削除できます。

kubectl -n aifabric delete configmap is-client-configkubectl -n aifabric delete configmap is-client-config

次に、KotsAdmin UI に接続します。URL は https://<aif-machine>:8800/tls のようになります。このページで、新しい証明書をアップロードできます (また、必要に応じて関連するドメイン名を変更することもできます)。



[Upload & continue] ボタンをクリックして、構成ページに移動します。必要に応じて HostIP/FQDN を変更して、新しいアクセス トークンを生成します。次に、保存ボタンをクリックし、プレフライト チェックが完了したら、デプロイ ボタンをクリックして AI Fabric アプリケーションを再デプロイします。インストールすると、AI Fabric で新しい証明書が使用されます。

AI Fabric を再デプロイしたら、以下のコマンドを実行して変更を反映させます。

kubectl -n istio-system rollout restart deployment istio-ingressgatewaykubectl -n istio-system rollout restart deployment istio-ingressgateway
重要: AI Fabric の FQDN を変更する場合は、この新しい FQDN で Orchestrator の Web 構成を再度変更する必要があります。

マルチ ノードの AKS

20.10.2 以降、証明書は Cert Manager を使用してインストーラーで自動的に処理されます。ただし、最初に 20.10.1 をインストールした場合、証明書はいずれかの時点で期限が切れます。修正するには、以下の手順に従う必要があります。まず、新しいインストーラー バンドルをダウンロードして開きます (新しいバンドルのインストールは行いません)。

curl -O https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2/infra/azure/aks-armcurl -O https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2/infra/azure/aks-arm

次に、以下のようなスクリプト ファイル update_cert.sh を作成します。

USER_EMAIL=<enter certificate owner email here>
sed -i "s/email.address@org.com/$USER_EMAIL/g" cert-manager-crd/letsencrypt-clusterissuer.yaml
INGRESS_HOST=$(kubectl -n istio-system get svc istio-ingressgateway -o json | jq -r ".status.loadBalancer.ingress[0].ip")
IP_NAME="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].name" | sed 's/"//g')"
INGRESS_DOMAIN="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].dnsSettings.fqdn" | sed 's/"//g')"
sed "s/{{INGRESS_DOMAIN}}/${INGRESS_DOMAIN}/g" cert-manager-crd/letsencrypt-istiocert.yaml > cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl apply -f cert-manager-crd/letsencrypt-clusterissuer.yaml
kubectl apply -f cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl -n istio-system \)\)
  patch gateway istio-autogenerated-k8s-ingress --type=json \)\)
  -p='[{"op": "replace", "path": "/spec/servers/1/tls", "value": {"credentialName": "aifabric-ingressgateway-certs", "mode": "SIMPLE", "privateKey": "sds", "serverCertificate": "sds"}}]'
kubectl -n istio-system rollout restart deployment istio-ingressgatewayUSER_EMAIL=<enter certificate owner email here>
sed -i "s/email.address@org.com/$USER_EMAIL/g" cert-manager-crd/letsencrypt-clusterissuer.yaml
INGRESS_HOST=$(kubectl -n istio-system get svc istio-ingressgateway -o json | jq -r ".status.loadBalancer.ingress[0].ip")
IP_NAME="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].name" | sed 's/"//g')"
INGRESS_DOMAIN="$(az network public-ip list --query "[?ipAddress=='$INGRESS_HOST']|[0].dnsSettings.fqdn" | sed 's/"//g')"
sed "s/{{INGRESS_DOMAIN}}/${INGRESS_DOMAIN}/g" cert-manager-crd/letsencrypt-istiocert.yaml > cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl apply -f cert-manager-crd/letsencrypt-clusterissuer.yaml
kubectl apply -f cert-manager-crd/letsencrypt-istiocert-temp.yaml
kubectl -n istio-system \)\)
  patch gateway istio-autogenerated-k8s-ingress --type=json \)\)
  -p='[{"op": "replace", "path": "/spec/servers/1/tls", "value": {"credentialName": "aifabric-ingressgateway-certs", "mode": "SIMPLE", "privateKey": "sds", "serverCertificate": "sds"}}]'
kubectl -n istio-system rollout restart deployment istio-ingressgateway

次に、以下のようにこのスクリプトを実行します。

./update_cert.sh./update_cert.sh
  • シングルノード
  • マルチ ノードの AKS

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

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.