Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
id:masayosu / @masayosu 2022/10/07 Kubernetes Meetup Tokyo #53 1 Kubernetesをより高度に 活用するための一歩目
Slide 2
Slide 2 text
自己紹介 ● @masayosu ● 株式会社はてな 組織・基盤開発本部 プラットフォーム部 サービスプラットフォームチーム SRE ● 趣味 ○ 登山、キャンプ、ゲーム 2
Slide 3
Slide 3 text
3 はてなにおける Kubernetesの取り組み
Slide 4
Slide 4 text
はてなにおけるKubernetesの取り組み ● 一部のチームのプロダクション環境で Kubernetesを利用 ● クラウドプロバイダーが提供するマネージド サービス(EKS, GKE)を利用 ● AWS ECS > AWS EKS 4
Slide 5
Slide 5 text
Hatena Developer Blog https://developer.hatenastaff.com/entry/2022/02/03/100525 5
Slide 6
Slide 6 text
Kubernetes Meetup Tokyo #52 https://speakerdeck.com/hayajo/kubernetes-meetup-tokyo-number-22-cfc51d31-6b4c-44f0-a715-5c3fe1f14650 6
Slide 7
Slide 7 text
2つの課題 ● エンジニア組織の課題 ○ Kubernetesの知見が利用しているチーム内に 閉じてしまっている ● Kubernetes運用チームの課題 ○ Kubernetesの運用はできているが使いこなせ ていない 7
Slide 8
Slide 8 text
エンジニア組織の課題 ● Kubernetesの知見が利用しているチーム内に 閉じてしまっている 8
Slide 9
Slide 9 text
チームを横断した組織で取り組む 9 チームA チームB チームC SRE標準化委員会 CloudNative推進会
Slide 10
Slide 10 text
これまでの取り組みの成果 ● コンテナチェックリスト ● CloudNativeな環境におけるプラクティスを 社内に共有 ○ CI/CD ○ Batch Processing ● EKSの社内標準構成の検討 ● EKS構築ソンの実施(現在進行中) 10
Slide 11
Slide 11 text
Kubernetes運用チームの課題 ● Kubernetesの運用はできているが使いこなせ ていない 11
Slide 12
Slide 12 text
Kubernetesを利用する理由 ● より高度なDevOpsを実現するためにカスタ マイズができる ○ Admission Webhook, CRD, CustomController を利用することで実現可能 ○ ただでさえ複雑なk8sのより難しい部分に触れて いく必要がある ■ →学習が必要 12
Slide 13
Slide 13 text
13 学習アプローチ
Slide 14
Slide 14 text
知識をインプット ● 2ヶ月間、週に1時間あつ まってもくもく会を実施 ● Kubebuilderを利用した Admission Webhookや CustomControllerの開発方 法を学習 14 https://zoetrope.github.io/kubebuilder-training/
Slide 15
Slide 15 text
手を動かす ● 実際に手を動かす場として社内開発合宿を利用 ● 社内開発合宿 ○ モノづくりを楽しむ経験を通じて他チーム間の交流を深める ○ 合宿は半期に1度、平日2日間にわたって開催 ○ まとまった時間を確保できる 15
Slide 16
Slide 16 text
16 成果物の紹介
Slide 17
Slide 17 text
mackerel-container-agent-sidecar-injector ● Pod作成時にmackerel-container-agentをサイド カーコンテナとして注入してくれるツール ● AdmissionWebhookのMutatingの機能を利用 17
Slide 18
Slide 18 text
mackerel-container-agent-sidecar-injectorの開発 18 https://developer.hatenastaff.com/entry/2022/08/17/093000
Slide 19
Slide 19 text
開発のモチベーション ● Kubernetesでmackerel-container-agentの利用を 簡易にしたい ○ Manifestに同じような記述を何度もしている 19
Slide 20
Slide 20 text
開発のモチベーション ● 3年前にAdmissionWebhookを利用して開発されていた ○ Kubebuilderを利用することで現代風に作り変える ○ AdmissionWebhookの知見を実際に手を動かして得 ることができる 20
Slide 21
Slide 21 text
GitHubでリポジトリを公開 21 https://github.com/mackerelio-labs/mackerel-container-agent-sidecar-injector
Slide 22
Slide 22 text
特徴的な機能の紹介 ● KubernetesのSecretからMackerelのAPI keyを取得可能 ○ Pod毎にMackrelのOrgを変更することが可能 ● KubernetesのConfigmapからconfigファイルを取得可能 ○ Pod毎に個別のmackerel-configを指定することがか可能 ● Helmチャートを公開 22
Slide 23
Slide 23 text
23 まとめ
Slide 24
Slide 24 text
● Kubebuilderを利用したAdmissionWebhook拡張は第一歩 目にオススメ ○ チーム横断組織のタスクとして現実的な時間で学べる範 囲の課題だった ○ 現場ですぐに役立つ機能拡張を作ることができる ● 今後も学びを継続してより高度にk8sを活用したい まとめ 24
Slide 25
Slide 25 text
25 ご静聴ありがとうございました