Slide 1

Slide 1 text

16th Nov, Google Cloud Next Tokyo ’23, Sponsored Session Kento Kimura Datadog で GKE とマネージドサービスを 効率的に運用する方法 GENERAL USE

Slide 2

Slide 2 text

Kento Kimura Sales Engineer, Google Cloud Partner Top Engineer 2023-24

Slide 3

Slide 3 text

Agenda Kubernetes 監視と課題 1 2 GKE 特徴と監視方法 3 マネージドサービス 監視 4 Datadog で運用する方法 5 Datadog デモ 6 まとめ

Slide 4

Slide 4 text

4 Kubernetes 監視と課題

Slide 5

Slide 5 text

監視すべきコンポーネント 増加 5

Slide 6

Slide 6 text

Kubernetes リソースマップ 6

Slide 7

Slide 7 text

アプリが分散型になっており、常に移動している Kubernetes ホスト間で Pod を常に移動し、 需要に合わせてスケールアップおよびスケールダウン カスタマーエクスペリエンスを正しく把握するために 何か問題が発生したときに、どこで起こったか正しく 把握する必要がある 7

Slide 8

Slide 8 text

タグ、ラベル コンテナを判別する「唯一 手段」 8 Pod Node上を動き回るため、アラートもそれを追従しなくて ならない そ ため、Podが動いても安定的なも を目印として付随させる必要がある ラベル 例 ● フロントエンド/バックエンド ● アプリケーション ● 環境(開発、本番など) ● チーム ● バージョン

Slide 9

Slide 9 text

各レイヤーで何が起こっているか把握する 9

Slide 10

Slide 10 text

アプリケーション 監視 アプリケーションとそ プロセス 状態を可視化し、エラーやパフォーマンス 情報を元にアプリ ケーションコード デバッグを行う。 ゴールデンシグナルなどに基づく、アプリケーション 指標を把握する。 Kubernetes 監視 10 監視、ログ、デバッグ コンテナ 監視 Kubernetes リソース 一般的な問題やコンテナ終了メッセージ 管理、実行中 コンテナ デ バッグを行う。 Pod・Service・StatefulSet などとコンテナ自体 状態を把握する。 ホスト 監視 アプリケーションが原因でない場合 、コントロールプレーン・ワーカーノードなど Cluster 状態 確認、各ワークロード 状態を深く掘り下げるログ 確認を行う。 ノード 死活監視と kube-apiserver・kube-scheduler・kubelet 状態を把握する。

Slide 11

Slide 11 text

11 GKE 特徴と監視方法

Slide 12

Slide 12 text

12 Autopilot モード ワーカーノード 管理を Google Cloud に委任できる。 ノード 自動スケールや作成/削除 ・OS 管理を行う必要がないが、アク セスができない。 Cloud Run(参考) ノードを意識することなく、アプリケー ションコンテナをデプロイしホスティン グできる。 サイドカー機能によりマルチコンテナ 起動も可能。 Standard モード ノード配置やレプリカ 選択肢として シングル・マルチゾーンやリージョンク ラスターがある。 基盤となる GCE ノードに直接アクセ スできる。 GKE 概要 Google Cloud マネージド Kubernetes サービス GKE 仕組み Google Compute Engine(GCE) を利用した Node でクラスターを形成する。Standard モード コントロールプレー ンを Google Cloud が管理し、Autopilot モード ワーカーノード 管理も行う GKE 特徴 コントロールプレーンやワーカーノード 管理を委任できるため、コンテナ上 アプリケーションや プロセス 監視に注力できる

Slide 13

Slide 13 text

GKE アーキテクチャ 13 GKE クラスター コントロールプレーン ストレージ リソース コントローラー スケジューラー ワーカーノード ユーザーポッド コンテナ ユーザーポッド コンテナ API サーバー ユーザー kubectl Google Cloud マネージド Autopilot: Google Cloud マネージド Standard: ユーザーマネージド 各モード マネージ範囲 GKE Kubernetes 様々なレイヤー うち、 コントロールプレーン 管理を Google Cloud に 委任できるマネージドサービス さらに、Autopilot モードで ワーカーノード オーケストレーションなども委任できる マネージ範囲と監視方法

