Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

20190604 Containerized MagicOnion on kubernetes with Observability with New Relic

447 Aufrufe

Veröffentlicht am

MagicOnionで作ったアプリをContainer化してkubernetesで動かして、New Relicで監視する

Veröffentlicht in: Technologie
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Gehören Sie zu den Ersten, denen das gefällt!

20190604 Containerized MagicOnion on kubernetes with Observability with New Relic

  1. 1. MagicOnion を Container 化して kubernetes で動かして New Relicで監視する 2019/06/04 @tanaka_733
  2. 2. 自己紹介 Senior Technical Support Engineer @ New Relic K.K. ◦ アプリケーションプラットフォーム監視(APM)のSaaSです ◦ 日本語サポートなど日本市場に注力しています Microsoft MVP for Azure (2018 Jul- 2019 Jun) ◦ .NET Core on Linux, Kubernetes, Azureなどのお仕事してました ◦ Visual StudioやQ#などにも興味があります ソーシャル活動 ◦ Twitter: @tanaka_733 ◦ Blog: 銀の光と碧い空 ◦ Qiita (New Relic関連): https://qiita.com/takayoshitanaka
  3. 3. 今日のテーマ MagicOnion(サーバー側)を(Linux)コンテナ化して動かす コンテナ化したアプリをkubernetes上で動かす MagicOnion(サーバー側)をNew Relicで監視する 資料ででてくるコードはここにあります https://gist.github.com/tanaka- takayoshi/b64e74305029a5820b6386ddb1996749
  4. 4. MagicOnion をコンテナ化
  5. 5. コンテナにしよう Linuxコンテナで! ◦ .NET CoreなのでWindowsでも動くけどメリットがない MagicOnion.Hostingを使おう ◦ Console.ReadLineはコンテナ上では期待通り動かないです Listeningアドレスは 0.0.0.0 で ◦ コンテナこしのネットワークなのでlocalhostではないのです
  6. 6. MagicOnion.Hosting Console.ReadLine()はコンテナ内だと待機せずプロセスが終了する 面倒でもHostingを使いましょう
  7. 7. Dockerfileの例 ASP.NET CoreでVisual Studioが用意してくれるDockerfileを流用 マルチステージビルドで動かすコンテナにソースコードや中間バイナリなどを入れないようにする
  8. 8. コンテナを 動かそう
  9. 9. コンテナをどこで動かすか オンプレかクラウドか AWSなら ◦ EKS, ECS Azureなら ◦ ACI, AKS (コンテナでなければWebAppでも) GCPなら ◦ GKE などなどお好きなところで。 コンテナ化することで、同じコンテナイメージをどこでも動かせる。
  10. 10. Kubernetes? https://kubernetes.io/ja/docs/tutorials/kubernetes-basics/explore/explore-intro/ 多くの場合、Node=仮想マシン コンテナとvolumeをまとめた もの。1つのアプリ。 永続化ストレージ コンテナ化したアプリ =さっき作ったコンテナイメージ
  11. 11. kubernetesでMagicOnion Podの公開、ロードバランシング Podのオートスケーリング Redis Backplaneの準備 Podにする?外部サービス? Podのデプロイ Podのヘルスチェック
  12. 12. kubernetesでMagicOnion とりあえずkubernetesで動かすとしたうえでの課題 ◦ インターネットへの公開やロードバランシングどうしよう ◦ デプロイ(アプリの更新)どうしよう? ◦ ヘルスチェックどうしよう? ◦ スケーリングどうしよう? ◦ Redis Backplaneどうしよう? 詳細はLTなので省略(ご希望あればセッション枠ください) ただ、kubernetesじゃなくても考慮は必要な項目(のはず) Kubernetesであればその機能を活用することが可能
  13. 13. 公開とロードバランシング Kubernetesではサービスというオブジェクトを作ってPodと通信する 既存の機能はHTTPやTCP向けにまず作られているのでgRPC向けの考慮が必要 単純なTCPでのロードバランシングでよければ、TCP向けのサービスで問題ない より複雑なバランシングが必要であればどこかにバランサー要素を入れる必要がある ◦ クラウドロードバランサ(ALBs)が対応してくれればうれしいけど ◦ Nginx-ingressとかenvoyとかIstioとかぐぐるといろいろ見つかるけど
  14. 14. とりあえず動かす場合の定義例 単純にdeploymentを作って、クラウドLoadBalancer で公開する例
  15. 15. New RelicでObservability
  16. 16. New Relicの.NET Coreコンテナ対応 基本的な流れはQiitaに書いてあります ◦ https://qiita.com/takayoshitanaka/items/6eef46d821704a7384dc 推奨手順はインストーラー実行なのでDockerfile内でインストール実行 ◦ インストーラー実行せずともdllやconfigなどを一式コピーしても動作はする .NET CoreではkestrelおよびIISのみデフォルトで監視 ◦ Kestrelを使わないMagicOnionだとカスタムインスツルメンツが必要
  17. 17. New Relic用のDockerfile例 環境変数の設定 (ライセンスキーとアプリ名は コンテナ起動時に指定しているので ここでは省略) Agentのインストーラーを インターネットから取得してインストール 必要な設定ファイルをローカルから 所定の位置へコピー
  18. 18. kubernetesのdeploymentに 環境変数を追加
  19. 19. カスタムインスツゥルメント用config例 このXMLファイルを/usr/local/newrelic-netcore20-agent/extensions/ (Linuxでの既定)以下に追加する
  20. 20. カスタムインスツゥルメント用config例 Transactionに指定して測定したいメソッド1つにつき、1つtraceFactoryを作る カスタム用のデフォルト メトリクスの名前を決める アセンブリ名 クラス名 メソッド名
  21. 21. 属性によるトランザクション指定と イベントの記録 数値型はSingle推奨
  22. 22. まとめ コンテナでもMagicOnionは動きます ◦ はやりのkubernetes上でも動きますよ ◦ コンテナに限らず、スケーリングなどの考慮は必要 New Relicで監視できます! ◦ コンテナ化+kubernetes環境ならExplorerあります ◦ カスタムイベント含め、各種メトリクスを監視 New RelicへのFeedbackください ◦ MagicOnionで動かすゲーム(アプリ)をNew Relicで監視したいけど、○○ができない! ◦ MagicOnionじゃないけど、ゲーム・アプリサーバーを監視したいけど( ◦ C#じゃないけど(まで大歓迎

×