Обновление Traefik 3.7.9 → 3.7.10 на pve #1

Open
opened 2026-08-15 02:53:58 +00:00 by mvkirichenko · 1 comment
Owner

Цель

Обновить Traefik в LXC CT301 на основном узле pve с версии 3.7.9 до 3.7.10, сохранив VIP, CrowdSec и существующую конфигурацию.

Второй узел pve01 выведен из эксплуатации. Обновление выполняется на единственном рабочем экземпляре, поэтому ожидается короткий перерыв обслуживания.

Исходное состояние

Проверено 15 августа 2026 года перед изменениями.

  • Proxmox: pve, 192.168.1.10, PVE Manager 9.2.10.
  • Контейнер: CT301, Debian 13, IP 192.168.1.98.
  • VIP: 192.168.1.9/24 находится на CT301.
  • Traefik: 3.7.9, бинарник /usr/bin/traefik.
  • SHA256 установленного бинарника: 34ee2d82c5fb516cdd0b3ffdf81fec71fd7cdb0f48056e48a43136814de3024a.
  • traefik.service: active/enabled.
  • crowdsec.service: active/enabled.
  • keepalived.service: active/enabled.
  • RootFS: 4 ГБ, занято 56%, свободно около 1,8 ГБ.
  • Конфигурация: /etc/traefik/traefik.yaml, динамические файлы в /etc/traefik/conf.d/, ACME в /etc/traefik/ssl/acme.json.
  • traefik-standby-sync.service находится в failed, поскольку выведенный из эксплуатации pve01 недоступен. Это отдельная задача и не исправляется данным обновлением.
  • Команда traefik check-config в версии 3.7.9 отсутствует; проверка выполняется запуском сервиса, журналом и HTTPS-запросом.

Влияние

  • Конфигурация Traefik, CrowdSec, keepalived и ACME не изменяется.
  • VIP остаётся 192.168.1.9.
  • Ожидаемый перерыв при перезапуске: примерно 5–15 секунд.
  • Если новая версия не запустится, старый бинарник 3.7.9 будет возвращён автоматически.

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

Команды выполняются на узле pve.

1. Резервная копия и загрузка

pct exec 301 -- install -d -m 700 /root/traefik-upgrade-3.7.10
pct exec 301 -- cp -a /usr/bin/traefik /root/traefik-upgrade-3.7.10/traefik-3.7.9
pct exec 301 -- tar -C /etc -czf /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz traefik

pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/checksums.txt   https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_checksums.txt
pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz   https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_linux_amd64.tar.gz

pct exec 301 -- sh -lc 'cd /root/traefik-upgrade-3.7.10 && grep " traefik_v3.7.10_linux_amd64.tar.gz$" checksums.txt | sha256sum -c -'
pct exec 301 -- tar -xzf /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz -C /root/traefik-upgrade-3.7.10 traefik
pct exec 301 -- /root/traefik-upgrade-3.7.10/traefik version

2. Атомарная замена и перезапуск

pct exec 301 -- install -m 0755 /root/traefik-upgrade-3.7.10/traefik /usr/bin/traefik.new
pct exec 301 -- mv /usr/bin/traefik.new /usr/bin/traefik

pct exec 301 -- sh -lc '
if ! systemctl restart traefik || ! systemctl is-active --quiet traefik; then
  install -m 0755 /root/traefik-upgrade-3.7.10/traefik-3.7.9 /usr/bin/traefik
  systemctl restart traefik
  echo "Обновление не удалось, выполнен откат до 3.7.9" >&2
  exit 1
fi
'

3. Проверка

pct exec 301 -- traefik version
pct exec 301 -- systemctl is-active traefik crowdsec keepalived
pct exec 301 -- ip -4 -brief address show
pct exec 301 -- journalctl -u traefik --since "-3 minutes" --no-pager
pct exec 301 -- curl -fsS --resolve pve.qubo.su:443:192.168.1.9   -o /dev/null -w "HTTP %{http_code}\n" https://pve.qubo.su/

Ручной откат

pct exec 301 -- install -m 0755 /root/traefik-upgrade-3.7.10/traefik-3.7.9 /usr/bin/traefik
pct exec 301 -- systemctl restart traefik
pct exec 301 -- traefik version
pct exec 301 -- systemctl is-active traefik crowdsec keepalived

