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

Kubernetes撤退、 その後のはてなの取り組み / kubernetes meetup tokyo number 52

Kubernetes撤退、 その後のはてなの取り組み / kubernetes meetup tokyo number 52

Hayato Imai

August 17, 2022
Tweet

More Decks by Hayato Imai

Other Decks in Technology

Transcript

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

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

    • SRE 2
  3. 3 Mackerel?

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

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

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

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

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

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

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

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

  12. 12 導入・運用

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

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

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

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

    16
  17. 17 普及・学習

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

  19. 社内システム標準構成の提案 • チームごとにシステム構成はさまざま • 標準構成を採用することで運用知見や ツールを共有し、システム構築・運用の 効率化、省力化を目指す • 多くのチームではAmazon ECSを採用し

    ているが、EKS/GKEも選択可能にする 19
  20. EKS社内標準構成の検討 • 社内システム標準構成のEKS部分 • 周辺ツールやサービスの調査と検証 • EKS, Kuberenetesの学習 20

  21. デプロイフローの共通化 • デプロイ効率の向上 • 知見やツールの共有 • 学習コストの低減 • 社内標準ツールとして ecspresso(ECS),

    ArgoCD(EKS)を採用 • GitOpsを基本として設計 21
  22. ツール、ライブラリの開発・提供 • Terraform module, AWS CDK library • GitHub ActionsのComposite

    Actionや Reusable Workflow • Mackerelプラグインや周辺監視ツール 22
  23. mackerel-container-agent-sidecar-injectorの開発 23 https://developer.hatenastaff.com/entry/2022/08/17/093000

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

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

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

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

    27
  28. 28 まとめ

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

    用知見をサービスへ反映していく
  30. 30 curl -sIL mackerel.io | grep career