AI Center
2020.10
False
Imagen de fondo del banner
AI Center
Última actualización 11 de mar. de 2024

Actualizar el certificado de AI Fabric

Nodo único

Durante la instalación, tienes la posibilidad de utilizar tu propio certificado o de omitir ese paso y utilizar un certificado autofirmado. Si necesitas cambiar el certificado después, aquí se muestran los pasos que debes seguir.

En primer lugar, asegúrate de que tienes un certificado; necesitarás el archivo SSL y la clave privada en dos archivos separados.

El siguiente paso es conectarse a la máquina Linux de AI Fabric y ejecutar el siguiente comando

kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1kubectl -n default annotate secret kotsadm-tls acceptAnonymousUploads=1
Importante: Al añadir esta anotación, se creará temporalmente una vulnerabilidad para que un atacante cargue certificados TLS de forma maliciosa. Una vez que se carguen los certificados TLS, desaparecerá la vulnerabilidad.

A continuación, debes reiniciar el servidor proxy de kurl. Para ello, primero recupera el nombre de este servidor proxy utilizando este comando:

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

Esto generará como output el nombre del servidor proxy de kurl que debería ser similar a kurl-proxy-kotsadm-XXX. El siguiente paso es eliminar este pod (se reiniciará automáticamente).

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

Puedes comprobar si el pod se reinicia ejecutando el comando get pods:

kubectl get podskubectl get pods

Junto al pod, deberías ver 1/1 y Ejecutando.

Cuando esté listo, puedes eliminar configmap:

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

A continuación, conéctate a la IU de KotsAdmin; recuerda que la URL debería ser algo como https://<aif-machine>:8800/tls. La página te permitirá cargar el nuevo certificado (y, si es necesario, cambiar el nombre de dominio asociado):.



Haz clic en el botón Cargar y continuar y luego ve a la página de configuración. Cambia HostIP/FQDN si es necesario, genera un nuevo token de acceso y luego haz clic en Guardar. Cuando finalice la comprobación previa, haz clic en Implementar para volver a implementar la aplicación de AI Fabric. Una vez instalada, AI Fabric utilizará un nuevo certificado.

Cuando AI Fabric se vuelva a implementar, ejecuta este comando para que los cambios surtan efecto:

kubectl -n istio-system rollout restart deployment istio-ingressgatewaykubectl -n istio-system rollout restart deployment istio-ingressgateway
Importante: Recuerda que, si cambias el FQDN de AI Fabric, tendrás que modificar web config de Orchestrator de nuevo con este nuevo FQDN.

AKS multinodo

A partir de la versión 20.10.2, nuestro instalador gestiona automáticamente los certificados utilizando el gestor de certificados, pero si instalaste la versión 20.10.1 primero, tu certificado podría caducar en cualquier momento para solucionar que debes seguir los pasos descritos a continuación. Empieza por descargar y abrir un nuevo paquete de instalación (no estamos realizando una nueva instalación del paquete):

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

A continuación, crea el archivo de script update_cert.sh de esta forma:

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

Y luego simplemente ejecuta este script:

./update_cert.sh./update_cert.sh
  • Nodo único
  • AKS multinodo

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.