$30 off During Our Annual Pro Sale. View Details »

Kubernetes-Meetup-Tokyo-53

masayosu
October 06, 2022

 Kubernetes-Meetup-Tokyo-53

masayosu

October 06, 2022
Tweet

More Decks by masayosu

Other Decks in Technology

Transcript

  1. id:masayosu / @masayosu 2022/10/07 Kubernetes Meetup Tokyo #53 1 Kubernetesをより高度に

    活用するための一歩目
  2. 自己紹介 • @masayosu • 株式会社はてな 組織・基盤開発本部 プラットフォーム部 サービスプラットフォームチーム SRE •

    趣味 ◦ 登山、キャンプ、ゲーム 2
  3. 3 はてなにおける Kubernetesの取り組み

  4. はてなにおけるKubernetesの取り組み • 一部のチームのプロダクション環境で Kubernetesを利用 • クラウドプロバイダーが提供するマネージド サービス(EKS, GKE)を利用 • AWS

    ECS > AWS EKS 4
  5. Hatena Developer Blog https://developer.hatenastaff.com/entry/2022/02/03/100525 5

  6. Kubernetes Meetup Tokyo #52 https://speakerdeck.com/hayajo/kubernetes-meetup-tokyo-number-22-cfc51d31-6b4c-44f0-a715-5c3fe1f14650 6

  7. 2つの課題 • エンジニア組織の課題 ◦ Kubernetesの知見が利用しているチーム内に 閉じてしまっている • Kubernetes運用チームの課題 ◦ Kubernetesの運用はできているが使いこなせ

    ていない 7
  8. エンジニア組織の課題 • Kubernetesの知見が利用しているチーム内に 閉じてしまっている 8

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

  10. これまでの取り組みの成果 • コンテナチェックリスト • CloudNativeな環境におけるプラクティスを 社内に共有 ◦ CI/CD ◦ Batch

    Processing • EKSの社内標準構成の検討 • EKS構築ソンの実施(現在進行中) 10
  11. Kubernetes運用チームの課題 • Kubernetesの運用はできているが使いこなせ ていない 11

  12. Kubernetesを利用する理由 • より高度なDevOpsを実現するためにカスタ マイズができる ◦ Admission Webhook, CRD, CustomController を利用することで実現可能

    ◦ ただでさえ複雑なk8sのより難しい部分に触れて いく必要がある ▪ →学習が必要 12
  13. 13 学習アプローチ

  14. 知識をインプット • 2ヶ月間、週に1時間あつ まってもくもく会を実施 • Kubebuilderを利用した Admission Webhookや CustomControllerの開発方 法を学習

    14 https://zoetrope.github.io/kubebuilder-training/
  15. 手を動かす • 実際に手を動かす場として社内開発合宿を利用 • 社内開発合宿 ◦ モノづくりを楽しむ経験を通じて他チーム間の交流を深める ◦ 合宿は半期に1度、平日2日間にわたって開催 ◦

    まとまった時間を確保できる 15
  16. 16 成果物の紹介

  17. mackerel-container-agent-sidecar-injector • Pod作成時にmackerel-container-agentをサイド カーコンテナとして注入してくれるツール • AdmissionWebhookのMutatingの機能を利用 17

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

  19. 開発のモチベーション • Kubernetesでmackerel-container-agentの利用を 簡易にしたい ◦ Manifestに同じような記述を何度もしている 19

  20. 開発のモチベーション • 3年前にAdmissionWebhookを利用して開発されていた ◦ Kubebuilderを利用することで現代風に作り変える ◦ AdmissionWebhookの知見を実際に手を動かして得 ることができる 20

  21. GitHubでリポジトリを公開 21 https://github.com/mackerelio-labs/mackerel-container-agent-sidecar-injector

  22. 特徴的な機能の紹介 • KubernetesのSecretからMackerelのAPI keyを取得可能 ◦ Pod毎にMackrelのOrgを変更することが可能 • KubernetesのConfigmapからconfigファイルを取得可能 ◦ Pod毎に個別のmackerel-configを指定することがか可能

    • Helmチャートを公開 22
  23. 23 まとめ

  24. • Kubebuilderを利用したAdmissionWebhook拡張は第一歩 目にオススメ ◦ チーム横断組織のタスクとして現実的な時間で学べる範 囲の課題だった ◦ 現場ですぐに役立つ機能拡張を作ることができる • 今後も学びを継続してより高度にk8sを活用したい

    まとめ 24
  25. 25 ご静聴ありがとうございました