Rancherの設定を永続化する覚え書き

シェアする

Docker環境のオーケストレーションツールである、Rancherを触り始めてみた。が、再起動するたびに設定が消えてしまって困っていたが、ごく当たり前の理由によってそうなっていたのだった。

デフォルトでは、Rancher自体はDockerにより動作するため設定が保存されない。別途保存する設定を行わない場合、当該コンテナが再起動された時点ですべての設定が水の泡となってしまう。
ここでは、そのRancher自体の設定を永続化する方法を記録する。RancherOSの場合は、後述の制限事項があるので注意する。

この設定をしても、Rancherから起動されるDockerコンテナについては永続化されない。別途設定が必要となる。

Rancherの設定を永続化して起動するには、次のコマンドを用いて起動する。
docker run -d -v /opt/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server
-vオプションにより、コンテナ内の/var/lib/mysqlを実マシンの/opt/mysqlにマウントしている。こうすることで、Rancher自体の設定が記録されるMySQLデータベースが/opt/mysqlに保存されるようになる。
–restart=unless-stoppedにより、ホストが再起動された際、コンテナが異常終了した際にコンテナが自動起動するようになる。ホストのシャットダウン時にコンテナが停止していた場合は自動起動されない。

RancherOSを利用している場合の注意

RancherOSを使用してRancherを起動した場合、一部のディレクトリを除いてRancherOSは揮発性であるため、再起動時にファイルが消失してしまう。
デフォルトでは、次のディレクトリが永続化用に用意されている。このディレクトリに保存したデータは再起動しても消失しない。
/opt, /home, /var/lib/kubelet
その他のディレクトリも永続化されるものはあるが、ユーザーが使用することを想定したものではない。

詳細については、System Docker Volumesを参照。

広告