Журнал выполнения

  • Выполнена read-only проверка текущей версии и состояния сервисов.
  • Подтверждено владение VIP 192.168.1.9.
  • Подтверждено, что pve01 выведен из эксплуатации.
  • Определён путь бинарника и способ отката.
  • Получено разрешение на команды обновления.
  • Создана резервная копия.
  • Загружен и проверен Traefik 3.7.10.
  • Выполнен перезапуск.
  • Проверены Traefik, CrowdSec, keepalived, VIP и HTTPS.
  • Зафиксирован итоговый журнал и статус отката.

Секреты, токены, приватные ключи и содержимое acme.json в журнал не публикуются.

## Цель Обновить Traefik в LXC CT301 на основном узле `pve` с версии **3.7.9** до **3.7.10**, сохранив VIP, CrowdSec и существующую конфигурацию. Второй узел `pve01` выведен из эксплуатации. Обновление выполняется на единственном рабочем экземпляре, поэтому ожидается короткий перерыв обслуживания. ## Исходное состояние Проверено 15 августа 2026 года перед изменениями. - Proxmox: `pve`, `192.168.1.10`, PVE Manager 9.2.10. - Контейнер: CT301, Debian 13, IP `192.168.1.98`. - VIP: `192.168.1.9/24` находится на CT301. - Traefik: `3.7.9`, бинарник `/usr/bin/traefik`. - SHA256 установленного бинарника: `34ee2d82c5fb516cdd0b3ffdf81fec71fd7cdb0f48056e48a43136814de3024a`. - `traefik.service`: active/enabled. - `crowdsec.service`: active/enabled. - `keepalived.service`: active/enabled. - RootFS: 4 ГБ, занято 56%, свободно около 1,8 ГБ. - Конфигурация: `/etc/traefik/traefik.yaml`, динамические файлы в `/etc/traefik/conf.d/`, ACME в `/etc/traefik/ssl/acme.json`. - `traefik-standby-sync.service` находится в failed, поскольку выведенный из эксплуатации `pve01` недоступен. Это отдельная задача и не исправляется данным обновлением. - Команда `traefik check-config` в версии 3.7.9 отсутствует; проверка выполняется запуском сервиса, журналом и HTTPS-запросом. ## Влияние - Конфигурация Traefik, CrowdSec, keepalived и ACME не изменяется. - VIP остаётся `192.168.1.9`. - Ожидаемый перерыв при перезапуске: примерно 5–15 секунд. - Если новая версия не запустится, старый бинарник 3.7.9 будет возвращён автоматически. ## Планируемые команды Команды выполняются на узле `pve`. ### 1. Резервная копия и загрузка ```bash pct exec 301 -- install -d -m 700 /root/traefik-upgrade-3.7.10 pct exec 301 -- cp -a /usr/bin/traefik /root/traefik-upgrade-3.7.10/traefik-3.7.9 pct exec 301 -- tar -C /etc -czf /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz traefik pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/checksums.txt https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_checksums.txt pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_linux_amd64.tar.gz pct exec 301 -- sh -lc 'cd /root/traefik-upgrade-3.7.10 && grep " traefik_v3.7.10_linux_amd64.tar.gz$" checksums.txt | sha256sum -c -' pct exec 301 -- tar -xzf /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz -C /root/traefik-upgrade-3.7.10 traefik pct exec 301 -- /root/traefik-upgrade-3.7.10/traefik version ``` ### 2. Атомарная замена и перезапуск ```bash pct exec 301 -- install -m 0755 /root/traefik-upgrade-3.7.10/traefik /usr/bin/traefik.new pct exec 301 -- mv /usr/bin/traefik.new /usr/bin/traefik pct exec 301 -- sh -lc ' if ! systemctl restart traefik || ! systemctl is-active --quiet traefik; then install -m 0755 /root/traefik-upgrade-3.7.10/traefik-3.7.9 /usr/bin/traefik systemctl restart traefik echo "Обновление не удалось, выполнен откат до 3.7.9" >&2 exit 1 fi ' ``` ### 3. Проверка ```bash pct exec 301 -- traefik version pct exec 301 -- systemctl is-active traefik crowdsec keepalived pct exec 301 -- ip -4 -brief address show pct exec 301 -- journalctl -u traefik --since "-3 minutes" --no-pager pct exec 301 -- curl -fsS --resolve pve.qubo.su:443:192.168.1.9 -o /dev/null -w "HTTP %{http_code}\n" https://pve.qubo.su/ ``` ## Ручной откат ```bash pct exec 301 -- install -m 0755 /root/traefik-upgrade-3.7.10/traefik-3.7.9 /usr/bin/traefik pct exec 301 -- systemctl restart traefik pct exec 301 -- traefik version pct exec 301 -- systemctl is-active traefik crowdsec keepalived ``` ## Журнал выполнения - [x] Выполнена read-only проверка текущей версии и состояния сервисов. - [x] Подтверждено владение VIP `192.168.1.9`. - [x] Подтверждено, что `pve01` выведен из эксплуатации. - [x] Определён путь бинарника и способ отката. - [x] Получено разрешение на команды обновления. - [x] Создана резервная копия. - [x] Загружен и проверен Traefik 3.7.10. - [x] Выполнен перезапуск. - [x] Проверены Traefik, CrowdSec, keepalived, VIP и HTTPS. - [x] Зафиксирован итоговый журнал и статус отката. Секреты, токены, приватные ключи и содержимое `acme.json` в журнал не публикуются.
Author
Owner

