- Notes de publication
- Prérequis
- Installation
- À propos de l'installation
- Assistance
- Mettre à niveau AI Fabric
- Mise à jour du certificat AI Fabric
- Démarrage
- Projets
- Jeux de données
- Paquets ML
- Pipelines
- Compétences ML
- Journaux ML
- Document Understanding dans AI Fabric
- Guide de dépannage de base
Mise à jour du certificat AI Fabric
Lors de l'installation, vous avez le choix entre utiliser votre propre certificat ou simplement ignorer cette étape et utiliser un certificat auto-signé. Si vous devez changer de certificat par la suite, voici les étapes à suivre.
Tout d'abord, assurez-vous d'avoir un certificat avec vous - vous aurez besoin du fichier SSL et de la clé privée sous forme de deux fichiers séparés.
L'étape suivante consiste à se connecter à la machine AI Fabric Linux et à exécuter la commande suivante
kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
Ensuite, vous devez redémarrer le serveur proxy Kurl. Pour cela, récupérez d'abord le nom de ce serveur proxy à l'aide de cette commande :
kubectl get pods -A | grep kurl-proxy | awk '{print $2}'
kubectl get pods -A | grep kurl-proxy | awk '{print $2}'
Cela affichera le nom du serveur proxy kurl qui devrait ressembler à kurl-proxy-kotsadm-XXX. La prochaine étape consiste donc à supprimer ce pod (il sera automatiquement redémarré).
kubectl delete pods kurl-proxy-kotsadm-XXX
kubectl delete pods kurl-proxy-kotsadm-XXX
Vous pouvez vérifier si le pod est redémarré en exécutant la commande get pods :
kubectl get pods
kubectl get pods
À côté du pod, vous devriez voir 1/1 et En cours d'exécution (Running).
Une fois qu'il est prêt, vous pouvez supprimer configmap :
kubectl -n aifabric delete configmap is-client-config
kubectl -n aifabric delete configmap is-client-config
Connectez-vous ensuite à l'interface utilisateur de KotsAdmin. N'oubliez pas que l'URL doit ressembler à https://<aif-machine>:8800/tls. La page vous permettra de télécharger le nouveau certificat (et si nécessaire de modifier le nom de domaine associé) :
Cliquez sur le bouton Télécharger et continuer (Upload &continue), puis accédez à la page de configuration. Modifiez HostIP/FQDN si nécessaire, générez un nouveau jeton d'accès, puis cliquez sur Enregistrer (Save) et une fois la vérification en amont effectuée, cliquez sur Déployer (Deploy) pour redéployer l'application AI Fabric. Une fois installé, le nouveau certificat sera utilisé par AI Fabric.
Une fois AI Fabric redéployé, exécutez cette commande pour que la modification prenne effet :
kubectl -n istio-system rollout restart deployment istio-ingressgateway
kubectl -n istio-system rollout restart deployment istio-ingressgateway
Depuis la version 20.10.2, les certificats sont gérés automatiquement à l'aide du gestionnaire de certificats par notre programme d'installation, mais si vous avez d'abord installé la version 20.10.1, votre certificat peut expirer à un moment donné. Afin d'y remédier, vous devez suivre les étapes décrites ci-dessous ; commencez par télécharger et ouvrir un nouveau bundle d'installation (nous ne faisons pas d'installation de nouveau bundle) :
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
Ensuite, créez le fichier de script update_cert.sh comme ceci
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
puis exécutez simplement ce script :
./update_cert.sh
./update_cert.sh