跳轉至

部署和維護 / 升級和重啓

本文主要介紹如何升級和重啓 DataFlux Func。

1. 升級系統

當前版本的 DataFlux Func 在升級時,不需要額外特殊操作,按照正常安裝步驟使用新版本安裝即可。

安裝腳本會自動識別已經安裝的 DataFlux Func,並完成關閉服務,更換鏡像,重新啓動的一系列操作。

此外,在 DataFlux Func 首次安裝後,會將安裝目錄寫入 /etc/dataflux-func 文件,因此在升級時,安裝腳本也能夠自動找到之前的安裝目錄,用户所有的數據都會保留。

可以在命令行中使用 cat /etc/dataflux-func 查看當前記錄的安裝目錄

詳細安裝文檔請參考 部署和維護 / 安裝部署 / 單機部署

1.2 自動更新 Docker 版本

不同版本的 DataFlux Func 所附帶的 Docker 版本可能不同:

DataFlux Func 版本 附帶的 Docker 版本
5.1.0 及以後 24.0.9
3.4.0 ~ 5.0.5 23.0.6
3.3.3 及以前 20.10.8

因此,在升級 DataFlux Func 版時,自動安裝腳本會檢測當前 Docker 版本並提示是否重新安裝 Docker:

Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
The current version of the DataFlux Func prefers another version of Docker
  Current Docker (docker --version):
    -> 20.10.8
  DataFlux Func prefers:
    -> 23.0.6

Reinstalling Docker will stop the docker service and shut down all running containers, this will make all your service unavailable!

Do you want to reinstall the Docker 23.0.6 (current: 20.10.8) ?
  -> abort    : Stop and do nothing
  -> skip     : Skip reinstalling Docker, use current version of Docker and continue to install DataFlux Func
  -> reinstall: Reinstall Docker and install DataFlux Func
Your choice:

用户可以輸入需要進行的具體操作:

輸入 説明
abort 中斷安裝,什麼都不要做
skip 不要更新 Docker,直接升級 DataFlux Func
reinstall 重新新版本 Docker,之後升級 DataFlux Func

如果宿主機中的 Docker 不是由 DataFlux Func 安裝包自動安裝的 Docker,請自行升級 Dockers,請勿使用一鍵安裝包重新安裝

如果宿主機的 Docker 除了 DataFlux Func 以外,還運行有服務,請確認重新安裝 Docker 是否會對業務產生影響

在用户選擇 reinstall 後,會有 10 秒時間等待用户按 CTRL + C 中斷重新安裝 Docker:

Text Only
1
2
3
Your choice: reinstall
[Reinstall Docker and install DataFlux Func]
You have 10 second to interrupt this action by pressing CTRL + C

2. 重啓系統

需要重新啓動時,請按照以下步驟進行:

  1. 使用 docker stack rm dataflux-func 命令,關停 DataFlux Func(此步驟可能需要一定時間)
  2. 使用 docker ps 確認所有容器都已經退出
  3. 使用 docker stack deploy dataflux-func -c {安裝目錄}/docker-stack.yaml --resolve-image never 重啓所有服務

由於安裝包中的鏡像文件本身已經導入本地,加上 --resolve-image never 參數可以避免 Docker 在啓動容器時進行無意義的鏡像檢查

如果嫌麻煩,你也可以使用原來的安裝包重新安裝一遍 DataFlux Func 來完成「重啓」