Kubernetes撤退、その後のはてなの取り組みid:hayajo_77 / @hayajo2022/8/17 Kubernetes Meetup Tokyo #521
View Slide
自己紹介● 今井隼人● id:hayajo_77,@hayajo● 株式会社はてな● Mackerelチーム● SRE2
3Mackerel?
SaaS型サーバー監視サービス4https://mackerel.io/
5MackerelにおけるKubernetes導入・撤退の振り返り
Kubernetes Meetup Tokyo #226https://speakerdeck.com/hayajo/kubernetes-meetup-tokyo-number-22
Kubernetesの導入目的● コンテナ運用のキャッチアップ● ドッグフーディング● インフラ管理コストの削減7
Amazon EC2でKubernetesクラスタを構築● レイテンシを考慮するとAWS以外での運用は難しい● 当時は日本リージョンにAmazon EKSが提供されていなかった8
Kubernetesの撤退理由● 高い学習コスト● 運用リソース不足● クラスタアップデートへの対応の遅れ9
10Mackerelでは(一時的に)Kubernetesを撤退したが、はてなとしてKubernetesを撤退したわけではない
11現在のはてなにおけるKubernetesへの取り組み
12導入・運用
サービスプラットフォームチームの事例13https://developer.hatenastaff.com/entry/2022/02/03/100525https://speakerdeck.com/masayoshimaezawa/hatena-engineer-seminar-number-20
Amazon EKS導入の背景● 社内にKubernetesの知見を広める● 新旧多くのサービスを効率的に運用したい● エコシステムとGitOpsを利用し、自動的で統一されたリリースを実現したい14
ビジネスプラットフォームチームの事例15https://blog.pokutuna.com/entry/born-digital-summit-2022
Google Kubernetes Engine導入の背景● マネージドサービスの利用で運用を省力化● ElasticSearchからBigQueryへ移行してコスト改善● システムをクラウドネイティブ化16
17普及・学習
チームを横断した組織で取り組む18チームA チームB チームCSRE標準化委員会CloudNative推進会
社内システム標準構成の提案● チームごとにシステム構成はさまざま● 標準構成を採用することで運用知見やツールを共有し、システム構築・運用の効率化、省力化を目指す● 多くのチームではAmazon ECSを採用しているが、EKS/GKEも選択可能にする19
EKS社内標準構成の検討● 社内システム標準構成のEKS部分● 周辺ツールやサービスの調査と検証● EKS, Kuberenetesの学習20
デプロイフローの共通化● デプロイ効率の向上● 知見やツールの共有● 学習コストの低減● 社内標準ツールとしてecspresso(ECS),ArgoCD(EKS)を採用● GitOpsを基本として設計21
ツール、ライブラリの開発・提供● Terraform module, AWS CDK library● GitHub ActionsのComposite ActionやReusable Workflow● Mackerelプラグインや周辺監視ツール22
mackerel-container-agent-sidecar-injectorの開発23https://developer.hatenastaff.com/entry/2022/08/17/093000
mackerel-container-agent-sidecar-injectorの開発24● Kubernetesを使いこなせていないという課題意識● 開発を通してCRD, CustomController,AdmissionWebhookなどを学ぶ
25これからのはてなにおけるKubernetesへの取り組み
さらなるKubernetesの普及と学習● 社内向けのシステムなど、リスクが少ないところからEKSを導入して多くのエンジニアがKubernetesに触れる機会を増やす● 社内勉強会など、Kubernetesの学びの機会を提供する26
Mackerelでは...● はてなのKubernetesの運用知見をサービスへ反映● クラスタ監視のさらなる知見を得るために、システムをECSからEKSへ移行● OpenTelemetryやメトリックのラベル対応など、Kubernetesを含めたクラウドネイティブなシステムへの親和性を高める27
28まとめ
まとめ29● はてなではいくつかのチームでKuberentesを導入して運用している● チームを横断した組織でKubernetesの普及・学習に取り組んでいる● 今後も積極的にKubernetesを導入し、その運用知見をサービスへ反映していく
30curl -sIL mackerel.io | grep career