Итоговый журнал обновления — выполнено успешно

Дата выполнения: 15 августа 2026 года.

Результат

  • Traefik обновлён: 3.7.9 → 3.7.10.
  • traefik.service, crowdsec.service, keepalived.service: active.
  • VIP 192.168.1.9/24 остался на CT301.
  • HTTPS-проверка pve.qubo.su: HTTP 200.
  • CrowdSec bouncer продолжает получать обновления stream cache.
  • Автоматический откат не сработал и не потребовался.
  • Резервные копии сохранены в /root/traefik-upgrade-3.7.10.

Этап 1. Резервная копия, загрузка и проверка

Выполненные команды на pve:

pct exec 301 -- install -d -m 700 /root/traefik-upgrade-3.7.10
pct exec 301 -- cp -a /usr/bin/traefik /root/traefik-upgrade-3.7.10/traefik-3.7.9
pct exec 301 -- tar -C /etc -czf /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz traefik

pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/checksums.txt   https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_checksums.txt

pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz   https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_linux_amd64.tar.gz

pct exec 301 -- sh -lc 'cd /root/traefik-upgrade-3.7.10 && grep " traefik_v3.7.10_linux_amd64.tar.gz$" checksums.txt | sha256sum -c -'

pct exec 301 -- tar -xzf /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz   -C /root/traefik-upgrade-3.7.10 traefik

pct exec 301 -- /root/traefik-upgrade-3.7.10/traefik version

Результат проверки архива:

traefik_v3.7.10_linux_amd64.tar.gz: OK

Version:      3.7.10
Codename:     langres
Go version:   go1.26.5
Built:        2026-07-31T12:42:19Z
OS/Arch:      linux/amd64

Архив релиза: 48,1 МБ. Ошибок загрузки, распаковки и проверки SHA256 не было.


Этап 2. Атомарная замена и перезапуск

Выполненные команды:

pct exec 301 -- install -m 0755   /root/traefik-upgrade-3.7.10/traefik   /usr/bin/traefik.new

pct exec 301 -- mv /usr/bin/traefik.new /usr/bin/traefik

pct exec 301 -- sh -lc '
if ! systemctl restart traefik || ! systemctl is-active --quiet traefik; then
  install -m 0755 /root/traefik-upgrade-3.7.10/traefik-3.7.9 /usr/bin/traefik
  systemctl restart traefik
  echo "Обновление не удалось, выполнен откат до 3.7.9" >&2
  exit 1
fi
'

Команды завершились с кодом 0. Сообщение об откате не появилось: новая версия успешно запустилась с первого раза.


Этап 3. Проверка сервисов, VIP и HTTPS

Выполненные команды:

