Деинсталляция платформы

Удаление постоянного кластера управления с использованием kubeconfig и временного bootstrap-кластера.

Начиная с релиза 2.12 платформу «Штурвал» можно удалить с помощью утилиты shtil. Команда удаляет постоянный кластер управления и использует временный bootstrap-кластер.

Перед началом

Перед удалением платформы проверьте ограничения и подготовьте данные:

  • Удаление доступно только со статическим kubeconfig постоянного кластера управления, который был выдан для скачивания после установки. В графическом интерфейсе его можно найти в неймспейсе кластера управления, в Secret с именем clustername-kubeconfig.
  • Удаление постоянного кластера управления выполняется с временным bootstrap-кластером. Если временный кластер удалён или недоступен, передайте лицензию параметром --license, чтобы shtil поднял временный кластер в открытом окружении. В закрытом окружении также укажите адрес реестра параметром --registry.
  • Docker-контейнер с временным кластером на машине, с которой запускается удаление, должен работать корректно и не быть приостановленным. Одновременно не может быть поднято два Docker-контейнера временного кластера.
  • В процессе удаления shtil запросит подтверждение: потребуется ввести имя кластера управления.
  • Удалить платформу невозможно, если в ней развёрнуты и работают клиентские кластеры.

Если файл shtil ещё не исполняемый, выполните:

chmod +x ./shtil

Перед удалением сохраните user.conf, kubeconfig и другие данные, которые могут понадобиться для доступа к интерфейсу управления или диагностики.

Команда удаления

Для удаления платформы выполните команду delete management и подставьте свои значения параметров:

./shtil delete management --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА

Доступные параметры:

Параметр Обязательность Описание
--bootstrap-kubeconfig Нет Путь до kubeconfig временного кластера управления. Укажите, если kubeconfig временного кластера расположен не по пути по умолчанию ($HOME/.shturval/shturval-bootstrap)
--help, -h Нет Вызов справки для команды удаления кластера
--kubeconfig Да Путь до kubeconfig постоянного кластера управления
--license Нет Лицензия платформы «Штурвал». Укажите, если нет временного кластера и нужно поднять его перед удалением. Если лицензия содержит специальные символы ($, <, >, *, &, ?, /, \), заключите её в одинарные кавычки
--registry Нет Адрес реестра образов. По умолчанию r.shturval.tech
--retry Нет Количество повторных попыток при неудачных операциях. По умолчанию 10
--verbosity, -v Нет Уровень детализации логов. По умолчанию 0
--insecure Нет Пропускает проверку безопасности при подключении к реестру. По умолчанию false

Примеры для открытого контура

Удалить платформу, если временный кластер существует и kubeconfig расположен по пути по умолчанию:

./shtil delete management \
  --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА

Удалить платформу с увеличенной детализацией логов:

./shtil delete management \
  --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА \
  --verbosity=3 \
  --retry=50

Удалить платформу, если kubeconfig временного кластера расположен не по пути по умолчанию:

./shtil delete management \
  --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА \
  --bootstrap-kubeconfig=ПУТЬ-ДО-KUBECONFIG-ВРЕМЕННОГО-КЛАСТЕРА

Удалить платформу, если временный кластер отсутствует:

./shtil delete management \
  --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА \
  --license='ВАША-ЛИЦЕНЗИЯ'

Примеры для закрытого контура

Удалить платформу, если временный кластер существует, kubeconfig временного кластера расположен не по пути по умолчанию, а образы доступны в локальном реестре:

./shtil delete management \
  --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА \
  --bootstrap-kubeconfig=ПУТЬ-ДО-KUBECONFIG-ВРЕМЕННОГО-КЛАСТЕРА \
  --registry=АДРЕС-ВАШЕГО-РЕЕСТРА

Если у реестра самоподписной сертификат, добавьте реестр в конфигурацию контейнерного рантайма и при необходимости пропустите проверку TLS параметром --insecure=true.

Удалить платформу в закрытом контуре без проверки TLS-соединения с реестром:

./shtil delete management \
  --kubeconfig=ПУТЬ-ДО-KUBECONFIG-ПОСТОЯННОГО-КЛАСТЕРА \
  --registry=АДРЕС-ВАШЕГО-РЕЕСТРА \
  --insecure=true

Для Podman конфигурационный файл реестров по умолчанию расположен по пути /etc/containers/registries.conf, для Docker — /etc/docker/daemon.json.

Пример registries.conf:

[registries.search]
registries = ['docker.io', 'registry.fedoraproject.org', 'registry.access.redhat.com']

[registries.insecure]
registries = ['АДРЕС-ВАШЕГО-РЕЕСТРА']

[registries.block]
registries = []

Пример daemon.json:

{
  "insecure-registries": ["АДРЕС-ВАШЕГО-РЕЕСТРА"]
}