Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Z Lab の教育への取組 / Cloud Native Education Efforts ...
Search
Takashi Kusumi
September 25, 2019
Technology
7
1.4k
Z Lab の教育への取組 / Cloud Native Education Efforts at Z Lab
Cloud Native Deep Dive #5
https://deepcn.connpass.com/event/143049/
Takashi Kusumi
September 25, 2019
Tweet
Share
More Decks by Takashi Kusumi
See All by Takashi Kusumi
Recap: eBPF セッションつまみ食い / eBPF sessions @ KubeCon EU 2023
tksm
1
3.6k
Unit Testing for Prometheus Rules
tksm
6
2.8k
Recap: Securing Kubernetes with Admission Controllers
tksm
2
1.5k
Istio Mutual TLS
tksm
0
690
Debugging Applications in Kubernetes
tksm
16
4k
Kubernetes with Prometheus
tksm
5
2.4k
Kubernetes v1.7 の主な変更点 / Kubernetes v1.7 features
tksm
0
1.6k
kubectl apply の仕組み / How kubectl apply works
tksm
1
9.7k
Prometheus による Kubernetes モニタリングの基礎 / Kubernetes monitoring with Prometheus
tksm
3
3k
Other Decks in Technology
See All in Technology
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
220
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
24
11k
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
podman_update_2024-12
orimanabu
1
260
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
.NET 9 のパフォーマンス改善
nenonaninu
0
690
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
12
3.5k
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Become a Pro
speakerdeck
PRO
26
5k
GraphQLとの向き合い方2022年版
quramy
44
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Designing for Performance
lara
604
68k
Done Done
chrislema
181
16k
Git: the NoSQL Database
bkeepers
PRO
427
64k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Navigating Team Friction
lara
183
15k
The Language of Interfaces
destraynor
154
24k
Transcript
ゼットラボの教育への取り組み Cloud Native Deep Dive #5 教育 Takashi Kusumi <
[email protected]
>
アジェンダ ▶ カスタマーサクセスチーム ▶ 教育への取り組み + ワークショップ、オフィスアワー etc ▶ ノウハウ獲得のための取り組み
+ Changelog 調査、アドオン提供 etc ▶ 課題 2
カスタマーサクセスチーム
ゼットラボ株式会社 / Z Lab Corporation ▶ 2015年に設⽴されたヤフー株式会社の 100% ⼦会社 ▶
ヤフーのインフラ課題に対して R&D でソリューション提供 ▶ Kubernetes as a Service を開発・提供 4
カスタマーサクセスチーム ▶ 利⽤者への導⼊推進 + 導⼊サポート + 技術検証 + 障害調査 ▶
クラスタアドオンの提供 + CoreDNS, Prometheus, Grafana など ▶ 技術調査 5
教育への取り組み
Kubernetes ワークショップ 7 ▶ 知識編のセミナー(2h)とワー クショップ(3h)の 2 回を開催 ▶ 引き継ぎを⾏い定期開催中
+ minikube で実施
Kubernetes ワークショップ ▶ 最初は kubectl run による命令的なデプロイを実施 ▶ その後代表的なリソース(Deployment, Ingress
など) を説明 + 宣⾔的な管理で説明 + リソースの概要⾃体はセミナー編でも紹介 ▶ ⼤変なところ + Pod / ReplicaSet / Deployment の関係 + Ingress / Service の関係 + セットアップ周り (各種バージョン、認証) 8
実践編セミナー 9 プロダクションに向けて必要な知識を紹介
実践編セミナー 1. Dockerfile のベストプラクティス 2. Production Ready な Pod を作る
3. アプリケーションとクラスタのバージョンアップに備える 4. Pod で動的データを扱う 5. 宣⾔的な管理について 6. 開発中のログの確認⽅法 7. ドキュメントの紹介 10
オフィスアワー ▶ 隔週で約2時間のオフィスアワーを実施 ▶ 相談例 + ボトルネック分析 + クラスタ構成 +
アプリケーション構成 + Kubernetes の質問 (e.g. request, limit 使い分け) 11
ドキュメント提供 アドオンの利⽤ガイドやベストプラクティスなどを提供 12
ドキュメント例 ▶ メトリクス(Prometheus)の設定⽅法 ▶ Ingress の設定⽅法 ▶ キャパシティプランニングに必要な情報 ▶ プロダクション向けのマニフェストの書き⽅
▶ Graceful Shutdown について ▶ 複数の環境を Namespace で管理 13
プロジェクトサポート ▶ いくつかの利⽤者のプロジェクトを直接サポート + ノウハウを広めてもらうハブになることも期待 ▶ 基本は Slack ベースで対⾯やビデオ会議などを適宜実施 ▶
サポート内容の例 + アーキテクチャ相談 + 負荷試験 + マニフェストレビュー 14
マニフェストのポリシーの提供 (予定) マニフェストの注意点を conftest のポリシーとして提供予定 e.g. 最新の API Version の利⽤、Probe
の設定、latest タグの⾮推奨 15
マニフェストのポリシーの提供 (予定) 16 ポリシーは Open Policy Agent のポリシー⾔語 Rego で記述
ノウハウ獲得への取り組み
Kubernetes ChangeLog 調査 ▶ マイナーバージョン + 複数⼈で調査し社外公開 + アドオンの管理もあるため、 リリースマネージャーを置く
▶ パッチバージョン + 毎パッチを社内⽤に影響調査 18
アドオンの開発・管理 ▶ クラスタのアドオンを提供 + CoreDNS, Prometheus, Grafana など + ValidationWebhook
や client-go を使ったコントローラーに よるコンポーネントも提供 ▶ ⾮互換の変更は Kubernetes のマイナーに合わせて管理 ▶ ⾃動でアドオンをアップデートする仕組みを構築 + アップデータ本体は別の仕組みでデプロイしている 19
アドオン: Grafana Dashboard 20
障害調査 21 ▶ 利⽤者からエスカレーションされた問題の調査 ▶ 利⽤者が増えてきたことにより顕著化する問題も増えてた ▶ 調査例 + Node
のリソース枯渇時の問題 (eviction-manager の挙動) + Pod の作成のタイムアウト時にリトライされない問題 + 細かい設定ミス (iptables のロックのマウント漏れなど)
Kubernetes Failure Stories 22 Zalando ࣾͷ @hjacobs ͞Μ͕·ͱΊͨ Kubernetes ͷࣦഊஊू
https://github.com/hjacobs/kubernetes-failure-stories
技術調査・検証 ▶ コミュニティの情報やユーザの問い合わせを元に調査・検証 ▶ 調査例 + WebSocket 同時接続数の検証 + Grafana
loki の評価・検証 + Graceful Shutdown のサンプル実装 + Java のコンテナ対応 + CI / CD 検証 23
課題
利⽤者側での問題の切り分け ▶ 問題がKubernetes などインフラ側なのかアプリケーション側なのかの切り分 けが難しい + パフォーマンス劣化やタイムアウトなど ▶ Kubernetes に載せるタイミングでアプリも刷新するケースも多い
▶ 権限による制限も課題 (kubectl exec など) ▶ 今後の対策 + 切り分け⽅のドキュメントの提供 + メトリクス、ダッシュボードの拡充 + APM の導⼊ 25
ドキュメント更新の認知 ▶ ドキュメントの更新や新機能を認知してもらうのが難しい + 新機能の周知もドキュメントのリリースノートで⾏っている ▶ 今後の対策 + 検索性の向上 +
より積極的な周知 26
必要な知識の範囲が広い ▶ 周辺技術が同時に多く変わる可能性が⾼い + Linux コンテナやKubernetes ⾃体の知識 + モニタリング (e.g.
Prometheus) + アプリケーションの対応 (e.g. Graceful Shutdown) + CI/CD ▶ 今後の対策 + ドキュメントやセミナーの拡充 + 事例共有の機会を増やす 27
まとめ
まとめ ▶ Kubernetes ワークショップ ▶ 実践編セミナー ▶ オフィスアワーの実施 ▶ ドキュメント提供
▶ プロジェクトサポート ▶ マニフェストポリシー提供 29 教育への取り組み ノウハウ獲得への取り組み ▶ Kubernetes Changelog 調査 ▶ アドオンの開発・管理 ▶ 障害調査 ▶ 技術調査・検証
30 We are hiring! ご興味ある⽅は、ゼットラボ社員に直接ご連絡ください