Qithub-BOT / Qithub-ORG

✅ Qithub サークルのメインリポジトリ。運用/ルール/全リポジトリの Issue など取りまとめています。
https://Qithub.tk/
Creative Commons Attribution Share Alike 4.0 International
10 stars 2 forks source link

【相談】サーバーの OS を CoreOS + Docker ベースにしたい #176

Closed KEINOS closed 4 years ago

KEINOS commented 5 years ago

相談

サーバーの OS を CentOS から CoreOS に変更して、各種機能の実装を Docker ベースにしたい。

自分の案

現在のサーバーの構成は煩雑で、仕様も複雑な気がします。開発がしづらいと感じます。

そもそも現在のサーバーは Wordpress を動かしていた環境を引き継いだため、CentOS + Kusanagi + HHVM ベースで動かしていました。しかし、Wordpress 使っていない+ HHVM 互換を考えるのが面倒 + HHVM が PHP の扱いを止めなどの理由もあり、普通に PHP7 で動かしたいと感じるようになりました。

つまりは、サーバーの構成を KISS したいのです。

そこで OS を、至極シンプルな構成の CoreOS 社の ContainerLinux(旧CoreOS)に変えて、Docker で機能追加する方が良いのではと感じています。

これにより、OS 側で必要なライブラリを用意しなくても、サービス毎に Docker イメージ(or Dockerfile)を用意すれば開発も環境依存せずにドッカンドッカン作れるのでは、と。

理想のイメージとしては、Nginx-proxy を 80/443 ポートの窓口にして、各々のサービスのコンテナにクエリを渡して返すだけの API に特化した構成が良いと考えています。

https://qithub.tk/<container name>/  → リクエスト内容が <container name> のコンテナに渡される

年末の年越しでできればと考えています。ご意見、ご要望お待ちしていまーす。

補足

実のところ Minecraft のサーバーを建てたいと思ったのですが、依存の検証やリカバリーを考えると Docker のコンテナで導入した方が楽じゃないかというところから始まっているのですが。

TL;DR(結論 2020/01/20 現在)


hidao80 commented 5 years ago

Docker採用案に👍

私も最近Vagrant使い始めたのですが、(Win10HomeでDockerするのは難しくて挫折しました…)仮想環境はアプリ相互に干渉せず、かつリストアが簡単なので支持します。

本当にやりたいことはbot作成+αなので、鯖缶に頭を悩ませることを減らせるなら減らして行く方向でいいと考えます。

KEINOS commented 5 years ago

【相談】

現在 OS を CoreOS、RancherOS と BargeOS で悩んでいます。

クラスタとかも組む予定はなく、シングル・サーバーで Docker 専用 OS であれば何でもいいのですが、、、

GitHub からの WebHook が届いたら、git pull origin master されて、メインの docker-compose.yml が再構築される程度のシンプルな構成にしたいと考えています。

以下の挙動を考えた場合、どの OS を使うのが楽ですかね。

version: "3"

volumes:
  data_qiita_items:

services:
  my_service1:
    build:
      context: https://github.com/Qithub-BOT/my_service1.git
    volumes:
      - "data_qiita_items:/data"
    container_name: my_service1
  my_service2:
    build:
      context: https://github.com/Qithub-BOT/my_service2.git
    volumes:
      - "data_qiita_items:/data"
    container_name: my_service2
hidao80 commented 5 years ago

@KEINOS Docker周りは不勉強なので、今しがたざっと公式とQiitaを眺めただけの知識ですが、各ディストリビューションの特徴は以下のようなものだと把握しています。

ディストリビューション 特徴
CoreOS POSIX互換機能が使える。Red Hatと絡みあり
RancherOS 基本機能もDockerに格納し、docker-compose も Docker内から行う。Docker以外の機能を限界までオミット。Web UIあり
BargeOS Vagrantでも仮想化ができる

上記特徴を考慮すると、

という印象です。

ので、Vagrant派の私としてはBargeOSを押したいところですが、POSIX互換機能が使えるという点ではCoreOSがイチ押しです。 もうDocker以外OSの機能は触らないぜ! という覚悟があるならRancherOSもありですが、そうは問屋が卸してくれそうにありません…

結論

CoreOS でどうでしょうか。

KEINOS commented 5 years ago

CoreOS でどうでしょうか。

これにしますか。Core だけに。

hidao80 commented 4 years ago

@KEINOS https://qiitadon.com/@KEINOS/103507403413926783 より抜粋:

VPS の Fedora CoreOS 化、VirtualBOX で予行練習もしたのに、実際に作業を始めると肝心の VPS > 側が予定通りの動きをしてくれない。😭

公式ドキュメントも Qiita 記事も古い情報ばかりだ。うーむ...🤔

情報がポンポン変わるから人柱になって記事に書く気力もナッシング。そら記事も古いものばかりになるわけだ。どうしたものか。

鯖缶の手間を減らすための CoreOS 採用だったはずなのに、そこでお手をわずらわせるのは大変アレです。

なので、いっそのことサーバ OS は CentOS に戻し、勝手のわかっている CentOS 上で Docker 使えばいいのではないでしょうか。

CentOS を最小構成を更地で作り直し、そこで Docker するのが確実かなー、と思ったりする次第です。 いかがでしょう?

KEINOS commented 4 years ago

@hidao80 CentOS を最小構成を更地で作り直し、そこで Docker するのが確実かなー、と思ったりする次第です。

結論から言うと、アドバイス通り CentOS を最小構成を更地で作り直し、そこで Docker することにしました。

RancherOS も試してみましたが、結局勝手がわからないので、意外なほど好き勝手できないのと、トラブルシューティングが難しくなると感じたからです。

なので、「CentOS + Docker ベースにする」ということで Close したいと思います。