Pro Yearly is on sale from $80 to $50! »

Mastodon on Kubernetes

Mastodon on Kubernetes

Kubernetes Meetup Tokyo #4
◼︎ EventPage: https://k8sjp.connpass.com/event/53737/
◼︎ Youtube: https://youtu.be/GlbPk0mHgcs?t=2h13m52s

71d7f6cdf5b1934a1b69f0624f5a7523?s=128

Aya (Igarashi) Ozawa

April 20, 2017
Tweet

Transcript

  1. Mastodon on Kubernetes Mastodon Kubernetes Meetup Tokyo #4 on Kubernetes

  2. ABOUT ME INTRODUCTION AYA IGARASHI @Ladicle NTT Communications Software Engineer

  3. ABOUT ME INTRODUCTION SoftwareDesign Linux入門 コンピュータはどうやって通 信するのか? 新人さんにプレゼントし てください :D

  4. を知っていますか? Mastodon

  5. ここ1週間 やたらと話題のアレです

  6. AGENDA INTRODUCTION Mastodonとは? 02 01 03 04 OVERVIEW DEPLOYING DEMO

    SUMMARY Kubernetes上でどうやって構築するのか? 時間があれば実物(?)みせます まとめ
  7. Mastodonとは? OVERVIEW • 見た目がTweetDeckなOSSのSNS • OStatusをサポートしている 特徴 管理 • Githubのtootsuite/mastodon

  8. • Atom ◦ コンテンツ配信(RSSの仲間)と編集用 • Activity Streams ◦ 記事情報以外にも対応したAtomの拡張 •

    Salmon ◦ 分散した記事に対するコメントを付ける • Webfinger ◦ ユーザ(人)を識別するURI • PubSubHubbub ◦ 変更をリアルタイムに通知するPub/Subモデル OStatusとは? OVERVIEW 構成テクノロジ例 対応ソフトェア • GNUsocial • Mastodon • Diaspora etc... W3Cで定められている複数のテクノロジを組み合わせた分散マイクロブロ ギングのためのオープンな仕様のこと。(XML全盛期感) Mastodonでなくても OStatus対応ならリモート フォローできるよ
  9. Mastodonの構成 OVERVIEW /api/v1/streaming /*

  10. Kubernetes 上に乗せると どうなるのか?

  11. MastodonのChart DEPLOYING https://github.com/Ladicle/mastodon-chart 今回Kubernetes上に建てたMastodonのHelm(k8s用のパッケージマ ネージャ)Chartは公開しているのでご利用ください :)

  12. Kubernetes上の構成 DEPLOYING Ingress Controller Kube lego service service service service

    service ReplicaSet ReplicaSet ReplicaSet ReplicaSet ReplicaSet assets system data data Deployment Hook CronJob PersistentVolume (Pod) (Pod) mount mount
  13. Kubernetes上の構成 DEPLOYING Ingress Controller Kube lego service service service service

    service ReplicaSet ReplicaSet ReplicaSet ReplicaSet ReplicaSet assets system data data Deployment Hook CronJob PersistentVolume (Pod) (Pod) 日時実行の CleanUpタスク Install / Upgradeに Hook Let’sEncrypt対応
  14. ルーティング DEPLOYING /api/v1/streaming /* service service Ingress Controller Simple fanout

    Name based virtual hosting mastodon.ladicle.com
  15. ルーティング DEPLOYING /api/v1/streaming /* service service Ingress Controller mastodon.ladicle.com ladicle.ddns.net

    CNAMEで DDNSドメインへ
  16. Kubernetes最高! DEPLOYING compose使うと手動でアップデートのたびにコマンドを打つ必要がある が、KubernetesにはEventHookやCronJobでコマンド流せるので自動 化できる 毎回やるのは面倒だね!

  17. おわりに SUMMARY • Kubernetes上でもMastodonできる! • 色々な機能を使うのでk8sの練習に • 個人インスタンスで脱中央集権化 • 自ドメインでアカウント証明

    まとめ • インスタンスのスケールアウト • Prometheusによるモニタリング 次やること
  18. 参考リンク REFERENCES • tootsuite/mastodon ◦ https://github.com/tootsuite/mastodon • Atom ◦ https://www.ietf.org/wg/concluded/atompub

    • OStatus ◦ https://www.w3.org/community/ostatus/wiki/Main_Page • Salmon Protocol ◦ http://www.salmon-protocol.org/ • WebFinger ◦ https://webfinger.net/ • PubsubHubbub ◦ https://github.com/pubsubhubbub/ • Activity Stream ◦ http://activitystrea.ms/
  19. Thanks For Watching! See you next time