Slide 14

Slide 14 text

GKE アーキテクチャ 14 GKE クラスター コントロールプレーン ストレージ リソース コントローラー スケジューラー ワーカーノード ユーザーポッド コンテナ ユーザーポッド コンテナ API サーバー ユーザー kubectl Google Cloud マネージド Autopilot: Google Cloud マネージド Standard: ユーザーマネージド 各モード マネージ範囲 GKE Kubernetes 様々なレイヤー うち、 コントロールプレーン 管理を Google Cloud に 委任できるマネージドサービス さらに、Autopilot モードで ワーカーノード オーケストレーションなども委任できる アンマネージドリソース 監視 Standard/Autopilot モード どちら 場合でも ユーザーポッド上 ユーザーマネージドなため、 プロセスやアプリケーション 監視に 独自 仕組みが必要 マネージ範囲と監視方法

Slide 15

Slide 15 text

Google Cloud Managed Observability① Kubernetes オブザーバビリティ 1. GKE クラスタを作成すると、デフォルトで Cloud Logging と Cloud Monitoring が有効となる 2. Metrics/Logging Agent が各ノードにデプロイされ、システムとワークロード 情報を収集できる ● クラスタ 重要な指標 :CPU 使用率、メモリ使用率、対応待ち インシデント数 ● クラスタリソース 情報 :インフラストラクチャ、ワークロード、サービス ● コンテナリソース 情報 :Namespace、ノード、ワークロード、 Service、Pod ● Pod とコンテナ ログ情報 :時間 関数として指標を表示し、ログエントリを確認 3. Cloud Monitoring で デフォルトで様々な GKE ダッシュボードを提供している ● GKE Compute Resources :クラスター・ノード・ワークロード毎にリソース 利用状況を可視化 ● GKE Interactive Playbook :Crashlooping/Unschedulable Pods に対するプレイブックを現在 状況と合わせて確認できる ● GKE Workloads at Risk :ワークロード CPU/Memory Request 未設定やリソース不足を可視化できる Observability for GKE で利用されるテクノロジー: 15 Observability(Cloud Operations) for GKE

Slide 16

Slide 16 text

Google Cloud Managed Observability② eBPF を利用した Kubernetes データプレーン 1. Kubernetes ネットワーク用に最適化された GKE クラスタ用データプレーン 2. eBPF(Cilium) を使用して実装することでパケット内に Kubernetes 固有 メタデータを使用し、 より効率的なパケット ルーティング・処理を行う 3. 従来 Observability for GKE に加えて、Hubble による Pod ネットワークテレメトリを収集する Dataplane V2 Observability で利用されるテクノロジー: 4. さらに、アプリケーション パフォーマンスを可視化したい場合 別 実装が必要 アプリケーションパフォーマンス 可視化: 16 GKE Dataplane V2 Observability(Preview)

Slide 17

Slide 17 text

Datadog Agent for GKE 17 1つ エージェントで マルチクラウド 対応 Datadog Agent ど クラウド 上 マネージド Kubernetes サービスであっても、同一 Agent を同一 方法でデプロイ できる。 さらに、収集されたデータを Datadog プラットフォーム上でま とめて可視化できる。 様々なテレメトリデータ 紐付け・相関性 Agent によって取得された、メト リクス・ログ・トレースなど 複数 テレメトリを、Datadog プラット フォーム上で紐づけて表示でき る。 プロセスとアプリケーション 可視性 GKE ノードで稼働している プロ セス単位で 可視性と、コンテナ 上で稼働している アプリケー ション 可視性を単一 Agent で実現できる。 さらに、ネットワーク情報・メトリク ス・ログ 収集を 同一 Agent が担う。 Datadog Agent ができること

