automation-suite
2023.4
false
- Información general
- Requisitos
- Instalación
- Q&A: Deployment templates
- Configurar las máquinas
- Configurar el almacén de objetos externo
- Configurar un registro de Docker externo
- Configurar el equilibrador de carga
- Configurar el DNS
- Configurar Microsoft SQL Server
- Configurar los certificados
- Instalación de producción multinodo preparada para alta disponibilidad en línea
- Instalación de producción multinodo preparada para alta disponibilidad sin conexión
- Disaster Recovery: instalar el clúster secundario
- Descarga de 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
- Añadir un nodo agente dedicado a Task Mining
- Conexión de la aplicación Task Mining
- Añadir un nodo agente dedicado a Automation Suite Robots
- Después de la instalación
- Administración de clústeres
- Gestionar los productos
- Primeros pasos con el Portal de administración del clúster
- Migrating objectstore from persistent volume to raw disks
- Migrating data between objectstores
- Migrating in-cluster objectstore to external objectstore
- Cambiar al clúster secundario
- Disaster Recovery: realizar operaciones posteriores a la instalación
- Convertir una instalación existente en una configuración en varios sitios
- Directrices para actualizar una implementación activa/pasiva
- Directrices sobre la copia de seguridad y restauración de una implementación activa/pasiva
- Supervisión y alertas
- Migración y actualización
- Rutas de actualización de Automation Suite
- Automatizado: Actualización en línea
- Automatizado: Actualización sin conexión
- Manual: Actualización en línea
- Manual: Actualización sin conexión
- Reversión por error
- Migración de disco físico Longhorn a LVM
- Migración de Canal a Cilium CNI
- Downgrading Ceph from 16.2.6 to 15.2.9
- Opciones de migración
- Paso 1: Mover los datos de la organización de identidad de independiente a Automation Suite
- Paso 2: restaurar la base de datos del producto independiente
- Paso 3: Realizar una copia de seguridad de la base de datos de la plataforma en Automation Suite
- Paso 4: Fusionar organizaciones en Automation Suite
- Paso 5: actualizar las cadenas de conexión de los productos migrados
- Paso 6: migrar Insights independiente
- Paso 7: eliminar el tenant predeterminado
- B) Migración de tenant único
- Configuración específica del producto
- 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
- Cómo borrar datos de Redis
- Cómo habilitar el registro de Istio
- Cómo limpiar manualmente los registros
- Cómo limpiar los registros antiguos almacenados en el paquete sf-logs
- Cómo deshabilitar los registros de transmisión para AI Center
- Cómo depurar instalaciones de Automation Suite fallidas
- Cómo eliminar imágenes del instalador antiguo después de la actualización
- Cómo limpiar automáticamente las instantáneas de Longhorn
- Cómo deshabilitar la descarga de la suma de comprobación TX
- Cómo establecer manualmente el nivel de registro de ArgoCD en Info
- Cómo generar el pull_secret_value codificado para registros externos
- Cómo abordar los cifrados débiles en TLS 1.2
- 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
- First installation fails during Longhorn setup
- Error de validación de la cadena de conexión SQL
- Error en la comprobación de requisitos previos para el módulo iscsid de selinux
- Azure disk not marked as SSD
- Fallo tras la actualización del certificado
- El antivirus causa problemas de instalación
- Automation Suite not working after OS upgrade
- Automation Suite requiere que backlog_wait_time se establezca en 0
- Nodo de GPU afectado por la falta de disponibilidad de recursos
- El volumen no se puede montar porque no está listo para las cargas de trabajo
- Error de recopilación de registros del paquete de soporte
- La actualización de nodo único falla en la etapa de tejido
- Cluster unhealthy after automated upgrade from 2021.10
- Upgrade fails due to unhealthy Ceph
- RKE2 no se inicia debido a un problema de espacio
- La validación SQL falla durante la actualización
- pod de snapshot-controller-crds en estado CrashLoopBackOff después de la actualización
- Fallo al cargar o descargar datos en el almacén de objetos
- PVC resize does not heal Ceph
- Fallo en el redimensionamiento de PVC
- Fallo en el redimensionamiento de PVC de objectstore
- Rook Ceph o Looker pod atascados en estado Init
- Error de archivo adjunto de volumen de StatefulSet
- Fallo en la creación de volúmenes persistentes
- Parche de reclamación de almacenamiento
- La copia de seguridad falló debido al error
- Todas las réplicas de Longhorn son defectuosas
- Establecer un intervalo de tiempo de espera para los portales de gestión
- Actualizar las conexiones del directorio subyacente
- La autenticación no funciona tras la migración
- 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
- Error en la operación GSSAPI debido a un código de estado no válido
- Alarma recibida por un error en el trabajo de Kerberos-tgt-update
- Proveedor de SSPI: servidor no encontrado en la base de datos de Kerberos
- Error en inicio de sesión de un usuario AD debido a una cuenta deshabilitada
- ArgoCD login failed
- 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
- Incidencias al acceder a la cuenta de solo lectura de ArgoCD
- Pods MongoDB en CrashLoopBackOff o pendientes de aprovisionamiento de PVC tras su eliminación
- Unhealthy services after cluster restore or rollback
- Pods atascados en Inicialización: 0 / X
- Prometheus en estado CrashloopBackoff con error de falta de memoria (OOM)
- Faltan métricas de Ceph-rook en los paneles de supervisión
- 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
- Ejecutar alta disponibilidad con Process Mining
- La ingestión de Process Mining falló al iniciar sesión con Kerberos
- No se puede conectar a la base de datos AutomationSuite_ProcessMining_Warehouse utilizando una cadena de conexión en formato pyodbc
- La instalación de Airflow falla con sqlalchemy.exc.ArgumentError: no se pudo analizar la URL rfc1738 de la cadena ''
- Cómo añadir una regla de tabla de IP para utilizar el puerto 1433 de SQL Server
- Uso de la herramienta de diagnóstico de Automation Suite
- Uso de la herramienta del paquete de soporte de Automation Suite
- Explorar registros
Cómo limpiar automáticamente las instantáneas de Longhorn
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
Guía de instalación de Automation Suite en Linux
Last updated 5 de sep. de 2024
Cómo limpiar automáticamente las instantáneas de Longhorn
Para limpiar las instantáneas automáticamente, debes crear un trabajo cronológico utilizando el siguiente archivo . Para crear el cronjob, ejecuta
kubectl apply -f snapshot-cleanup.yaml
. Puedes cambiar el parámetro schedule
en consecuencia. Por defecto, este trabajo cronológico elimina las instantáneas que tienen más de 10 días. Puedes reducir este período actualizando la variable days
.
apiVersion: batch/v1
kind: CronJob
metadata:
annotations:
labels:
job: uipath-snapshot-cleanup
name: lh-snapshot-cleanup
namespace: longhorn-system
spec:
concurrencyPolicy: Forbid
failedJobsHistoryLimit: 1
jobTemplate:
spec:
backoffLimit: 3
template:
metadata:
labels:
job: uipath-snapshot-cleanup
name: uipath-snapshot-cleanup
spec:
containers:
- command:
- sh
args:
- -ec
- |
url=$(kubectl get svc -n longhorn-system longhorn-backend -o json | jq -r '.spec | (.clusterIP|tostring) + ":" + (.ports[0].port|tostring)')
days=10
[[ -z "$url" ]] && echo "Missing longhorn URL" && exit 1
curl -s --connect-timeout 30 ${url}/v1 >> /dev/null || { echo "Unable to connect to longhorn backend"; exit 1; }
echo "Deleting snapshots older than $days days"
vols=$( (curl -s -X GET ${url}/v1/volumes |jq -r '.data[].name') )
function delete_snapshot() {
local vol=$1
local snap=$2
[[ -z "$vol" || -z "$snap" ]] && echo "Error: delete_snapshot: Empty argument" && return 1
curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotDelete -d '{"name": "'$snap'"}'
echo "Snapshot=$snap deleted for volume=$vol"
}
function cleanup_volume() {
local vol=$1
local deleted_snap=0
[[ -z "$vol" ]] && echo "Error: cleanup_volume: Empty argument" && return 1
# fetch list of snapshot
snaps=$( (curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotList | jq -r '.data[] | select(.usercreated==true) | .name' ) )
for i in ${snaps[@]}; do
if [[ $i == "volume-head" ]]; then
continue
fi
snapTime=$(curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotGet -d '{"name":"'$i'"}' |jq -r '.created')
currentTime=$(date "+%s")
timeDiff=$(($currentTime - ($(date -d $snapTime "+%s")) / 86400))
if [[ $timeDiff -lt $days ]]; then
echo "Ignoring snapshot $i, since it is older than $timeDiff days"
continue
fi
delete_snapshot $vol $i
deleted_snap=$((deleted_snap+1))
done
if [[ "$deleted_snap" -gt 0 ]]; then
curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotPurge >> /dev/null
fi
}
for i in ${vols[@]}; do
cleanup_volume $i
done
exit 0
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
image: uipath/sf-k8-utils-rhel:0.9
imagePullPolicy: IfNotPresent
name: uipath-snapshot-cleanup
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
priorityClassName: system-cluster-critical
restartPolicy: OnFailure
schedulerName: default-scheduler
securityContext: {}
serviceAccount: longhorn-service-account
serviceAccountName: longhorn-service-account
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoSchedule
key: kubernetes.io/hostname
operator: Equal
value: server0
schedule: '0 11 * * *'
successfulJobsHistoryLimit: 1
suspend: false
apiVersion: batch/v1
kind: CronJob
metadata:
annotations:
labels:
job: uipath-snapshot-cleanup
name: lh-snapshot-cleanup
namespace: longhorn-system
spec:
concurrencyPolicy: Forbid
failedJobsHistoryLimit: 1
jobTemplate:
spec:
backoffLimit: 3
template:
metadata:
labels:
job: uipath-snapshot-cleanup
name: uipath-snapshot-cleanup
spec:
containers:
- command:
- sh
args:
- -ec
- |
url=$(kubectl get svc -n longhorn-system longhorn-backend -o json | jq -r '.spec | (.clusterIP|tostring) + ":" + (.ports[0].port|tostring)')
days=10
[[ -z "$url" ]] && echo "Missing longhorn URL" && exit 1
curl -s --connect-timeout 30 ${url}/v1 >> /dev/null || { echo "Unable to connect to longhorn backend"; exit 1; }
echo "Deleting snapshots older than $days days"
vols=$( (curl -s -X GET ${url}/v1/volumes |jq -r '.data[].name') )
function delete_snapshot() {
local vol=$1
local snap=$2
[[ -z "$vol" || -z "$snap" ]] && echo "Error: delete_snapshot: Empty argument" && return 1
curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotDelete -d '{"name": "'$snap'"}'
echo "Snapshot=$snap deleted for volume=$vol"
}
function cleanup_volume() {
local vol=$1
local deleted_snap=0
[[ -z "$vol" ]] && echo "Error: cleanup_volume: Empty argument" && return 1
# fetch list of snapshot
snaps=$( (curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotList | jq -r '.data[] | select(.usercreated==true) | .name' ) )
for i in ${snaps[@]}; do
if [[ $i == "volume-head" ]]; then
continue
fi
snapTime=$(curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotGet -d '{"name":"'$i'"}' |jq -r '.created')
currentTime=$(date "+%s")
timeDiff=$(($currentTime - ($(date -d $snapTime "+%s")) / 86400))
if [[ $timeDiff -lt $days ]]; then
echo "Ignoring snapshot $i, since it is older than $timeDiff days"
continue
fi
delete_snapshot $vol $i
deleted_snap=$((deleted_snap+1))
done
if [[ "$deleted_snap" -gt 0 ]]; then
curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotPurge >> /dev/null
fi
}
for i in ${vols[@]}; do
cleanup_volume $i
done
exit 0
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
image: uipath/sf-k8-utils-rhel:0.9
imagePullPolicy: IfNotPresent
name: uipath-snapshot-cleanup
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
priorityClassName: system-cluster-critical
restartPolicy: OnFailure
schedulerName: default-scheduler
securityContext: {}
serviceAccount: longhorn-service-account
serviceAccountName: longhorn-service-account
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoSchedule
key: kubernetes.io/hostname
operator: Equal
value: server0
schedule: '0 11 * * *'
successfulJobsHistoryLimit: 1
suspend: false