pct exec 301 -- traefik version
pct exec 301 -- systemctl is-active traefik crowdsec keepalived
pct exec 301 -- ip -4 -brief address show
pct exec 301 -- journalctl -u traefik --since "-3 minutes" --no-pager
pct exec 301 -- curl -fsS --resolve pve.qubo.su:443:192.168.1.9   -o /dev/null -w "HTTP %{http_code}\n" https://pve.qubo.su/

Фактический вывод:

Version:      3.7.10
Codename:     langres
Go version:   go1.26.5
Built:        2026-07-31T12:42:19Z
OS/Arch:      linux/amd64

active
active
active

lo               UNKNOWN        127.0.0.1/8
eth0@if18        UP             192.168.1.98/24 192.168.1.9/24

Aug 15 10:12:55 traefik traefik[3585]: level=INFO msg=handleStreamCache:updated component=CrowdsecBouncerTraefikPlugin
Aug 15 10:13:55 traefik traefik[3585]: level=INFO msg=handleStreamCache:updated component=CrowdsecBouncerTraefikPlugin
Aug 15 10:14:55 traefik traefik[3585]: level=INFO msg=handleStreamCache:updated component=CrowdsecBouncerTraefikPlugin

HTTP 200

Финальная сверка бинарника и резервных копий

Выполненные команды:

pct exec 301 -- sha256sum   /usr/bin/traefik   /root/traefik-upgrade-3.7.10/traefik

pct exec 301 -- stat -c "%n | %s bytes | %y"   /root/traefik-upgrade-3.7.10/traefik-3.7.9   /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz

Фактический вывод:

396d026294d79dc1bcd2acdcda596172c489b4caf0b6f03b1d1e8387b70af20e  /usr/bin/traefik
396d026294d79dc1bcd2acdcda596172c489b4caf0b6f03b1d1e8387b70af20e  /root/traefik-upgrade-3.7.10/traefik

/root/traefik-upgrade-3.7.10/traefik-3.7.9 | 182927522 bytes | 2026-07-25 08:36:26.746650509 +0600
/root/traefik-upgrade-3.7.10/etc-traefik.tar.gz | 172325 bytes | 2026-08-15 09:03:17.427693188 +0600

Установленный бинарник полностью совпадает с предварительно проверенным файлом 3.7.10.

Итоговый статус

  • Получено разрешение на выполнение.
  • Создана локальная резервная копия.
  • Загружен и проверен официальный архив Traefik 3.7.10.
  • Выполнена атомарная замена бинарника.
  • Traefik успешно перезапущен.
  • CrowdSec и keepalived остались активны.
  • VIP и HTTPS проверены.
  • Откат не потребовался.
  • Итоговый журнал опубликован.

Секреты, токены, приватные ключи и содержимое конфигурации/acme.json в журнал не включены.