Slide 18

Slide 18 text

18 マネージドサービス 監視

Slide 19

Slide 19 text

Google Cloud 責任・運命共有モデル 責任共有モデルで PaaS ● Google Cloud 上で定義される Platform as a Service 、 アプリケーションを開発して実行できるランタイム環境 ● そ ため、アプリ コード・デプロイ・セキュリティ 責任 常に顧客(利用者) 責任範囲となる 運命共有モデル Google Cloud 運命共有モデル 、セキュリティ 向上を目指し ビジネス 安全性と信頼 構築に役立つモデルに進化したも 19 責任共有モデルから運命共有モデルへ

Slide 20

Slide 20 text

Google Cloud マネージドサービス マネージドサービスと ● 前述 GKE や Cloud Run を含む、マシン セットアップが不要で管理・パッチ適用・バックアップなどが自動 的に処理されるサービス ● 責任共有モデルで PaaS・SaaS を含む マネージドサービス 監視 Google Cloud がマネージ(管理)する範囲:Google Cloud がメトリクス・ログを提供する 顧客(利用者)がマネージ(管理)する範囲:利用者が監視テレメトリを収集する 20 マネージドサービス 定義

Slide 21

Slide 21 text

Google Cloud マネージドサービス 21 Eventarc 状態変更をトリガーとするアクションを 様々に設定し、イベントドリブンアーキテク チャを構築できる フルマネージドソリューション Cloud Spanner 高可用性と柔軟なスケーリング、強力な整 合性が特徴 フルマネージドな リレーショナルデータベース Cloud Bigtable ミリ秒単位 レイテンシ、無制限 拡張 性、99.999% 可用性を特長とする HBase 対応 エンタープライズ向け フルマネージド NoSQL DB BigQuery サーバレスで費用対効果に優れた、デー タ 管理と分析を支援する フルマネージド DWH マネージドサービス 具体例

Slide 22

Slide 22 text

Google Kubernetes Engine コントロールプレーン:Google Cloud Cloud Monitoring / Logging で メトリクス・ログ監視 ユーザーポッド :監視エージェント 実装と監視情報 収集 そ 他 マネージドサービス: Cloud Monitoring / Logging で メトリクス・ログ監視 マネージドサービス 監視 マネージドサービス 監視 提供されているメトリクス・ログと、 利用者 責任範囲 リソース監視を分けて考える必要がある 22

Slide 23

Slide 23 text

Google Cloud 監視に Datadog Datadog で監視する理由 ● Kubernetes 監視対象となるコンポーネントが複数ある ● マネージドプラットフォーム全般も責任範囲で監視方法が変わる ● プラットフォーム上 リソース ユーザーが管理・監視しなけれ ならない Datadog どちら 監視情報も同様に可視化して運用できる統合監視プラットフォーム Datadog で監視するメリット ● Datadog Google Cloud と相互に連携する機能を持つ ● Datadog によってアプリケーションからインフラストラクチャー 監視を一元化できる ● Datadog 上に収集された情報 、メトリクス・ログ・トレースなどを中心に簡単に連携を行える 23

Slide 24

Slide 24 text

24 Datadog で運用する方法

Slide 25

Slide 25 text

Google Cloud Integration: How-to メトリクス 送信 1.   Datadog クローラー用 Service Account を作成する 2.   Service Account 用 Datadog プリンシパルを発行する 3.   Service Account 権限にDatadog プリンシパルを追加する 4.   Service Account を Datadog に登録する ログ 送信 1.   Cloud Pub/Sub を作成する 2.   API Key を作成する 3.   Subscriptions に Datadog エンドポイントを追加する 4.   対象 ログ Log Router を Pub/Sub に設定する 25 Google Cloud to Datadog

Slide 26

Slide 26 text

