Slide 1

Slide 1 text

Kubernetes撤退、 その後のはてなの取り組み id:hayajo_77 / @hayajo 2022/8/17 Kubernetes Meetup Tokyo #52 1

Slide 2

Slide 2 text

自己紹介 ● 今井隼人 ● id:hayajo_77, @hayajo ● 株式会社はてな ● Mackerelチーム ● SRE 2

Slide 3

Slide 3 text

3 Mackerel?

Slide 4

Slide 4 text

SaaS型サーバー監視サービス 4 https://mackerel.io/

Slide 5

Slide 5 text

5 Mackerelにおける Kubernetes導入・撤退の 振り返り

Slide 6

Slide 6 text

Kubernetes Meetup Tokyo #22 6 https://speakerdeck.com/hayajo/kubernetes-meetup-tokyo-number-22

Slide 7

Slide 7 text

Kubernetesの導入目的 ● コンテナ運用のキャッチアップ ● ドッグフーディング ● インフラ管理コストの削減 7

Slide 8

Slide 8 text

Amazon EC2でKubernetesクラスタを構築 ● レイテンシを考慮するとAWS以外での運用は 難しい ● 当時は日本リージョンにAmazon EKSが提供 されていなかった 8

Slide 9

Slide 9 text

Kubernetesの撤退理由 ● 高い学習コスト ● 運用リソース不足 ● クラスタアップデートへの対応の遅れ 9

Slide 10

Slide 10 text

10 Mackerelでは (一時的に)Kubernetesを撤退したが、 はてなとして Kubernetesを撤退したわけではない

Slide 11

Slide 11 text

11 現在の はてなにおける Kubernetesへの取り組み

Slide 12

Slide 12 text

12 導入・運用

Slide 13

Slide 13 text

サービスプラットフォームチームの事例 13 https://developer.hatenastaff.com/entry/2022/02/03/100525 https://speakerdeck.com/masayoshimaezawa/hatena-engineer-semi nar-number-20

Slide 14

Slide 14 text

Amazon EKS導入の背景 ● 社内にKubernetesの知見を広める ● 新旧多くのサービスを効率的に運用したい ● エコシステムとGitOpsを利用し、自動的で統 一されたリリースを実現したい 14

Slide 15

Slide 15 text

ビジネスプラットフォームチームの事例 15 https://blog.pokutuna.com/entry/born-digital-summit-2022

Slide 16

Slide 16 text

Google Kubernetes Engine導入の背景 ● マネージドサービスの利用で運用を省力化 ● ElasticSearchからBigQueryへ移行してコス ト改善 ● システムをクラウドネイティブ化 16

Slide 17

Slide 17 text

17 普及・学習

Slide 18

Slide 18 text

チームを横断した組織で取り組む 18 チームA チームB チームC SRE標準化委員会 CloudNative推進会

Slide 19

Slide 19 text

社内システム標準構成の提案 ● チームごとにシステム構成はさまざま ● 標準構成を採用することで運用知見や ツールを共有し、システム構築・運用の 効率化、省力化を目指す ● 多くのチームではAmazon ECSを採用し ているが、EKS/GKEも選択可能にする 19

Slide 20

Slide 20 text

EKS社内標準構成の検討 ● 社内システム標準構成のEKS部分 ● 周辺ツールやサービスの調査と検証 ● EKS, Kuberenetesの学習 20

Slide 21

Slide 21 text

デプロイフローの共通化 ● デプロイ効率の向上 ● 知見やツールの共有 ● 学習コストの低減 ● 社内標準ツールとして ecspresso(ECS), ArgoCD(EKS)を採用 ● GitOpsを基本として設計 21

Slide 22

Slide 22 text

ツール、ライブラリの開発・提供 ● Terraform module, AWS CDK library ● GitHub ActionsのComposite Actionや Reusable Workflow ● Mackerelプラグインや周辺監視ツール 22

Slide 23

Slide 23 text

mackerel-container-agent-sidecar-injectorの開発 23 https://developer.hatenastaff.com/entry/2022/08/17/093000

Slide 24

Slide 24 text

mackerel-container-agent-sidecar-injectorの開発 24 ● Kubernetesを使いこなせていないという課題意識 ● 開発を通してCRD, CustomController, AdmissionWebhookなどを学ぶ

Slide 25

Slide 25 text

25 これからの はてなにおける Kubernetesへの取り組み

Slide 26

Slide 26 text

さらなるKubernetesの普及と学習 ● 社内向けのシステムなど、リスクが少ないと ころからEKSを導入して多くのエンジニアが Kubernetesに触れる機会を増やす ● 社内勉強会など、Kubernetesの学びの機会を 提供する 26

Slide 27

Slide 27 text

Mackerelでは... ● はてなのKubernetesの運用知見をサービスへ反映 ● クラスタ監視のさらなる知見を得るために、システ ムをECSからEKSへ移行 ● OpenTelemetryやメトリックのラベル対応など、 Kubernetesを含めたクラウドネイティブなシステ ムへの親和性を高める 27

Slide 28

Slide 28 text

28 まとめ

Slide 29

Slide 29 text

まとめ 29 ● はてなではいくつかのチームでKuberentesを 導入して運用している ● チームを横断した組織でKubernetesの普及・ 学習に取り組んでいる ● 今後も積極的にKubernetesを導入し、その運 用知見をサービスへ反映していく

Slide 30

Slide 30 text

30 curl -sIL mackerel.io | grep career