- Versionshinweise
- Anforderungen
- Installation
- Über die Installation
- Support
- Aktualisieren von AI Fabric
- Aktualisieren des AI Fabric-Zertifikats
- Erste Schritte
- Projekte
- Datasets
- ML-Pakete
- Pipelines
- ML-Skills
- ML-Protokolle
- Document Understanding in AI Fabric
- Grundlegende Anleitung zur Fehlerbehebung
AI Center
Aktualisieren des AI Fabric-Zertifikats
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=1
kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
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-XXX
kubectl 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 pods
kubectl 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-config
kubectl -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-ingressgateway
kubectl -n istio-system rollout restart deployment istio-ingressgateway
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-arm
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-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-ingressgateway
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-ingressgateway
Führen Sie dann einfach dieses Skript aus:
./update_cert.sh
./update_cert.sh