automation-suite
2023.4
false
- Vue d'ensemble (Overview)
- Prérequis
- Installation
- Questions et réponses : modèles de déploiement
- Configuration des machines
- Configuration du magasin d'objets externe
- Configuration d'un registre Docker externe
- Configurer l'équilibreur de charge
- Configuration du DNS
- Configuration de Microsoft SQL Server
- Configuration des certificats
- Installation de production en ligne multi-nœuds compatible haute disponibilité
- Installation de production hors ligne multi-nœuds compatible haute disponibilité
- Disaster Recovery - Installation du cluster secondaire
- Téléchargement des packages d'installation
- install-uipath.sh parameters
- Activation du module complémentaire Redis High Availability Add-on pour le cluster
- Fichier de configuration de Document Understanding
- Ajout d'un nœud d'agent dédié avec prise en charge GPU
- Ajout d'un nœud d'agent dédié pour Task Mining
- Connexion de l'application Task Mining
- Ajout d'un nœud d'agent dédié pour les Automation Suite Robots
- Post-installation
- Administration du cluster
- Gestion des produits
- Premiers pas avec le portail d'administration du cluster
- Migration d'un magasin d'objets d'un volume persistant vers des disques bruts
- Migration des données entre les librairies
- Migration d'un magasin d'objets intégré au cluster vers un magasin d'objets externe
- Basculer vers le cluster secondaire
- Disaster Recovery : exécution d'opérations post-installation
- Conversion d'une installation existante en configuration multi-sites
- Directives sur la mise à niveau d'un déploiement actif/passif
- Directives pour la sauvegarde et la restauration d'un déploiement actif/passif
- Surveillance et alerte
- Migration et mise à niveau
- Chemins de mise à niveau Automation Suite
- Automatisée : mise à niveau en ligne
- Automatisée : mise à niveau hors ligne
- Manuel : mise à niveau en ligne
- Manuel : mise à niveau hors ligne
- Annulation en cas d'erreur
- Migration d'un disque physique Longhorn vers LVM
- Migration de Canal vers Cilium CNI
- Rétrogradation de Ceph de la version 16.2.6 à la version 15.2.9
- Options de migration :
- Étape 1 : Déplacement des données d'organisation Identity d'installation autonome vers Automation Suite
- Étape 2 : Restauration de la base de données du produit autonome
- Étape 3 : Sauvegarder la base de données de la plate-forme dans Automation Suite
- Étape 4 : Fusion des organisations dans Automation Suite
- Étape 5 : Mise à jour des chaînes de connexion du produit migré
- Étape 6 : migration de la version autonome d’Insights
- Étape 7 : suppression du locataire par défaut
- B) Migration à locataire unique
- Configuration spécifique au produit
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- Bonnes pratiques et maintenance
- Résolution des problèmes
- Comment résoudre les problèmes des services lors de l'installation
- Comment désinstaller le cluster
- Comment nettoyer les artefacts hors ligne pour améliorer l'espace disque
- Comment effacer les données Redis
- Comment activer la journalisation Istio
- Comment nettoyer manuellement les journaux
- Comment nettoyer les anciens journaux stockés dans le bundle sf-logs
- Comment désactiver les journaux de diffusion pour AI Center
- Comment déboguer les installations d'Automation Suite ayant échoué
- Comment supprimer des images de l’ancien programme d’installation après la mise à niveau
- Comment nettoyer automatiquement les instantanés Longhorn
- Comment désactiver le déchargement de la somme de contrôle txt
- Comment définir manuellement le niveau de journalisation d’ArgoCD sur Info
- Comment générer la valeur pull_secret_value encodée pour les registres externes
- Comment résoudre les chiffrements faibles dans TLS 1.2
- Impossible d'exécuter une installation hors ligne sur le système d'exploitation RHEL 8.4
- Erreur lors du téléchargement du bundle
- L'installation hors ligne échoue en raison d'un fichier binaire manquant
- Problème de certificat dans l'installation hors ligne
- La première installation échoue lors de la configuration de Longhorn
- Erreur de validation de la chaîne de connexion SQL
- Échec de la vérification des prérequis pour le module selinux iscsid
- Disque Azure non marqué comme SSD
- Échec après la mise à jour du certificat
- L'antivirus provoque des problèmes d'installation
- Automation Suite ne fonctionne pas après la mise à niveau du système d'exploitation
- Automation Suite requiert que backlog_wait_time soit défini sur 0
- Nœud GPU affecté par l'indisponibilité des ressources
- Volume impossible à monter car il n'est pas prêt pour les charges de travail
- Échec de la mise à niveau du nœud unique à l’étape Fabric
- Cluster défectueux après la mise à niveau automatisée à partir de la version 2021.10
- Échec de la mise à niveau en raison d’un Ceph défectueux
- RKE2 ne démarre pas en raison d'un problème d'espace
- Échec de la validation SQL lors de la mise à niveau
- Échec du chargement ou du téléchargement des données dans l'objectstore
- Le redimensionnement de la PVC ne répare pas Ceph
- Échec du redimensionnement du PVC
- Échec du redimensionnement du PVC objectstore
- Rook Ceph ou pod Looker bloqué dans l'état Init
- Erreur de pièce jointe du volume Ensembles d'états.
- Échec de la création de volumes persistants
- Correctif de récupération du stockage
- La sauvegarde a échoué en raison de l’erreur TropInstantanés (TooManySnapshots)
- Toutes les répliques Longhorn sont défaillantes
- Définition d'un délai d'expiration pour les portails de gestion
- Mettre à jour les connexions du répertoire sous-jacent
- L'authentification ne fonctionne pas après la migration
- kinit : Impossible de trouver le KDC pour le domaine <AD Domain> lors de l'obtention des informations d'identification initiales
- Kinit : Keytab ne contient aucune clé appropriée pour *** lors de l'obtention des informations d'identification initiales
- L'opération GSSAPI a échoué en raison d'un code de statut non valide
- Alarme reçue pour l'échec de la tâche Kerberos-tgt-update
- Fournisseur SSPI : serveur introuvable dans la base de données Kerberos
- La connexion a échoué pour l'utilisateur AD en raison d'un compte désactivé
- Échec de connexion à ArgoCD
- Impossible d'obtenir l'image du bac à sable
- Les pods ne s'affichent pas dans l'interface utilisateur ArgoCD
- Échec de la sonde Redis
- Le serveur RKE2 ne démarre pas
- Secret introuvable dans l'espace de noms UiPath
- ArgoCD passe à l'état Progression (Progressing) après la première installation
- Problèmes d'accès au compte ArgoCD en lecture seule
- Pods MongoDB en mode CrashLoopBackOff ou enregistrement PVC en attente après suppression
- Services défectueux après la restauration ou l'annulation du cluster
- Pods bloqués dans Init:0/X
- Prometheus en état CrashloopBackoff avec erreur de mémoire insuffisante (OOM)
- Métriques Ceph-rook manquantes dans les tableaux de bord de surveillance
- Document Understanding n'est pas affiché sur la barre de gauche d'Automation Suite
- État Échec (Failed) lors de la création d'une session de labellisation des données
- État Échec (Failed) lors de la tentative de déploiement d'une compétence ML
- La tâche de migration échoue dans ArgoCD
- La reconnaissance de l'écriture manuscrite avec l'Extracteur de formulaires intelligents (Intelligent Form Extractor) ne fonctionne pas
- Exécution de la haute disponibilité avec Process Mining
- Échec de l’ingestion de Process Mining lors de la connexion à l’aide de Kerberos
- Impossible de se connecter à la base de données AutomationSuite_ProcessMining_Authentication à l'aide d'une chaîne de connexion au format pyodbc
- L'installation d'airflow échoue avec sqlalchemy.exc.ArgumentError: impossible d'analyser l'URL rfc1738 de la chaîne ''
- Comment ajouter une règle de table d'adresse IP pour utiliser le port SQL Server 1433
- Utilisation de l'outil de diagnostic d'Automation Suite
- Utilisation de l'outil Automation Suite Support Bundle
- Explorer les journaux
Comment désinstaller le cluster
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique.
Guide d'installation d'Automation Suite sur Linux
Last updated 4 oct. 2024
Comment désinstaller le cluster
Si vous rencontrez des problèmes spécifiques à Kubernetes lorsqu'il est exécuté sur le cluster, vous pouvez directement désinstaller le cluster rke2.
-
Selon votre profil d'installation, exécutez l'une des commandes suivantes :
1.1. Dans une configuration en ligne, exécutez le script suivant avec des privilèges élevés, c'est-à-diresudo
, sur chaque nœud du cluster. Cela désinstallera les nœuds.function remove_rke2_entry_from_exclude() { local current_exclude_list new_exclude_list YUM_CONF_FILE=$1 if [[ ! -s "${YUM_CONF_FILE}" ]]; then # File is empty return fi current_exclude_list=$(grep 'exclude=' "${YUM_CONF_FILE}" | tail -1) if echo "$current_exclude_list" | grep -q 'rke2-*'; then if [[ -w ${YUM_CONF_FILE} ]]; then new_exclude_list=$(printf '%s\n' "${current_exclude_list//rke2-* /}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-*,/}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-\*/}") sed -i "/exclude=.*rke2-\*/d" "${YUM_CONF_FILE}" echo "${new_exclude_list}" >> "${YUM_CONF_FILE}" else error "${YUM_CONF_FILE} file is readonly and contains rke2-* under package exclusion. Please remove the entry for AS to work." fi fi } function enable_rke2_package_upgrade() { remove_rke2_entry_from_exclude /etc/dnf/dnf.conf remove_rke2_entry_from_exclude /etc/yum.conf } enable_rke2_package_upgrade service_exists() { local n=$1 if [[ $(systemctl list-units --all -t service --full --no-legend "$n.service" | cut -f1 -d' ') == $n.service ]]; then return 0 else return 1 fi } if service_exists rke2-server; then systemctl stop rke2-server systemctl disable rke2-server fi if service_exists rke2-agent; then systemctl stop rke2-agent systemctl disable rke2-agent fi if [ -e /usr/bin/rke2-killall.sh ] then echo "Running rke2-killall.sh" /usr/bin/rke2-killall.sh > /dev/null else echo "File not found: rke2-killall.sh" fi if [ -e /usr/bin/rke2-uninstall.sh ] then echo "Running rke2-uninstall.sh" /usr/bin/rke2-uninstall.sh > /dev/null else echo "File not found: rke2-uninstall.sh" fi crontab -l > backupcron sed -i '/backupjob/d' backupcron > /dev/null crontab backupcron > /dev/null rm -rf backupcron > /dev/null rm -rfv /usr/bin/backupjob > /dev/null rm -rfv /etc/rancher/ > /dev/null rm -rfv /var/lib/rook/ > /dev/null rm -rfv /var/lib/longhorn/ > /dev/null rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null umount -l -f /var/lib/rancher/rke2/server/db > /dev/null 2>&1 || true rm -rfv /var/lib/rancher/* > /dev/null umount -l -f /var/lib/rancher rm -rfv /var/lib/rancher/* > /dev/null while ! rm -rfv /var/lib/kubelet/* > /dev/null; do findmnt --list --submounts -n -o TARGET --target /var/lib/kubelet | grep '/var/lib/kubelet/plugins' | xargs -r umount -f -l sleep 5 done umount -l -f /var/lib/kubelet rm -rfv /var/lib/kubelet/* > /dev/null rm -rfv /datadisk/* > /dev/null umount -l -f /datadisk rm -rfv /datadisk/* > /dev/null rm -rfv ~/.uipath/* > /dev/null rm -rfv /etc/sysconfig/rke2-server > /dev/null rm -rfv /etc/sysconfig/rke2-agent > /dev/null mount /var/lib/rancher mkdir -p /var/lib/rancher/rke2/server/db/ && mount -a rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null echo "Uninstall RKE complete."
function remove_rke2_entry_from_exclude() { local current_exclude_list new_exclude_list YUM_CONF_FILE=$1 if [[ ! -s "${YUM_CONF_FILE}" ]]; then # File is empty return fi current_exclude_list=$(grep 'exclude=' "${YUM_CONF_FILE}" | tail -1) if echo "$current_exclude_list" | grep -q 'rke2-*'; then if [[ -w ${YUM_CONF_FILE} ]]; then new_exclude_list=$(printf '%s\n' "${current_exclude_list//rke2-* /}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-*,/}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-\*/}") sed -i "/exclude=.*rke2-\*/d" "${YUM_CONF_FILE}" echo "${new_exclude_list}" >> "${YUM_CONF_FILE}" else error "${YUM_CONF_FILE} file is readonly and contains rke2-* under package exclusion. Please remove the entry for AS to work." fi fi } function enable_rke2_package_upgrade() { remove_rke2_entry_from_exclude /etc/dnf/dnf.conf remove_rke2_entry_from_exclude /etc/yum.conf } enable_rke2_package_upgrade service_exists() { local n=$1 if [[ $(systemctl list-units --all -t service --full --no-legend "$n.service" | cut -f1 -d' ') == $n.service ]]; then return 0 else return 1 fi } if service_exists rke2-server; then systemctl stop rke2-server systemctl disable rke2-server fi if service_exists rke2-agent; then systemctl stop rke2-agent systemctl disable rke2-agent fi if [ -e /usr/bin/rke2-killall.sh ] then echo "Running rke2-killall.sh" /usr/bin/rke2-killall.sh > /dev/null else echo "File not found: rke2-killall.sh" fi if [ -e /usr/bin/rke2-uninstall.sh ] then echo "Running rke2-uninstall.sh" /usr/bin/rke2-uninstall.sh > /dev/null else echo "File not found: rke2-uninstall.sh" fi crontab -l > backupcron sed -i '/backupjob/d' backupcron > /dev/null crontab backupcron > /dev/null rm -rf backupcron > /dev/null rm -rfv /usr/bin/backupjob > /dev/null rm -rfv /etc/rancher/ > /dev/null rm -rfv /var/lib/rook/ > /dev/null rm -rfv /var/lib/longhorn/ > /dev/null rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null umount -l -f /var/lib/rancher/rke2/server/db > /dev/null 2>&1 || true rm -rfv /var/lib/rancher/* > /dev/null umount -l -f /var/lib/rancher rm -rfv /var/lib/rancher/* > /dev/null while ! rm -rfv /var/lib/kubelet/* > /dev/null; do findmnt --list --submounts -n -o TARGET --target /var/lib/kubelet | grep '/var/lib/kubelet/plugins' | xargs -r umount -f -l sleep 5 done umount -l -f /var/lib/kubelet rm -rfv /var/lib/kubelet/* > /dev/null rm -rfv /datadisk/* > /dev/null umount -l -f /datadisk rm -rfv /datadisk/* > /dev/null rm -rfv ~/.uipath/* > /dev/null rm -rfv /etc/sysconfig/rke2-server > /dev/null rm -rfv /etc/sysconfig/rke2-agent > /dev/null mount /var/lib/rancher mkdir -p /var/lib/rancher/rke2/server/db/ && mount -a rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null echo "Uninstall RKE complete."1.2 Dans une configuration hors ligne, exécutez le script suivant avec des privilèges élevés, c'est-à-diresudo
, sur chaque nœud du cluster. Cela désinstallera les nœuds.function remove_rke2_entry_from_exclude() { local current_exclude_list new_exclude_list YUM_CONF_FILE=$1 if [[ ! -s "${YUM_CONF_FILE}" ]]; then # File is empty return fi current_exclude_list=$(grep 'exclude=' "${YUM_CONF_FILE}" | tail -1) if echo "$current_exclude_list" | grep -q 'rke2-*'; then if [[ -w ${YUM_CONF_FILE} ]]; then new_exclude_list=$(printf '%s\n' "${current_exclude_list//rke2-* /}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-*,/}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-\*/}") sed -i "/exclude=.*rke2-\*/d" "${YUM_CONF_FILE}" echo "${new_exclude_list}" >> "${YUM_CONF_FILE}" else error "${YUM_CONF_FILE} file is readonly and contains rke2-* under package exclusion. Please remove the entry for AS to work." fi fi } function enable_rke2_package_upgrade() { remove_rke2_entry_from_exclude /etc/dnf/dnf.conf remove_rke2_entry_from_exclude /etc/yum.conf } enable_rke2_package_upgrade service_exists() { local n=$1 if [[ $(systemctl list-units --all -t service --full --no-legend "$n.service" | cut -f1 -d' ') == $n.service ]]; then return 0 else return 1 fi } if service_exists rke2-server; then systemctl stop rke2-server systemctl disable rke2-server fi if service_exists rke2-agent; then systemctl stop rke2-agent systemctl disable rke2-agent fi if [ -e /usr/local/bin/rke2-killall.sh ] then echo "Running rke2-killall.sh" /usr/local/bin/rke2-killall.sh > /dev/null else echo "File not found: rke2-killall.sh" fi if [ -e /usr/local/bin/rke2-uninstall.sh ] then echo "Running rke2-uninstall.sh" /usr/local/bin/rke2-uninstall.sh > /dev/null else echo "File not found: rke2-uninstall.sh" fi crontab -l > backupcron sed -i '/backupjob/d' backupcron > /dev/null crontab backupcron > /dev/null rm -rf backupcron > /dev/null rm -rfv /usr/bin/backupjob > /dev/null rm -rfv /etc/rancher/ > /dev/null rm -rfv /var/lib/rook/ > /dev/null rm -rfv /var/lib/longhorn/ > /dev/null rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null umount -l -f /var/lib/rancher/rke2/server/db > /dev/null 2>&1 || true rm -rfv /var/lib/rancher/* > /dev/null umount -l -f /var/lib/rancher rm -rfv /var/lib/rancher/* > /dev/null while ! rm -rfv /var/lib/kubelet/* > /dev/null; do findmnt --list --submounts -n -o TARGET --target /var/lib/kubelet | grep '/var/lib/kubelet/plugins' | xargs -r umount -f -l sleep 5 done umount -l -f /var/lib/kubelet rm -rfv /var/lib/kubelet/* > /dev/null rm -rfv /datadisk/* > /dev/null umount -l -f /datadisk rm -rfv /datadisk/* > /dev/null rm -rfv ~/.uipath/* > /dev/null rm -rfv /etc/sysconfig/rke2-server > /dev/null rm -rfv /etc/sysconfig/rke2-agent > /dev/null mount /var/lib/rancher mkdir -p /var/lib/rancher/rke2/server/db/ && mount -a rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null echo "Uninstall RKE complete."
function remove_rke2_entry_from_exclude() { local current_exclude_list new_exclude_list YUM_CONF_FILE=$1 if [[ ! -s "${YUM_CONF_FILE}" ]]; then # File is empty return fi current_exclude_list=$(grep 'exclude=' "${YUM_CONF_FILE}" | tail -1) if echo "$current_exclude_list" | grep -q 'rke2-*'; then if [[ -w ${YUM_CONF_FILE} ]]; then new_exclude_list=$(printf '%s\n' "${current_exclude_list//rke2-* /}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-*,/}") new_exclude_list=$(printf '%s\n' "${new_exclude_list//rke2-\*/}") sed -i "/exclude=.*rke2-\*/d" "${YUM_CONF_FILE}" echo "${new_exclude_list}" >> "${YUM_CONF_FILE}" else error "${YUM_CONF_FILE} file is readonly and contains rke2-* under package exclusion. Please remove the entry for AS to work." fi fi } function enable_rke2_package_upgrade() { remove_rke2_entry_from_exclude /etc/dnf/dnf.conf remove_rke2_entry_from_exclude /etc/yum.conf } enable_rke2_package_upgrade service_exists() { local n=$1 if [[ $(systemctl list-units --all -t service --full --no-legend "$n.service" | cut -f1 -d' ') == $n.service ]]; then return 0 else return 1 fi } if service_exists rke2-server; then systemctl stop rke2-server systemctl disable rke2-server fi if service_exists rke2-agent; then systemctl stop rke2-agent systemctl disable rke2-agent fi if [ -e /usr/local/bin/rke2-killall.sh ] then echo "Running rke2-killall.sh" /usr/local/bin/rke2-killall.sh > /dev/null else echo "File not found: rke2-killall.sh" fi if [ -e /usr/local/bin/rke2-uninstall.sh ] then echo "Running rke2-uninstall.sh" /usr/local/bin/rke2-uninstall.sh > /dev/null else echo "File not found: rke2-uninstall.sh" fi crontab -l > backupcron sed -i '/backupjob/d' backupcron > /dev/null crontab backupcron > /dev/null rm -rf backupcron > /dev/null rm -rfv /usr/bin/backupjob > /dev/null rm -rfv /etc/rancher/ > /dev/null rm -rfv /var/lib/rook/ > /dev/null rm -rfv /var/lib/longhorn/ > /dev/null rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null umount -l -f /var/lib/rancher/rke2/server/db > /dev/null 2>&1 || true rm -rfv /var/lib/rancher/* > /dev/null umount -l -f /var/lib/rancher rm -rfv /var/lib/rancher/* > /dev/null while ! rm -rfv /var/lib/kubelet/* > /dev/null; do findmnt --list --submounts -n -o TARGET --target /var/lib/kubelet | grep '/var/lib/kubelet/plugins' | xargs -r umount -f -l sleep 5 done umount -l -f /var/lib/kubelet rm -rfv /var/lib/kubelet/* > /dev/null rm -rfv /datadisk/* > /dev/null umount -l -f /datadisk rm -rfv /datadisk/* > /dev/null rm -rfv ~/.uipath/* > /dev/null rm -rfv /etc/sysconfig/rke2-server > /dev/null rm -rfv /etc/sysconfig/rke2-agent > /dev/null mount /var/lib/rancher mkdir -p /var/lib/rancher/rke2/server/db/ && mount -a rm -rfv /var/lib/rancher/rke2/server/db/* > /dev/null echo "Uninstall RKE complete." -
Nettoyez le disque OSD :
for osddisk in $(find /dev/uipath/ceph -maxdepth 1 -mindepth 1 -type l); do devName=$(basename "${osddisk}") devPath="/dev/${devName}" sgdisk --zap-all "${devPath}" dd if=/dev/zero of="${devPath}" bs=1M count=100 oflag=direct,dsync blkdiscard "${devPath}" done ls /dev/mapper/ceph-* | xargs -I% -- dmsetup remove % rm -rf /dev/ceph-* rm -rf /etc/udev/rules.d/99-ceph-raw-osd.rules
for osddisk in $(find /dev/uipath/ceph -maxdepth 1 -mindepth 1 -type l); do devName=$(basename "${osddisk}") devPath="/dev/${devName}" sgdisk --zap-all "${devPath}" dd if=/dev/zero of="${devPath}" bs=1M count=100 oflag=direct,dsync blkdiscard "${devPath}" done ls /dev/mapper/ceph-* | xargs -I% -- dmsetup remove % rm -rf /dev/ceph-* rm -rf /etc/udev/rules.d/99-ceph-raw-osd.rules3, Redémarrez le nœud après la désinstallation.
Important : lors de la désinstallation de l'un des nœuds du cluster, vous devez exécuter la commande suivante :kubectl delete node <node_name>
. Cela supprime le nœud du cluster.