AI Center
2020.10
False
Bannerhintergrundbild
AI Center
Letzte Aktualisierung 28. Juni 2023

Aktualisieren des AI Fabric-Zertifikats

Einzelner Knoten

Bei der Installation haben Sie die Wahl, ob Sie Ihr eigenes Zertifikat verwenden oder diesen Schritt einfach überspringen und ein selbstsigniertes Zertifikat verwenden. Wenn Sie das Zertifikat danach ändern müssen, finden Sie hier die nötigen Schritte.

Stellen Sie zunächst sicher, dass Sie ein Zertifikat zur Verfügung haben. Sie benötigen die SSL-Datei und den privaten Schlüssel als zwei separate Dateien.

Der nächste Schritt besteht darin, eine Verbindung mit der AI Fabric-Linux-Maschine herzustellen und den folgenden Befehl auszuführen

kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
Wichtig: Durch das Hinzufügen dieser Anmerkung wird vorübergehend eine Sicherheitslücke für einen Angreifer geschaffen, der TLS-Zertifikate böswillig hochladen kann. Sobald TLS-Zertifikate hochgeladen wurden, wird die Sicherheitslücke wieder geschlossen.

Dann müssen Sie den kurl-Proxyserver neu starten. Rufen Sie dazu zuerst den Namen dieses Proxyservers mit diesem Befehl ab:

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

Dadurch wird der Name des kurl-Proxyservers ausgegeben, der so aussehen sollte: kurl-proxy-kotsadm-XXX. Der nächste Schritt besteht dann darin, diesen Pod zu löschen (er wird automatisch neu gestartet).

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

Sie können überprüfen, ob der Pod neu gestartet wird, indem Sie den Befehl „get pods“ ausführen:

kubectl get podskubectl get pods

Sie sollten neben dem Pod 1/1 und Wird ausgeführt sehen.

Sobald es fertig ist, können Sie configmap entfernen:

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

Stellen Sie dann eine Verbindung mit der KotsAdmin UI her. Denken Sie daran, dass die URL https://<aif-machine>:8800/tls oder ähnlich lauten sollte. Auf der Seite können Sie das neue Zertifikat hochladen (und bei Bedarf den zugehörigen Domänennamen ändern):



Klicken Sie auf die Schaltfläche Hochladen und Fortfahren und wechseln Sie dann zur Konfigurationsseite. Ändern Sie bei Bedarf HostIP/FQDN, generieren Sie ein neues Zugriffstoken und klicken Sie dann auf Speichern. Sobald die Preflight-Prüfung durchgeführt wurde, klicken Sie auf Bereitstellen, um die AI Fabric-Anwendung erneut bereitzustellen. Nach der Installation wird das neue Zertifikat von AI Fabric verwendet.

Sobald AI Fabric erneut bereitgestellt wurde, führen Sie diesen Befehl aus, damit die Änderung wirksam wird:

kubectl -n istio-system rollout restart deployment istio-ingressgatewaykubectl -n istio-system rollout restart deployment istio-ingressgateway
Wichtig: Denken Sie daran, dass Sie, wenn Sie den FQDN von AI Fabric ändern, die Orchestrator-Webkonfiguration entsprechend diesem neuen FQDN ändern müssen.

AKS mit mehreren Knoten

Ab 20.10.2 werden Zertifikate automatisch mit dem Zertifikatsmanager von unserem Installationsprogramm verarbeitet, aber wenn Sie zuerst 20.10.1 installiert haben, läuft Ihr Zertifikat irgendwann ab. Um dies zu beheben, müssen Sie die folgenden Schritte ausführen. Beginnen Sie, indem Sie das neue Installationspaket herunterladen und öffnen (wir führen keine neue Installation des Pakets durch):

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

Erstellen Sie dann die Skriptdatei update_cert.sh wie folgt

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

Führen Sie dann einfach dieses Skript aus:

./update_cert.sh./update_cert.sh
  • Einzelner Knoten
  • AKS mit mehreren Knoten

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.