## Итоговый журнал обновления — выполнено успешно Дата выполнения: **15 августа 2026 года**. ### Результат - Traefik обновлён: **3.7.9 → 3.7.10**. - `traefik.service`, `crowdsec.service`, `keepalived.service`: **active**. - VIP `192.168.1.9/24` остался на CT301. - HTTPS-проверка `pve.qubo.su`: **HTTP 200**. - CrowdSec bouncer продолжает получать обновления stream cache. - Автоматический откат не сработал и не потребовался. - Резервные копии сохранены в `/root/traefik-upgrade-3.7.10`. --- ### Этап 1. Резервная копия, загрузка и проверка Выполненные команды на `pve`: ```bash pct exec 301 -- install -d -m 700 /root/traefik-upgrade-3.7.10 pct exec 301 -- cp -a /usr/bin/traefik /root/traefik-upgrade-3.7.10/traefik-3.7.9 pct exec 301 -- tar -C /etc -czf /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz traefik pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/checksums.txt https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_checksums.txt pct exec 301 -- curl -fL --retry 3 -o /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz https://github.com/traefik/traefik/releases/download/v3.7.10/traefik_v3.7.10_linux_amd64.tar.gz pct exec 301 -- sh -lc 'cd /root/traefik-upgrade-3.7.10 && grep " traefik_v3.7.10_linux_amd64.tar.gz$" checksums.txt | sha256sum -c -' pct exec 301 -- tar -xzf /root/traefik-upgrade-3.7.10/traefik_v3.7.10_linux_amd64.tar.gz -C /root/traefik-upgrade-3.7.10 traefik pct exec 301 -- /root/traefik-upgrade-3.7.10/traefik version ``` Результат проверки архива: ```text traefik_v3.7.10_linux_amd64.tar.gz: OK Version: 3.7.10 Codename: langres Go version: go1.26.5 Built: 2026-07-31T12:42:19Z OS/Arch: linux/amd64 ``` Архив релиза: 48,1 МБ. Ошибок загрузки, распаковки и проверки SHA256 не было. --- ### Этап 2. Атомарная замена и перезапуск Выполненные команды: ```bash pct exec 301 -- install -m 0755 /root/traefik-upgrade-3.7.10/traefik /usr/bin/traefik.new pct exec 301 -- mv /usr/bin/traefik.new /usr/bin/traefik pct exec 301 -- sh -lc ' if ! systemctl restart traefik || ! systemctl is-active --quiet traefik; then install -m 0755 /root/traefik-upgrade-3.7.10/traefik-3.7.9 /usr/bin/traefik systemctl restart traefik echo "Обновление не удалось, выполнен откат до 3.7.9" >&2 exit 1 fi ' ``` Команды завершились с кодом `0`. Сообщение об откате не появилось: новая версия успешно запустилась с первого раза. --- ### Этап 3. Проверка сервисов, VIP и HTTPS Выполненные команды: ```bash pct exec 301 -- traefik version pct exec 301 -- systemctl is-active traefik crowdsec keepalived pct exec 301 -- ip -4 -brief address show pct exec 301 -- journalctl -u traefik --since "-3 minutes" --no-pager pct exec 301 -- curl -fsS --resolve pve.qubo.su:443:192.168.1.9 -o /dev/null -w "HTTP %{http_code}\n" https://pve.qubo.su/ ``` Фактический вывод: ```text Version: 3.7.10 Codename: langres Go version: go1.26.5 Built: 2026-07-31T12:42:19Z OS/Arch: linux/amd64 active active active lo UNKNOWN 127.0.0.1/8 eth0@if18 UP 192.168.1.98/24 192.168.1.9/24 Aug 15 10:12:55 traefik traefik[3585]: level=INFO msg=handleStreamCache:updated component=CrowdsecBouncerTraefikPlugin Aug 15 10:13:55 traefik traefik[3585]: level=INFO msg=handleStreamCache:updated component=CrowdsecBouncerTraefikPlugin Aug 15 10:14:55 traefik traefik[3585]: level=INFO msg=handleStreamCache:updated component=CrowdsecBouncerTraefikPlugin HTTP 200 ``` --- ### Финальная сверка бинарника и резервных копий Выполненные команды: ```bash pct exec 301 -- sha256sum /usr/bin/traefik /root/traefik-upgrade-3.7.10/traefik pct exec 301 -- stat -c "%n | %s bytes | %y" /root/traefik-upgrade-3.7.10/traefik-3.7.9 /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz ``` Фактический вывод: ```text 396d026294d79dc1bcd2acdcda596172c489b4caf0b6f03b1d1e8387b70af20e /usr/bin/traefik 396d026294d79dc1bcd2acdcda596172c489b4caf0b6f03b1d1e8387b70af20e /root/traefik-upgrade-3.7.10/traefik /root/traefik-upgrade-3.7.10/traefik-3.7.9 | 182927522 bytes | 2026-07-25 08:36:26.746650509 +0600 /root/traefik-upgrade-3.7.10/etc-traefik.tar.gz | 172325 bytes | 2026-08-15 09:03:17.427693188 +0600 ``` Установленный бинарник полностью совпадает с предварительно проверенным файлом 3.7.10. ### Итоговый статус - [x] Получено разрешение на выполнение. - [x] Создана локальная резервная копия. - [x] Загружен и проверен официальный архив Traefik 3.7.10. - [x] Выполнена атомарная замена бинарника. - [x] Traefik успешно перезапущен. - [x] CrowdSec и keepalived остались активны. - [x] VIP и HTTPS проверены. - [x] Откат не потребовался. - [x] Итоговый журнал опубликован. Секреты, токены, приватные ключи и содержимое конфигурации/`acme.json` в журнал не включены.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mvkirichenko/traefik-ha#1
No description provided.