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

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

Hayato Imai
August 17, 2022

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  11. 12
    導入・運用

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. 17
    普及・学習

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  28. 30
    curl -sIL mackerel.io | grep career

    View full-size slide