コンテンツにスキップ

デプロイとメンテナンス / アップグレードと再起動

この記事では、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 ではない場合は、Docker を自分でアップグレードし、ワンクリックインストールパッケージで再インストールしないでください

ホストマシンの Docker で DataFlux Func 以外のサービスも実行されている場合は、Docker の再インストールが業務に影響を与えるかどうかを確認してください。

ユーザーが reinstall を選択すると、Docker の再インストールを中断するために CTRL + C を押せるよう 10 秒間待機します:

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 を再インストールすることで「再起動」を行うこともできます。