Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Whats service mesh & istio ?

BMXUGつきじ#6 k8s上のマイクロサービスを支える「Istio」発表資料です。

  • Sé el primero en comentar

Whats service mesh & istio ?

  1. 1. Date :2018.3.16 Location :BMXUGつきじ#6 What’s Service Mesh & Istio ?
  2. 2. Profile Twitter:cyberblack28 Job Infrastructure Engineer Frontend Engineer Educational Solution Architect Community Hobby1: Music,Live,FES !! Hobby2: Take a picture !! https://www.flickr.com/photos/cyberblack ISBN-10: 4798155373 ISBN-13: 978-4798155371 第6章 Rancher2.0の 部分を執筆しました。 2018年3月15日発売
  3. 3. Rancher Partner Network 2017年7月からRancher Labsとパートナーシップを締結しました。 導入支援・教育サービスを提供します。
  4. 4. Agenda 1. What’s Service Mesh ? 2. What’s Istio ? 3. Istio Install 4. Information
  5. 5. What’s Service Mesh ? 2018: The Year of the Service Mesh CNCon & KubeCon North America 2017
  6. 6. What’s Service Mesh ? Make Microservices Easy(er) CNCon & KubeCon North America 2017
  7. 7. What’s Service Mesh ? そもそも、サービスメッシュって何?
  8. 8. What’s Service Mesh ? マイクロサービスが互いに 通信するネットワーク
  9. 9. What’s Service Mesh ? マイクロサービスって何?
  10. 10. What’s Service Mesh ? Monoliths & Microserviceのお話
  11. 11. What’s Service Mesh ? スケールアウト 複数の機能(サービス)を 1つのApplication (実行体)とする Application全体を複数のServerに複製 してスケールする Application Server Application Server Application Server Application Monoliths
  12. 12. What’s Service Mesh ? Microservice スケールアウト 個々の機能(サービス) を独立したプロセスで 実行させる Serverに各機能(サービス)を配備してスケールする Server Server Server Server
  13. 13. What’s Service Mesh ? マイクロサービスが互いに 通信するネットワーク サービスメッシュとは?
  14. 14. What’s Service Mesh ? Server Server Server Server このサービス同士が通信するネットワーク それがサービスメッシュ
  15. 15. What’s Service Mesh ? 数個のサービスであれば問題ないけど、 数百、数千、数万、数億のサービスメッシュとなると....
  16. 16. What’s Istio ? Istio
  17. 17. What’s Istio ? Microsoft Azure It’s similar ? SEABREEZE
  18. 18. What’s Istio ? Istioとは、 複雑なサービスメッシュの管理を 上手に行うためのOSS
  19. 19. ServerServer What’s Istio ? Server Server Sidecar Sidecar Sidecar Sidecar Service Mesh Control Plane Sidecar Data Plane
  20. 20. What’s Istio ? Official chart
  21. 21. What’s Istio ? Istio Component Category Component Description Data Plane Envoy サービスメッシュのイン/アウトバウントの全て のトラフィックを管理するプロキシサーバで、 KubernetesではPodのサイドカーとしてデプロ イ。 Control Plane Mixer Envoyを通して各サービスのデータを収集し、 その情報を元にアクセスコントロールを行うコ ンポーネント。 Control Plane Pilot サービスディスカバリやトラッフィック管理な どを担当。 Control Plane Istio-Auth ユーザ認証やサービス間のTLS相互認証等を担 当。
  22. 22. NodeNode What’s Istio ? Node Node Envoy Envoy Envoy Envoy Mixer Envoy Data Plane Pod Container Pod Container ContainerPod Pod Container Pod Container Istio - AuthIstio-Manager
  23. 23. What’s Istio ? • HTTP/1.1, HTTP/2. gRPC、およびTCPトラフィックの自動化されたZone間のロー ド・バランシング • 豊富なルーティング・ルール、耐障害性、フォールト・インジェクションを伴ったマイク ロサービス間通信の振る舞いに関する詳細なコントロール制御 • アクセス・コントロールやレイト・リミット、及び割り当てをサポートするプラガブルな ポリシー・レイヤーと設定用のAPI • クラスターへの全てのトラフィックのメトリクス、ログおよびトレースを自動化 • クラスター内での、強力なIDアサーションによるセキュアなサービス間認証の提供 Istioの主な特徴
  24. 24. Istio Install Istio環境の構築 Internet Terminal Manager Server kubectl Kubernetes Cluster Server ServerAgent Bookinfo RancherUI JaegerUI GCE GCE Bookinfo
  25. 25. Istio Install JAEGERについて • Uber社が開発し、Go言語で書かれ、OpenTracing仕様の分散トレーサー兼モ ニタリングツール • CNCF(Cloud Native Computing Foundation)のプロジェクト マイクロサービス、サービスメッシュ環境において、各サービスの挙動や性能な どを把握する上で分散トレーシングツールは必要不可欠です。JAEGER以外にも Zipkin、Appdashなどあります。
  26. 26. Istio Install Official Architecure Chart
  27. 27. Docker + Rancher + Kubernetes完成後のIstioインストールからの手順です。 Kubernetesクラスタ環境ができていれば問題ありません。 $ curl -L https://git.io/getLatestIstio | sh - 1.Istioダウンロード $ cd istio-0.0.6 2.Istioディレクトリ移動 $ export PATH=$PWD/bin:$PATH 3.PATH設定 $ kubectl apply -f install/kubernetes/istio.yaml 4.Istio Core Componentインストール Istio Install
  28. 28. Istio Install $ kubectl get svc -n istio-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingress LoadBalancer 10.43.164.179 35.190.227.164 80:30252/TCP,443:32497/TCP 2m istio-mixer ClusterIP 10.43.41.80 <none> 9091/TCP,15004/TCP,9093/TCP,9094/TCP,9102/TCP,9125/UDP,42422/TCP 2m istio-pilot ClusterIP 10.43.35.195 <none> 15003/TCP,8080/TCP,9093/TCP,443/TCP 2m 1.Service確認 $ kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ca-cd9dfbdbb-dmwfm 1/1 Running 0 6m istio-ingress-84c7ddcb7f-x7cln 1/1 Running 0 6m istio-mixer-67d9bd59cb-ffkdm 3/3 Running 0 6m istio-pilot-5dd75b8f7f-4lszq 2/2 Running 0 6m 2.Pod確認 3.Bookinfoアプリケーションインストール $ kubectl apply -f <(istioctl kube-inject --debug -f samples/bookinfo/kube/bookinfo.yaml) service "details" created deployment "details-v1" created service "ratings" created deployment "ratings-v1" created service "reviews" created deployment "reviews-v1" created deployment "reviews-v2" created deployment "reviews-v3" created service "productpage" created deployment "productpage-v1" created ingress "gateway" created
  29. 29. Istio Install $ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE details ClusterIP 10.43.131.189 <none> 9080/TCP 5m kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 31m productpage ClusterIP 10.43.212.118 <none> 9080/TCP 4m ratings ClusterIP 10.43.38.115 <none> 9080/TCP 5m reviews ClusterIP 10.43.116.15 <none> 9080/TCP 5m 4.Service確認 5.Pod確認 $ kubectl get pods NAME READY STATUS RESTARTS AGE details-v1-85d88d8d78-9qrbb 2/2 Running 0 11m productpage-v1-79d9b8f6fd-9njrx 2/2 Running 0 11m ratings-v1-5784cf4566-sltm9 2/2 Running 0 11m reviews-v1-8658f757b6-q84fn 2/2 Running 0 11m reviews-v2-74c77465d8-bn9bx 2/2 Running 0 11m reviews-v3-65d99d4694-txk9f 2/2 Running 0 11m $ kubectl get ingress -o wide NAME HOSTS ADDRESS PORTS AGE gateway * 35.190.227.164 80 12m 6.Ingress IP確認
  30. 30. Istio Install $ export GATEWAY_URL=35.190.227.164:80 7.export実行 8.Webブラウザアクセス http://35.190.227.164/productpage
  31. 31. Istio Install $ kubectl apply -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger- kubernetes/master/all-in-one/jaeger-all-in-one-template.yml 9.JAEGERインストール 10.RancherUIの上部メニュー「KUBERNETES」-「Infrastructure Stacks」選択
  32. 32. Istio Install 11.「kubernetes-ingress-lbs」で「Add LoadBalancer」を選択
  33. 33. Istio Install 12.以下設定を実施し、「Create」ボタンを押下 任意名を入力 「16686」と入力「16686」と入力 「jaeger-agent」を 選択
  34. 34. Istio Install 13.「16686/tcp」をクリック
  35. 35. Istio Install 14.「Jaeger UI」画面確認
  36. 36. Istio Install 15.Bookinfoアプリを数回リロードして、「productpage」を選択して、「Find Traces」Find Tracesボタンを押下
  37. 37. Information 参考サイト 1.Istio https://istio.io/ 2.Istio IBM https://www.ibm.com/blogs/solutions/jp-ja/ibm-google-lyft-give- microservices-ride-istio-service-mesh/ 3.Istio入門 その1 -Istioとは?- https://qiita.com/Ladicle/items/979d59ef0303425752c8 Istio The Service Mesh 1.Pattern: Service Mesh http://philcalcado.com/2017/08/03/pattern_service_mesh.html
  38. 38. Information 2018.04.19(Thu) @BELLESALLE KANDA お申し込み先 https://eventregist.com/e/containerdays1804/ticket rancherjp20 “20%OFF Promotion Code”
  39. 39. Information Training 4/20(Fri),5/7(Mon) 講師担当 お申し込み先 4/20(Fri) https://eventregist.com/e/containerdays1804training/ticket 5/7(Mon) http://eventregist.com/e/containerdays1804training2
  40. 40. Information Training カリキュラム Docker基礎 • サーバ仮想化について • Dockerの基礎技術~Linuxコンテナー~ • Dockerとは? • Dockerの基礎技術~Dockerイメージ~ • Dockerハンズオン~WordPressの環境作成~ • 参考図書・資料 • 仮想マシンの作成 • Dockerのインストール • Docker Hubからコンテナーイメージのpull • コンテナーの起動 • 起動したコンテナーの確認 • コンテナーとホストLinuxとの切替 • コンテナーの起動と停止 • DockerfileからWordPress環境作成 • コンテナーのcommit • コンテナーイメージをDocker Hubにpush • コンテナーのライフサイクル • 複数コンテナー • Docker Compose • docker-compose.ymlの内容 • .envファイルの内容 • 主なコマンド • コンテナーオーケストレーション Kubernetes(オーケストレーション) • kubernetesについて Worklad~Podについて~ Network~Serviceについて~ Storage~Volumeについて~ Storage~PersistentVolume(PV)とPersistentVolumeClaim(PVC)について~ Storage~StorageClass~ Storage~ConfigMapについて~ Storage~Secretについて~ オブジェクト識別~LabelとLabel Selectorについて~ オブジェクト識別~Namespaceについて~ • ハンズオン環境について • RKE(Rancher Kubernetes Engine)について • 仮想マシン作成とRKEインストール準備 • RKEのインストール • RKEでkubernetesクラスターの構築 • kubectlについて • kubectlのインストール • Helmについて • Helmのインストール • Prometheusについて • Prometheusのインストール • PrometheusとGrafana連携 • weavescopeについて • weavescopeのデプロイ • Guestbookアプリケーションについて • Guestbookアプリケーションのデプロイ • Ingressについて • Ingressの設定追加 • kubernetes dashboardについて • kubernetes dashboardのデプロイ Microsft Azure AKS • AKSについて • AKSでkubernetesクラスターの構築
  41. 41. Thank you for your attention !!

×