Service Mesh for Enterprises / Cloud Native Days Tokyo 2019Motonori Shindo
?
Cloud Native Days Tokyo 2019での講演資料です。
アプリケーションのマイクロサービス化が一般的になってくるにつれて、セキュリティ、オブザーバビリティなど、課題も徐々に明らかになってきており、そのような課題を解決する技術として「サービスメッシュ」が注目を集めています。本セッションではデファクトのサービスメッシュ実装であるIstioをベースにしたNSX Service Mesh(NSX-SM))がいかに今日のエンタープライズが抱える課題を解決することができるかについて解説を行います。
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用Motonori Shindo
?
Cluster API は Kubernetes の宣言的APIとリソースの管理機能を活かし、Kubernetes環境のライフサイクル管理を行うもので、Kubernetesコミュニティで仕様の策定と開発が進められています。
これまでもKubernetes環境の構築を支援するツールはいくつかありましたが、Cluster APIはコミュニティからの大きな支持を得ており、Cluster APIのエコシステムが広がりつつあります。
本セッションでは Cluster API の概要と最新の動向、また、Cluster APIを利用した大規模マルチクラウド環境への適用などをデモを交えながら解説を行います。
本資料はCloud Operator Days Tokyo 2020登壇時の資料です。
【検証してみた】いま話題のVMware on IBM Cloud SoftLayer 配布版Hayama Kyouhei
?
Open Cloud Innovation Festa 2016
【検証してみた】いま話題のVMware on IBM Cloud SoftLayer
日本IBM
?クラウド?テクニカル?サービス 葉山 慶平
?クラウド?テクニカル?サービス 多田 勇樹
http://softlayer.connpass.com/event/34524/
Deploying secure service mesh for applications on k8s with using A10's Lighti...Kentaro Ishizuka
?
Presentation regarding deploying secure service mesh with A10 Network's Lightning ADC at Openstack Days and CloudNative Days Tokyo 2019. #OSDT2019 #CNDT2019
Deploying secure service mesh for applications on k8s with using A10's Lighti...Kentaro Ishizuka
?
Presentation regarding deploying secure service mesh with A10 Network's Lightning ADC at Openstack Days and CloudNative Days Tokyo 2019. #OSDT2019 #CNDT2019
4. ?2019 VMware, Inc. 4
マイクロサービスとは?
マイクロサービス != コンテナ
アプリケーションの機能を、異なるチーム、
異なる?語で開発された?さなソフトウェア
の単位に分割するという考え?
マイクロサービスの間では、?語?依存の
API を?いて通信を?う
マイクロサービスを提供するホストは VM で
も構わないが、より?さなフットプリントで
実現できるコンテナの?が適している
5. ?2019 VMware, Inc. 5
マイクロサービス アーキテクチャの利点
シンプル – 各サービスが独?
しており、個別のアップグレー
ドも可能
柔軟性 – ?平展開が容易で、
多様なプラットフォームへの展
開も可能
回復性 – 故障影響範囲を最?
化し易い
?新性 – 新しい技術を迅速に
展開できる、新しいフレーム
ワークや開発?語への適合
Service
D
Service
C
Service
B
Service
A
Web APP
Mobile
APP
REST
API
REST
API
REST
API
API
Gateway
REST
API
REST
API
Web UIWeb
DB
DB
DB
13. ?2019 VMware, Inc. 13
Control Plane
Istio アーキテクチャ
Service A
Proxy
MixerAdapter
Pilot Galley Citadel
Adapter
Source: https://istio.io/docs/concepts/what-is-istio/
Service B
Proxy
HTTP/1.1, HTTP/2,
gRPC or TCP --
with or without
mTLS
Configuration
data to proxies Configuration
data
TLS certificate
to proxies
Policy checks,
telemetry
14. ?2019 VMware, Inc. 14
REST
API
web
service
他のサービスとの連携
サービスの検出
コネクション情報 (通信の秘匿性、暗号化)
異なる?語のサポート
エラーハンドリング
Service
B
REST
API
Service
C
REST
API
遅延の検出と対応
メトリックの収集
メトリックの送信
セルフヒーリング
エラー検出とハンドリング
web
service
Connection
Metrics
Retires
ビジネスロジック – データを取得して Web に表?する
サービス間コネクション管理のオフロード
サービス検出、暗号化、エラー検出とモニタリング
15. ?2019 VMware, Inc. 15
REST
API
web
service
他のサービスとの連携
サービスの検出
コネクション情報 (通信の秘匿性、暗号化)
異なる?語のサポート
エラーハンドリング
Service
B
REST
API
Service
C
REST
API
遅延の検出と対応
メトリックの収集
メトリックの送信
セルフヒーリング
エラー検出とハンドリング
Connection
Metrics
Retires
L7 Proxy
抽象化レイヤー
ビジネスロジック – データを取得して Web に表?する
サービス間コネクション管理のオフロード
サービス検出、暗号化、エラー検出とモニタリング
16. ?2019 VMware, Inc. 16
トラフィック スプリッティング
svcA
Envoy
Pod
Service A
svcB
Envoy
ServiceB
http://serviceB.example
Pod Labels:
version: v1.5
env: us-prod
svcB
Envoy
Pod Labels:
version: v2.0-
alpha, env:us-
staging
serviceB.example.cluster.local
Traffic routing
rules
99%
1%
Rules API
Pilot
インフラから切り離された
トラフィック制御
// A simple traffic splitting rule
destination: serviceB.example.cluster.local
match:
source: serviceA.example.cluster.local
route:
- tags:
version: v1.5
env: us-prod
weight: 99
- tags:
version: v2.0-alpha
env: us-staging
weight: 1
17. ?2019 VMware, Inc. 17
svcA
Service A
svcB
Service B
version: v1
Pod 3
Pod 2
Pod 1
コンテンツに基づく
トラフィックステアリング
svcA
Service A
svcB
Service B
version: v1
Pod 3
Pod 2
Pod 1
User-agent: *Android*
svcB’
version: canary
Pod 4
User-agent:
*iPhone*
トラフィック ステアリング
// Content-based traffic steering rule
destination: serviceB.example.cluster.local
match:
httpHeaders:
user-agent:
regex: ^(.*?;)?(iPhone)(;.*)?$
precedence: 2
route:
- tags:
version: canary