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
Google Cloud Next’19でService Meshの動向を追ってみる
Search
TairaTAIKI
May 22, 2019
3
360
Google Cloud Next’19でService Meshの動向を追ってみる
Google Cloud Next'19 での Istio の動向をまとめてみました。
TairaTAIKI
May 22, 2019
Tweet
Share
More Decks by TairaTAIKI
See All by TairaTAIKI
Ansible x NSX-T の可能性を探る
shien07
0
1.4k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
34
1.6k
Code Reviewing Like a Champion
maltzj
521
39k
Designing Experiences People Love
moore
139
23k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Faster Mobile Websites
deanohume
305
30k
The Language of Interfaces
destraynor
155
24k
Writing Fast Ruby
sferik
628
61k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
How to Ace a Technical Interview
jacobian
276
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
940
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Transcript
Google Cloud Next’19で Service Meshの動向を追ってみる 2019/05/22 平良太貴
アジェンダ • 自己紹介 • Google Cloud NEXT へ行った目的 • Service
Mesh について • Istioの話 • オンプレミスの話 • まとめ/感想 • その他 4万人が来場したとされる会場 サンフランシスコの Moscone Center
自己紹介 名前: 平良太貴 社会人歴: 2015 ~ (5年目) DMM社歴: 中途入社 2018/08
~ 配属: サービス全般のサーバーインフラ → インフラ部IaaS 開発部 Twitter: @shien07 あまり技術的なこと呟きません! 興味あること: 仮想化、コンテナ関連、自動化周りなど
Google Cloud NEXT に行った目的 - Service Mesh について調査 - 社内のサービスたくさん、なにかヒントになれば
- Istio / Envoy - Kubernetes についての動向 - Googleのアップデート - オンプレとの関連 - マルチクラウド、ハイブリッドクラウドの動向 - GKE On-prem について
ざっくり Service Mesh の必要性 - Microservice の特徴として、各サービスが機能ごとにDBやソースコード そのものを分けて実装 - Microservice
のサービス間ネットワーク通信は複雑化する - 基本的にネットワークは信頼できない前提でサービスを実装 - Timeout を設定する - 対象のサービスが死んでしまってもサーキット・ブレイクで回避 - リクエストが失敗してもリトライを行う など - サービスの連携によって複雑化する通信を、分散トレーシングを用いて 可視化しなければならない - この機能が Service Mesh という形でまとめられ、登場した
その解決策 Istio - コンテナやVMのワークロード同士のサービスのやり取りを自動化する open service platform - Sidecar proxies
(Envoy) として Kubernetes の Pod や、VM の横に配 置 - すべての inbound / outbound トラフィックを調整 - いくつかのコンポーネントで構成され、 Proxy を経由するトラフィックを管理する
その解決策 Istio Control Plane Pilot - Envoy proxy のインスタンスを特定の Istio
service mesh にデプロイする - トラフィックのバランシングや比率で分 けるなど Galley - ユーザが定義した設定の validation Citadel - 鍵と証明書の管理 Mixer - 認証と監査 - ポリシーのコントロール、計測したもの を収集 Data Plane Proxy - Envoy Proxy
Google Cloud NEXT’19 の Istio - 4/9 ~ 4/11 の3日間で
Istio のセッションは 14 ほど - (私調べ) - 3日間の合計セッション数は600越えなので多いかは定かではない - 別で注目していた GKE On-Prem は 5 - どのセッションもかなり席が埋まっていた - セッションの多くはデモや事例など - 実際にアプリを動かし、それを触るデモ - しっかり Web アプリケーションを動かし、その状態でデモ - 使用している企業との対談形式でのセッション - 今回はマルチクラウドに焦点 - マルチクラウドにおける Service Mesh - Anthos との関わり
セッションで聞いた Istio の話 - メリット メリット - サービス同士のやり取りを理解できる - サービス間のトラフィックの検査ができる
- きめ細かいパーセンテージベースのルーティングができる - 既存のサービスに90%、新リリースに10%のような形 - HTTP Header ベースでのルーティング - カオステスト、サーキット・ブレイクなど - 1000 ものサービスのポリシーを自動化 - アプリケーションコードからネットワークを切り出すことができる Microservice の複雑性の課題を解決する一助に
セッションで聞いた Istio の話 - 課題 課題 - Kubernetes 上で動くので、Kubernetes 自体が複雑
- Control Plane が複数あり、それが大量のログを吐く - Config の量が多く、またAPIもあるので学習曲線が大きい - Policy のカスタマイズ性が高いが、失敗状態へ行くことも多い - まだ成長段階 - ツール周りがよわく、curl ベースのコマンドラインに頼る必要がある - ドキュメントも現在増加中
セッションで聞いた Istio の話 - Istio 1.1 Istio 1.1 が Production
ready に - Average latency が 30 %減 - Pod の開始時間が40%早くなった - Pilot の CPU 使用率 90 % 減 - Pilot の Memory 使用率 50 %減
セッションで聞いたオンプレミスの話 - 社内仮想基盤の運用が主な仕事なため、今回はマルチクラウド、ハイブ リッドクラウドに注目 - Anthos - VM を GKE
上で動作するコンテナへ変換 - マルチクラウドの管理 - オンプレミスとの連携を強化するセッション - 他ベンダーもマルチクラウドに焦点 - VMware - Anthos で管理する、GKE/Istio と PKS / NSX Service Mesh の連携 - Cisco - Cisco 製品を利用した GKE / GKE On-Prem の利用
まとめ/感想 - Service Mesh は Microservice とともに進んでいるもの - Google Cloud
NEXT’19 では Istio / Kubernetes (GKE) - Istio はまだ発展途中ではあるが、Micoservice を支えられるよう動いて いる - Microservice アーキテクチャにシフトしていくのであれば、 Service Mesh の検討は必要 - マルチクラウドへのアプローチが必要 - 次は Kubernetes / Istio について実際に手を動かし、体感したい - 弊社からは Data Analytics 系の方が行かなかったので、そこは勿体な かった
その他 - Istio を GKE に入れてみる 英語のチュートリアル Istio on GKE
が参考になる https://cloud.google.com/istio/docs/istio-on-gke/installing 下記でクラスタを作成する gcloud beta container clusters create istio-demo \ --addons=Istio --istio-config=auth=MTLS_PERMISSIVE \ --cluster-version=latest \ --machine-type=n1-standard-2 \ --num-nodes=4 これだけ。簡単ですね!
その他 - Istio を GKE に入れてみる kubectl get service -n
istio-system Istio の動いている namespace の service を見てみる kubectl get pods -n istio-system Istio の動いている namespace の Pod を見てみる
その他 - Istio を GKE に入れてみる 以降はこちらでデモができます。 https://github.com/GoogleCloudPlatform/istio-samples/ istioctl kube-inject
-f ./hipstershop/kubernetes-manifests.yaml | kubectl apply -f - なぜか auto inject が聞かなかったので下記で手動でいれました。 謎はまた別途、解き明かします。 kubectl apply -f canary/productcatalog-v2.yaml 新しいバージョンを投入 StackDriver でみてみます。
その他 - @サンフランシスコ • ESTA ご存知ですか? • 僕は出発3時間前に知りました • Uber
がとてつもなく便利 • ただしドライバーによっては遠回りを強いられたり • しかしその分の返金は一瞬でしてくれます • 親しく話してくれます • 日本車も見かけました • 景色が半端ない • 半端ない • 現地のスーパーの商品を眺める楽しさ • 面白い日本語の日本の製品があったり • 日本で発売されてる商品があったり ご清聴ありがとうございました!