Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kubernetesモニタリングのベストプラクティス_JAWSDays2021_20210320
Search
kaojiri
March 22, 2021
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetesモニタリングのベストプラクティス_JAWSDays2021_20210320
2021/03/20 JAWS Days2021の登壇資料です。
kaojiri
March 22, 2021
More Decks by kaojiri
See All by kaojiri
コンテナ監視って何見るの?~初心者編~
kaojiri
8
6.2k
AWS SummitTokyo2019-reCap_20190620
kaojiri
1
100
JAWS-UG_SAITAMA_20190420
kaojiri
1
210
OpsJAWS-JAWSUG-KANAZAWA_20181123
kaojiri
1
320
AWS Systems ManagerとAWS Configのちょっといい話
kaojiri
3
1.8k
組織を意識したAWS構成管理プロセスを考える_20180112
kaojiri
0
840
JAWS Days2017 EXCEL構成管理からの脱却と次世代MSPとDevOps 2.0 by OpsJAWS
kaojiri
0
2k
OpsJAWS#7 20160729 SIerにおけるDevOpsの現状 ~terraformを使ったAWS開発~
kaojiri
1
1.4k
OpsJAWS#5 20160420 背伸びをしないAWS構成管理
kaojiri
0
3.2k
Other Decks in Technology
See All in Technology
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
5
320
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
0
190
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
130
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
250
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.1k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
220
What the customer really needed
kawaguti
PRO
3
210
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
データ_AIの事業の勝敗をわけるもの
nek0128
1
460
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
430
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
170
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
170
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
14
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
How STYLIGHT went responsive
nonsquared
100
6.3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Transcript
Kubernetesモニタリングのベ ストプラクティス Koji Aizawa(@kaojiri) | 2021/03/20
会澤 康二 - Solutions Consultant at New Relic 国産SIerに新卒入社し、プロジェクトマネジメントを叩き込まれる その後、自社サービスビジネス立ち上げ支援、クラウドネイティブ開発、基盤の設計・
構築などの案件支援に従事し、 New RelicにJoin 趣味: ランニング、登山、サッカー観戦、畑 AWS Solutions Architect Pro Certified Kubernetes Administrator • facebook: https://www.facebook.com/koji.aizawa.7 • Twitter : @kaojiri • speakerdeck: https://speakerdeck.com/kaojiri • New Relic ブログ: https://blog.newrelic.co.jp/author/kaizawa/
本セッションのゴール • なんとなくKubernetesを使い始めちゃった、ということがないように、 Kubernetesって何?から理解する • よくある課題を理解することで、なぜそんなことやるのか?の本質を理解できるようになる ◦ 具体的にどうやるかは置いておいて • オブザーバビリティ!!
※本セッションでお話しないこと • ECS / EKSの違い。どちらを使うべき? • どんなサービス・機能をどのように使えばいいか、という類の話 ◦ そのままコピペすればいい、レベルの情報
Agenda 1. Kubernetesとは? a. コンテナの課題とオーケストレーションの必要性 b. KubernetesアーキテクチャとEKS c. Kubernetes運用でよくある課題 2.
Kubernetesのオブザーバビリティを実現するために抑えるべきポイント 3. Kubernetesモニタリングで利用するサービス群 4. まとめ
Kubernetesとは?
仮想マシンとコンテナの違い 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
コンテナのメリット(可搬性) 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
コンテナの課題 本番環境では各コンポーネントを冗長化するのが基 本 • コンテナの障害対策 ◦ 複数台のコンテナを起動 ◦ ロードバランサーでアクセス分散 •
サーバの障害対策 ◦ 各コンテナは別々のサーバで起動 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
コンテナオーケストレーションとは? 複数のコンテナ(サービス)を”よしな”に配置し、可用性、負荷分散、 認証認可、アクセス制御などのガバナンス統制を効かせることが可能 結構たくさんある(あった) • Docker Swarm • CoreOS fleet
• Rancher Labs Rancher • Mesos Marathon • Google Borg -> CNCF kubernetes 等 主導権争いの末、kubernetesが事実上のデファクトに CNCFもk8sをGraduateに
None
Kubernetesアーキテクチャ(概要) 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
EKSはKubernetesコントロールプレーンをマネージドに 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
データプレーンはどうするの? 出典:『Kubernetes on AWS』(リックテレコム刊 2020年)
kubectl テキストベースで豊富な情報取得、可視化。
Kubernetes運用でよくある課題 使う側からすると結構簡単 VS 運用する側からすると結構難しい 1. Podが乱立してクラスターリソースが枯渇する 2. マイクロサービス間のパフォーマンス状況がわからない 3. 何を異常と見なすべきかわかりづらい
▪ ノードの状態、Podの状態がわかりづらい
オブザーバビリティ(可観測性) システムのメトリクス・イベント・ ログ・トレースのデータを リアルタイムに取得し続け、 常にシステム全容の 状態把握と改善ができる状態 by New Relic
Kubernetesのオブザーバビリティを 実現するために抑えるべきポイント
Kubernetes運用でよくある課題 使う側からすると結構簡単 VS 運用する側からすると結構難しい 1. Podが乱立してクラスターリソースが枯渇する 2. マイクロサービス間のパフォーマンス状況がわからない 3. 何を異常と見なすべきかわかりづらい
▪ ノードの状態、Podの状態がわかりづらい 再掲
1. Podが乱立してクラスターリソースが枯渇する クラスター全体だけでなく、ノードやPod(Container) の負荷状況とキャパシティを把握する Requests/Limitsを確実に設定することでノードキャ パシティを正確に把握できるようにする 参考(ブログ):Kubernetesクラスターのキャパシティ管理を行うためにRequestsとLimitsを確実に設定する方法
2. サービス間のパフォーマンス状況がわからない マイクロサービスになればなるほど、ひとつのトランザクションに関わるサービス数が増える ボトルネックはどこ?いちいち調べるの辛い・・・ 分散トレーシングでしっかり可視化する 合わせてノードレベルのパフォーマンス( Network performance / DiscIO等)傾向を把握する
実測値で何かを見るのではなく、頭打ちになっているかどうかを確認 する 境界となるメトリクスを可視化し、問題切り分けを効率化する • AWSのELB関連のメトリクス etc... Application Performance
3. 何を異常と見なすべきかわかりづらい Kubernetesはダイナミックにステータスが変更していくため、単体のメトリクスだけで発砲するとノ イズとなりやすい 問題が継続していることを検知する、かつ、継続時間をどの程度とするかが重要 検知する観点は「キャパシティ・リソース」と「異常検知」に関連するものがメ イン サービス全体にどの程度の影響が出ているかの相関関係を把握することがもっとも重要 This is
Observability とはいえ、Podの異常ステータスは正確に検知する CrashLoopBackOff / OOMKilledなど、クリティカルになりやすいものをピックアップ
Kubernetesモニタリングで 利用するAWSサービス
利用するAWSサービス群 No. ポイント 利用サービス 1 Podが乱立してクラスターリソースが枯渇する ・CloudWatch - Dashboard ・CloudWatch
- Metrics ・CloudWatch - Logs ・CloudWatch - Container Insights ・CloudWatch - Alarm 2 マイクロサービス間のパフォーマンス状況が わからない ・AWS X-Ray ・CloudWatch - ServiceLends - Service Map, Traces ・AWS Distro for OpenTelemetry 3 何を異常と見なすべきかわかりづらい No1と同じ
Prometheus/Grafanaもマネージドに!選択肢が広がる! https://aws.amazon.com/jp/prometheus/ https://aws.amazon.com/jp/grafana/
ちょっとだけ宣伝
Kubernetes管理もNew Relicで Kubernetes Cluster Explorer • 色分けによる異常を視覚化 • リソース使用量を可視化 •
Kubernetesだけでなく、アプリケー ションまで一気通貫な原因追求 ◦ APM連携 ◦ ログ連携 ◦ Distributed Tracing連携 kubectlコマンドを叩かなくても、ノードやPodの状況がひ と目で分かります。問題箇所から深掘りしていくことで、 アプリケーションレベルでの問題までトレース可能
まとめ
まとめ 1. Kubernetesとは? 2. Kubernetesのオブザーバビリティを実現するために抑えるべきポイント a. Podが乱立してクラスターリソースが枯渇することを防止しよう b. マイクロサービス間のパフォーマンス状況を可視化しよう c.
単体の事象にこだわりすぎず、相関関係をみながら一定時間異常な状態が継続した場合にア ラートしよう 3. Kubernetesモニタリングで利用するサービス群 a. CloudWatchフル活用 b. Prometheus / Grafanaも待ち遠しい c. New Relicもよろしくね
Kubernetesはサービスのイチ構成要素 サービス全体状況を把握しつつ Kubernetesクラスター状態 ”も” 把握・管理することが最も重要
This is “Observability” of Kubernetes
None