Google Cloud Integration: Architecture 26 Google Cloud to Datadog Project Monitoring Logging Pub/Sub Datadog Crawler / API Datadog Organization (US5) Cloud Monitoring API Service Account

Slide 27

Slide 27 text

GKE Integration: How-to #Helm リポジトリに Datadog リポジトリ を追加し、更新 helm repo add datadog https://helm.datadoghq.com helm repo update #GKE に Datadog Agent, Datadog Cluster Agent のデプロイ(values.yaml を使用しない場合) helm install \ --set datadog.apiKey= \ --set datadog.appKey= \ --set clusterAgent.enabled=true \ --set clusterAgent.metricsProvider.enabled=true \ --set datadog.logs.enabled=true \ --set datadog.apm.enabled=true \ datadog/datadog 27 Helm で Datadog Agent, Datadog Cluster Agent インストール

Slide 28

Slide 28 text

GKE Integration: Architecture 28 Datadog Agent, Datadog Cluster Agent 役割

Slide 29

Slide 29 text

GKE Integration: Self-Paced Labs 29 Google Cloud Skills Boost

Slide 30

Slide 30 text

Datadog Integration Eventarc にイベントをサブスクライブする 1.   Eventarc で プロバイダ名を取得する(datadog/us-central1) 2.   Eventarc イベントを取得する(datadog.v1.alert) 3.   Datadog イベント用 チャネルを作成する 4.   「チャネル 完全名」と「アクティベーショントークン」を取得する 5.   Eventarc Integration ページから上記2点を入力する 6.   Eventarc トリガーを作成する 7.   Datadog Monitor でアラートを作成し、宛先に Eventarc を指定する 30 Datadog to Google Cloud

Slide 31

Slide 31 text

Datadog Integration 31 Datadog to Google Cloud Datadog API Datadog Organization (US5) Eventarc トランスポートレイヤー Project Cloud Functions Cloud Run Google Kubernetes Engine

Slide 32

Slide 32 text

32 Datadog デモ

Slide 33

Slide 33 text

33 デモ① Google Cloud Integration for Cloud Monitoring ● 数回 ステップで簡単に連携 ● Datadog が自動的にデータを収集 ● Google Cloud 監視情報を可視化

Slide 34

Slide 34 text

34 デモ② Google Cloud OOTB Dashboard ● 連携後すぐに利用可能 ● さまざまな情報を一画面で可視化 ● 複製してカスタマイズ可能

Slide 35

Slide 35 text

35 デモ③ Datadog Cloud SIEM for Google Cloud ● Cloud Audit Logs 脅威を分析 ● セキュリティイベント 追跡 ● IAM 権限情報 可視化 ● スキャンログ 15ヶ月間 保持

Slide 36

Slide 36 text

36 まとめ

Slide 37

Slide 37 text

Google Cloud 監視に Datadog Datadog で監視する理由 ● Kubernetes 監視対象となるコンポーネントが複数ある ● マネージドプラットフォーム全般も責任範囲で監視方法が変わる ● プラットフォーム上 リソース ユーザーが管理・監視しなけれ ならない Datadog どちら 監視情報も同様に可視化して運用できる統合監視プラットフォーム Datadog で監視するメリット ● Datadog Google Cloud と相互に連携する機能を持つ ● Datadog によってアプリケーションからインフラストラクチャー 監視を一元化できる ● Datadog 上に収集された情報 、メトリクス・ログ・トレースなどを中心に簡単に連携を行える 37

Slide 38

Slide 38 text

and 事例ウェビナー DatadogでGKEとマネージドサービスを効率的に運用する方法 日程:2023年11月28日(火) 時間:17:00 - 18:00 参加方法:Zoom 本ウェビナーで Google Cloud Next ’23 でお話ししたセッション内容に加えて、 PLAID 様 CX プラットフォーム 「KARTE」事 例を元に Datadog を利用する上で 実際 運用 ポイントについてもご紹介いたします。 38

Slide 39

Slide 39 text

Thank you