Fedora CoreOSへの切り替えを完了

社内インフラ

先日の投稿記事「MariaDB10.1→10.4アップグレード」でも軽く触れていましたが、弊社のホームページやメールサーバーはConoHa VPS上のCoreOS Container Linuxサーバー+Dockerで運用していました。

今年の1月からCoreOS Container LinuxサーバーにメンテナンスのためSSHでログインすると

CoreOS Container Linux is no longer maintained or updated.
Migrate your workloads to another operating system!
For more info, see https://coreos.com/os/eol/

のメッセージが表示されています。

調べたところ、2020年1月17日にFedora CoreOSが一般提供されたから「CoreOS Container Linuxは今後メンテナスされなくなるので他のOSに移行してね!」とのことです。

それをうけて、弊社でも2月からFedora CoreOSへの移行作業を開始したのですが、移行作業中にFedora CoreOSのLive ISOイメージをConoHa VPSにマウントしてインストールしようとするとエラーで止まってしまうという現象が発生しました。

エラーの出なかった過去バージョンのFedora CoreOSからインストールしようと試みたのですが、過去バージョンの在りかがわからず、またお客さまの業務が忙しい時期になったこともあり移行作業をいったん中断していました。

お客さまの業務が落ち着いた6月になって再度Live ISOからのインストールを試みたところ、ConoHa VPS上に問題なくFedora CoreOSのインストールができるようになっています。

それからしばらく下記のような問題で四苦八苦しながらも、昨日ようやくFedora CoreOSへの移行が完了しました。

  1. パッケージ(ツール類)の追加
    CoreOS Container Linuxではtoolboxコンテナを起動してOS本体に含まれていないパッケージやツール類を利用することができたのですが、Fedora CoreOSではtoolboxが起動しません。
    (※ コンテナなので起動させようと思えば起動するのですが…)
    Fedora CoreOSではrpm-ostreeを使いOS本体に含まれていないパッケージをインストールするとのことです。
    (※ OSバージョンアップ時に副作用が出る可能性があるので使用には注意した方が良いらしい…)
  1. コンテナエンジンの変更
    Fedora CoreOSではコンテナエンジンがDockerからPodmanへと変更になっています。
    Dockerもインストールすれば使用できるのですが、PodmanはほぼDocker互換なのでそのままPodmanで移行することにしました。
    root権限での実行と非root権限での実行が明確に分離されていますので、podman ps -aでは非root権限で実行されたコンテナのみが表示されます。
    そのため、sudo systemctl startで起動したコンテナが見つからないということもありました。
    また、基本的にコンテナ間通信は127.0.0.1のポートで行われるとのことでしたので、Webサーバーのnginxコンテナからphp-fpmコンテナへ127.0.0.1:9000で接続したところphp-fpmで処理してくれないという現象が発生しました。
    しばらく原因がわかりませんでしたが、Podを作成し、そのPodに参加させることによりコンテナ間通信が行われるということで解決に至りました。

ConoHa VPS上へのFedora CoreOSインストールから各種サーバーの運用までは弊社公開Wikiページで公開していきます。

コメント

タイトルとURLをコピーしました