- Información general
- Requisitos
- Instalación
- Preguntas y respuestas: plantillas de implementación
- Descargar los paquetes de instalación
- parámetros de install-uipath.sh
- Habilitar el complemento de alta disponibilidad (HAA) de Redis para el clúster
- Archivo de configuración de Document Understanding
- Inclusión de un nodo agente dedicado compatible con GPU
- Conexión de la aplicación Task Mining
- Añadir un nodo agente dedicado a Task Mining
- Después de la instalación
- Administración de clústeres
- Supervisión y alertas
- Migración y actualización
- Configuración específica del producto
- Consultas de registros de auditoría
- Panel de supervisión de MongoDB
- Renovación de certificado de MongoDB para usuarios de Apps
- Buenas prácticas y mantenimiento
- Solución de problemas
- Cómo solucionar los problemas de los servicios durante la instalación
- Cómo desinstalar el clúster
- Cómo limpiar los artefactos sin conexión para mejorar el espacio en disco
- How to disable TLS 1.0 and 1.1
- Cómo habilitar el registro de Istio
- Cómo limpiar manualmente los registros
- Cómo limpiar los registros antiguos almacenados en el depósito sf-logs
- Cómo depurar instalaciones de Automation Suite fallidas
- Cómo deshabilitar la descarga de la suma de comprobación TX
- No se puede ejecutar una instalación sin conexión en el sistema operativo RHEL 8.4
- Error al descargar el paquete
- La instalación sin conexión falla porque falta un binario
- Problema de certificado en la instalación sin conexión
- Error de validación de la cadena de conexión SQL
- Fallo tras la actualización del certificado
- Automation Suite requiere que Backlog_wait_time se establezca 1
- No se puede iniciar la sesión después de la migración
- Establecer un intervalo de tiempo de espera para los portales de gestión
- Actualizar las conexiones del directorio subyacente
- kinit: no se puede encontrar la KDC para el territorio <AD Domain> mientras se obtienen las credenciales iniciales
- kinit: keytab no contiene claves adecuadas para *** mientras se obtienen las credenciales iniciales
- La operación GSSAPI ha fallado con un error: se ha suministrado un código de estado no válido (las credenciales del cliente han sido revocadas).
- Inicio de sesión fallido para el usuario <ADDOMAIN><aduser>. Razón: cuenta deshabilitada.
- Alarma recibida por trabajo de actualización Kerberos-tgt fallido
- Proveedor SSPI: servidor no encontrado en la base de datos de Kerberos
- Fallo en la obtención de la imagen de Sandbox
- Los pods no se muestran en la interfaz de usuario de ArgoCD
- Fallo de la sonda Redis
- El servidor RKE2 no se inicia
- Secreto no encontrado en el espacio de nombres UiPath
- ArgoCD entra en estado de progreso tras la primera instalación
- Inconsistencia inesperada, ejecuta fsck manualmente
- Falta el operador de Self-heal y el repositorio de Sf-k8-utils
- MongoDB o aplicaciones empresariales degradadas después de la restauración del clúster
- Servicios en mal estado después de la restauración o reversión del clúster
- Document Understanding no se encuentra en la barra izquierda de Automation Suite
- Estado fallido al crear una sesión de etiquetado de datos
- Estado fallido al intentar implementar una habilidad ML
- El trabajo de migración falla en ArgoCD
- El reconocimiento de la escritura manual con el extractor de formularios inteligente no funciona
- Uso de la herramienta de diagnóstico de Automation Suite
- Uso del paquete de soporte de Automation Suite
- Explorar registros
Renovación de certificado de MongoDB para usuarios de Apps
Información general
MongoDB uses two types of certificates for a secure connection within the Automation Suite cluster:
- Certificado raíz de CA
- Certificado TLS
The MongoDB CA certificate for Automation Suite versions prior to 2021.10.3 is only valid for 60 days. Since there is no auto-renewal process in place, a manual procedure is needed to update the certificate. Follow the steps from the Manual certificate update section to renew the certificates.
Los certificados actualizados manualmente solo son válidos durante otros 90 días. Una vez transcurridos, los certificados deberán volver a actualizarse manualmente.
Para las versiones de Automation Suite 2021.10.4 y posteriores, la caducidad se actualiza a tres años. Para las instalaciones nuevas de 2021.10.4 y posteriores, la renovación del certificado es automática.
For environments upgraded from version 2021.10.3 and earlier, some manual steps are needed. Follow the steps from the Certificate rotation section to update the certificates.
Actualización manual de certificado
Follow this procedure to update MongoDB certificates manually only if you are using Automation Suite up to and including 2021.10.3.
Entorno en línea
Este procedimiento es aplicable a los entornos en línea.
Requisitos previos
Antes de iniciar el procedimiento, crea un archivo de secuencia de comandos que mongo-cert-rotation-script.shcontenga la siguiente información.
mongo-cert-rotation-script.sh
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
curl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gz
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
#extract updated pem file name
newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
echo "New pem file name ${newPemFileName}"
#extract stale pem file name
oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
oldPemFileName=$(basename "$oldPemFile")
echo "Stale pem file name ${oldPemFileName}"
if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
echo "Pem file entries do not match. replacing"
#extract replica set secret cluser config json to file
kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
#replace old pem file name with new in the json file
sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
#encode the json
encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
#patch replica set secret with updated cluster config
kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
else
echo "Pem file entries match; not updating"
fi
}
function rotate_secrets(){
NAMESPACE="mongodb"
#shellcheck disable=SC2154
HOME_DIR=$(eval echo "~$whoami")
echo "extracting certs and secrets from relevant files"
#cleanup if the dir already exists
rm -rf "$HOME_DIR"/tmp/.certs || true
mkdir -p "$HOME_DIR"/tmp/.certs/
kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
kubectl -n mongodb label configmap mongo-ca config-discovery=yes 2>/dev/null || true
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
echo "Rotating secrets"
rotate_secrets
echo "Secrets rotated"
echo "Updating additional secrets"
update_additional_secrets
echo "Additional secrets updated"
echo "Rolling restart mongodb replica set"
kubectl rollout restart sts mongodb-replica-set -n mongodb
echo "Mongodb replica successfully Restarted"
echo "Rolling restart apps server"
kubectl rollout restart -n uipath deployment apps-server
echo "Apps server successfully restarted"
echo "Rolling restart apps-wsserver"
kubectl rollout restart -n uipath deployment apps-wsserver
echo "Apps wsserver successfully restarted"
else
echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_manager
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
curl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gz
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
#extract updated pem file name
newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
echo "New pem file name ${newPemFileName}"
#extract stale pem file name
oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
oldPemFileName=$(basename "$oldPemFile")
echo "Stale pem file name ${oldPemFileName}"
if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
echo "Pem file entries do not match. replacing"
#extract replica set secret cluser config json to file
kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
#replace old pem file name with new in the json file
sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
#encode the json
encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
#patch replica set secret with updated cluster config
kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
else
echo "Pem file entries match; not updating"
fi
}
function rotate_secrets(){
NAMESPACE="mongodb"
#shellcheck disable=SC2154
HOME_DIR=$(eval echo "~$whoami")
echo "extracting certs and secrets from relevant files"
#cleanup if the dir already exists
rm -rf "$HOME_DIR"/tmp/.certs || true
mkdir -p "$HOME_DIR"/tmp/.certs/
kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
kubectl -n mongodb label configmap mongo-ca config-discovery=yes 2>/dev/null || true
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
echo "Rotating secrets"
rotate_secrets
echo "Secrets rotated"
echo "Updating additional secrets"
update_additional_secrets
echo "Additional secrets updated"
echo "Rolling restart mongodb replica set"
kubectl rollout restart sts mongodb-replica-set -n mongodb
echo "Mongodb replica successfully Restarted"
echo "Rolling restart apps server"
kubectl rollout restart -n uipath deployment apps-server
echo "Apps server successfully restarted"
echo "Rolling restart apps-wsserver"
kubectl rollout restart -n uipath deployment apps-wsserver
echo "Apps wsserver successfully restarted"
else
echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_manager
Procedimiento
-
Copia el script de Requisitos previos (
mongo-cert-rotation-script.sh) al nodo de la máquina virtual (VM) ejecutando los siguientes comandos:scp <path-to-cert-script> <username>@<node-fqdn>:~scp <path-to-cert-script> <username>@<node-fqdn>:~ -
Conéctese a la máquina mediante SSH.
ssh <username>@<node-fqdn>ssh <username>@<node-fqdn> -
Comprueba las fechas actuales de caducidad y renovación ejecutando el siguiente comando. Busca los campos
notBeforeynotAfter.export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin kubectl -n mongodb describe certsexport KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin kubectl -n mongodb describe certs -
Copia el script del directorio principal al directorio del instalador ejecutando los siguientes comandos:
mv /home/<username>/mongo-cert-rotation-script.sh <installer-dir> cd <installer-dir>mv /home/<username>/mongo-cert-rotation-script.sh <installer-dir> cd <installer-dir> -
Ejecuta el script utilizando los siguientes comandos:
chmod u+x mongo-cert-rotation-script.sh ./mongo-cert-rotation-script.shchmod u+x mongo-cert-rotation-script.sh ./mongo-cert-rotation-script.sh -
Comprueba las nuevas fechas actuales de caducidad y renovación ejecutando el siguiente comando. Busca los campos
notBeforeynotAfter.kubectl -n mongodb describe certskubectl -n mongodb describe certs
Offline Environment
Este procedimiento es aplicable para entornos fuera de línea (airpgapped).
Requisitos previos
Antes de iniciar el procedimiento, crea un archivo de secuencia de comandos que mongo-cert-rotation-script.shcontenga la siguiente información.
mongo-airgap-cert-rotation-script.sh
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
#extract updated pem file name
newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
echo "New pem file name ${newPemFileName}"
#extract stale pem file name
oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
oldPemFileName=$(basename "$oldPemFile")
echo "Stale pem file name ${oldPemFileName}"
if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
echo "Pem file entries do not match. replacing"
#extract replica set secret cluser config json to file
kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
#replace old pem file name with new in the json file
sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
#encode the json
encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
#patch replica set secret with updated cluster config
kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
else
echo "Pem file entries match; not updating"
fi
}
function rotate_secrets(){
NAMESPACE="mongodb"
#shellcheck disable=SC2154
HOME_DIR=$(eval echo "~$whoami")
echo "extracting certs and secrets from relevant files"
#cleanup if the dir already exists
rm -rf "$HOME_DIR"/tmp/.certs || true
mkdir -p "$HOME_DIR"/tmp/.certs/
kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
kubectl -n mongodb label configmap mongo-ca config-discovery=yes 2>/dev/null || true
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
echo "Rotating secrets"
rotate_secrets
echo "Secrets rotated"
echo "Updating additional secrets"
update_additional_secrets
echo "Additional secrets updated"
echo "Rolling restart mongodb replica set"
kubectl rollout restart sts mongodb-replica-set -n mongodb
echo "Mongodb replica successfully Restarted"
echo "Rolling restart apps server"
kubectl rollout restart -n uipath deployment apps-server
echo "Apps server successfully restarted"
echo "Rolling restart apps-wsserver"
kubectl rollout restart -n uipath deployment apps-wsserver
echo "Apps wsserver successfully restarted"
else
echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_manager
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
#extract updated pem file name
newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
echo "New pem file name ${newPemFileName}"
#extract stale pem file name
oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
oldPemFileName=$(basename "$oldPemFile")
echo "Stale pem file name ${oldPemFileName}"
if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
echo "Pem file entries do not match. replacing"
#extract replica set secret cluser config json to file
kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
#replace old pem file name with new in the json file
sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
#encode the json
encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
#patch replica set secret with updated cluster config
kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
else
echo "Pem file entries match; not updating"
fi
}
function rotate_secrets(){
NAMESPACE="mongodb"
#shellcheck disable=SC2154
HOME_DIR=$(eval echo "~$whoami")
echo "extracting certs and secrets from relevant files"
#cleanup if the dir already exists
rm -rf "$HOME_DIR"/tmp/.certs || true
mkdir -p "$HOME_DIR"/tmp/.certs/
kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
kubectl -n mongodb label configmap mongo-ca config-discovery=yes 2>/dev/null || true
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
echo "Rotating secrets"
rotate_secrets
echo "Secrets rotated"
echo "Updating additional secrets"
update_additional_secrets
echo "Additional secrets updated"
echo "Rolling restart mongodb replica set"
kubectl rollout restart sts mongodb-replica-set -n mongodb
echo "Mongodb replica successfully Restarted"
echo "Rolling restart apps server"
kubectl rollout restart -n uipath deployment apps-server
echo "Apps server successfully restarted"
echo "Rolling restart apps-wsserver"
kubectl rollout restart -n uipath deployment apps-wsserver
echo "Apps wsserver successfully restarted"
else
echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_manager
Procedimiento
-
Descarga el archivo
kubectl-cert-manager.taren tu sistema ejecutando el siguiente comando:curl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gzcurl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gz -
Copia el binario de administrador de certificados al nodo de la máquina VM ejecutando el siguiente comando:
scp <path-to-kubectl-cert-manager> <username>@<node-fqdn>:~scp <path-to-kubectl-cert-manager> <username>@<node-fqdn>:~ -
Copia el script de Requisitos previos (
mongo-airgap-cert-rotation-script.sh) al nodo de la máquina virtual (VM) ejecutando los siguientes comandos:scp <path-to-mongo-airgap-cert-rotation> <username>@<node-fqdn>:~scp <path-to-mongo-airgap-cert-rotation> <username>@<node-fqdn>:~ -
Conéctese a la máquina mediante SSH.
ssh <username>@<node-fqdn>ssh <username>@<node-fqdn> -
Copia el archivo
kubectl-cert-manager.taral directorio del instalador ejecutando el siguiente comando:mv /home/<username>/kubectl-cert_manager.tar.gz <installer-dir>mv /home/<username>/kubectl-cert_manager.tar.gz <installer-dir> -
Copia el script
mongo-airgap-cert-rotation-script.shal directorio del instalador ejecutando el siguiente comando:
Make sure that both mongo-airgap-cert-rotation-script.sh and kubectl-cert-manager.tar files are at the same path.
mv /home/<username>/mongo-airgap-cert-rotation-script.sh <installer-dir>
cd <installer-dir>
mv /home/<username>/mongo-airgap-cert-rotation-script.sh <installer-dir>
cd <installer-dir>
- Comprueba las fechas actuales de caducidad y renovación ejecutando el siguiente comando. Busca los campos
notBeforeynotAfter.
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
kubectl -n mongodb describe certs
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
kubectl -n mongodb describe certs
- Ejecuta el script utilizando los siguientes comandos:
chmod u+x mongo-airgap-cert-rotation-script.sh
./mongo-airgap-cert-rotation-script.sh
chmod u+x mongo-airgap-cert-rotation-script.sh
./mongo-airgap-cert-rotation-script.sh
- Comprueba las nuevas fechas actuales de caducidad y renovación ejecutando el siguiente comando. Busca los campos
notBeforeynotAfter.
kubectl -n mongodb describe certs
kubectl -n mongodb describe certs
Fechas de validez del certificado
Al comprobar la validez del certificado, se muestran las siguientes fechas:
Not After : esta es la fecha y hora del período de validez de tu certificado.
Not Before : esta es la fecha y hora de inicio del período de validez de tu certificado.
Renewal Time : esta es la fecha y hora recomendadas para renovar manualmente tu certificado.
Por ejemplo:
Certificate 1 in the file
Name: cert-manager-tls-certificate
Namespace: mongodb
Not After: 2023-03-08T23:19:49Z
Not Before: 2022-03-08T23:19:49Z
Renewal Time: 2023-02-06T23:19:49Z
Certificate 1 in the file
Name: cert-manager-tls-certificate
Namespace: mongodb
Not After: 2023-03-08T23:19:49Z
Not Before: 2022-03-08T23:19:49Z
Renewal Time: 2023-02-06T23:19:49Z
Rotación de certificados
Follow this procedure to update MongoDB certificates manually only if you upgraded from Automation Suite up to and including 2021.10.3 to a later version (2021.10.4 at least).
-
SSH al nodo VM.
ssh <username>@<node-fqdn>ssh <username>@<node-fqdn> -
Asume el rol de superusuario ejecutando el siguiente comando.
sudo susudo su -
Vaya al directorio de instalación (para instalaciones nuevas) o actualice (para entornos actualizados) ejecutando el siguiente comando.
cd <Installation/Upgrade Directory>cd <Installation/Upgrade Directory> -
Copie el siguiente script
rotate-cert.shen el directorio de instalación../configureUiPathAS.sh mongodb rotate-certificate kubectl -n mongodb get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > /tmp/.certs/ca.crt kubectl -n mongodb create configmap mongo-ca --from-file="/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl replace -f - kubectl rollout restart sts mongodb-replica-set -n mongodb./configureUiPathAS.sh mongodb rotate-certificate kubectl -n mongodb get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > /tmp/.certs/ca.crt kubectl -n mongodb create configmap mongo-ca --from-file="/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl replace -f - kubectl rollout restart sts mongodb-replica-set -n mongodb -
Ejecuta el script de rotación de certificados usando el siguiente comando.
chmod u+x rotate-cert.sh ./rotate-cert.shchmod u+x rotate-cert.sh ./rotate-cert.sh
El script de rotación de certificados tarda entre 5 y 10 minutos en completarse. Los nuevos certificados generados por el script son válidos durante tres años desde el momento de su creación y se renuevan automáticamente según la línea de tiempo mencionada anteriormente.