$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をより高度に
    活用するための一歩目

    View Slide

  2. 自己紹介
    ● @masayosu
    ● 株式会社はてな
    組織・基盤開発本部
    プラットフォーム部
    サービスプラットフォームチーム
    SRE
    ● 趣味
    ○ 登山、キャンプ、ゲーム
    2

    View Slide

  3. 3
    はてなにおける
    Kubernetesの取り組み

    View Slide

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

    View Slide

  5. Hatena Developer Blog
    https://developer.hatenastaff.com/entry/2022/02/03/100525
    5

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. これまでの取り組みの成果
    ● コンテナチェックリスト
    ● CloudNativeな環境におけるプラクティスを
    社内に共有
    ○ CI/CD
    ○ Batch Processing
    ● EKSの社内標準構成の検討
    ● EKS構築ソンの実施(現在進行中)
    10

    View Slide

  11. Kubernetes運用チームの課題
    ● Kubernetesの運用はできているが使いこなせ
    ていない
    11

    View Slide

  12. Kubernetesを利用する理由
    ● より高度なDevOpsを実現するためにカスタ
    マイズができる
    ○ Admission Webhook, CRD, CustomController
    を利用することで実現可能
    ○ ただでさえ複雑なk8sのより難しい部分に触れて
    いく必要がある
    ■ →学習が必要
    12

    View Slide

  13. 13
    学習アプローチ

    View Slide

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

    View Slide

  15. 手を動かす
    ● 実際に手を動かす場として社内開発合宿を利用
    ● 社内開発合宿
    ○ モノづくりを楽しむ経験を通じて他チーム間の交流を深める
    ○ 合宿は半期に1度、平日2日間にわたって開催
    ○ まとまった時間を確保できる
    15

    View Slide

  16. 16
    成果物の紹介

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. 23
    まとめ

    View Slide

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

    View Slide

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

    View Slide