Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PortainerとDocker Swarmで遊べる環境を作った話

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Yamato Yamato
August 24, 2020

PortainerとDocker Swarmで遊べる環境を作った話

Avatar for Yamato

Yamato

August 24, 2020
Tweet

More Decks by Yamato

Other Decks in Programming

Transcript

  1. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 お話したいこと • なぜ自前で作ったのか • Docker Swarm

    / Portainer とは • 作った環境の構成/デプロイまでのフロー • 感想 ※ 具体的な構築手順などは今回ありません。
  2. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 Docker Swarmとは? Docker Swarm • Dockerに含まれているクラスタリングツール

    • 複数のDockerホストを束ねて1つの仮想Dockerホストとして利用できる • 複数のサービス(コンテナ)をまとめたStackと呼ばれる単位で管理もできる • docker-compose.ymlとほぼ同じ書き方で構築することができる。    
  3. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 Portainerとは? Portainer •  Go製の軽量なWebGUI Docker管理ツール •

     Docker Imageが公式で用意されており、デプロイするだけで簡単に構築可能 •  WebAPIが用意されており、Webhookを利用したCD環境構築なども可能 •  有料で使える機能(Single Sign Onなど)もあるが、個人で使う分には不要
  4. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 なぜPortainer/Docker Swarmを選んだのか? • 色々アプリ作ってデプロイしていたが、 docker-compose x

    CLI だけでやるの疲れた ◦ WebGUIでサクサクやりたかった • 軽量で簡単に構築できるうえに APIが用意されていて、CD環境構築までできる ◦ 個人でやるときでも、 CI/CDは大切だと思う • k8sも考えたが、個人でやるにはオーバースペックすぎると感じた ◦ あくまでお安めの VPSでサクサク動いてほしかった
  5. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 構成 さくらVPSを3台使って構築しています • リバースプロキシ&SSL終端 • Docker

    Swarm & Portainer マネージャ • Docker Swarm & Portainer エージェント 6台写ってますが、3台は別用途のサーバです。
  6. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 構成図 Docker Swarm クラスタ Webサーバ Docker

    Swarmで構築されたクラスタ マネージャノードには Portainerをデプロイ エージェントノードには Portainer Agentをデプロイ (どちらもDockerでデプロイ) いずれもSSH以外のインバウンドアクセスは Webサーバからの接続しか許可していない。 (Firewalldで管理)
  7. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 デプロイの流れ Docker Swarm クラスタ Webサーバ Gitlab

    CIが起動 Docker imageをビルドして、 Gitlab Docker Registry にプッシュ
  8. ゆるWeb勉強会@札幌 OnLine #8 #ゆるWeb札幌 自分で作ってみた感想 • Web GUIで操作できるのが楽 ◦ CLIで入って作業することがなくなった

    • 気軽に起動しっぱなしのコンテナを建てれて楽しい ◦ 例えば、Herokuの無料枠は 1000時間/月 なので、2, 3つ建てると無料枠では足りなくなる • AWS ECS に対する感謝 ◦ あんなに簡単に構築できるって素晴らしい …… • データの永続化って難しい ◦ ホストのボリュームにデータが保存されるので、ホスト切り替えが大変。 今後の課題 などなど書いていますが ……