Automation Suite
2022.4
False
Bannerhintergrundbild
Automation Suite-Installationsanleitung
Letzte Aktualisierung 24. Apr. 2024

Deinstallieren des Clusters

Wenn bei der Ausführung Probleme speziell im Zusammenhang mit Kubernetes auftreten, können Sie den rke2-Cluster direkt deinstallieren. Führen Sie dazu die folgenden Schritte aus:

  1. Führen Sie je nach Installationsprofil einen der folgenden Befehle aus:

    1. Führen Sie in einem Online-Setup das folgende Skript mit erhöhten Rechten, z. B. sudo, auf jedem Knoten des Clusters aus. Dadurch werden die Knoten deinstalliert.
      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
      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
      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."
    2. In einer Offline-Einrichtung führen Sie das folgende Skript mit höheren Berechtigungen, d. h. sudo, auf jedem Knoten des Clusters aus Dadurch werden die Knoten deinstalliert.
      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
      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
      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."
  2. Starten Sie den Knoten nach der Deinstallation neu.

Wichtig: Wenn Sie einen der Knoten aus dem Cluster deinstallieren, müssen Sie den folgenden Befehl ausführen: kubectl delete node <node_name>. Dadurch wird der Knoten aus dem Cluster entfernt.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.