SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
8.
DeploymentとReplicaSetの仕組みで、ノードの障害やアプリのクラッシュ等で
Podが足りなくなった際に自動的にPodが追加される
DeploymentはReplicaSetを管理し、ReplicaSetはPodを指
定数(Replica数)に調整・管理を行う仕組。
Podがレプリカ数より足りない場合はPodを追加し、多
い場合はをPodを削除する
Deployment
ReplicaSet
Pod
A
Pod
B
Pod
C
Deployment
ReplicaSet
Pod
A
Pod
B
Pod
C
Pod
C
9.
Deployment
ReplicaSet V1
Pod Pod Pod
Deployment
ReplicaSet v1
Pod Pod
ReplicaSet V2
Pod
Deployment
ReplicaSet V2
Pod Pod Pod
16.
https://istio.io/docs/concepts/what-is-istio/
Features for Resiliency(回復性)
17.
Istioで利用されている主な機能
• Dynamic service discovery
• Load balancing
• TLS termination
• HTTP/2 and gRPC proxies
• Circuit breakers
• Health checks
• Staged rollouts with %-based traffic
split
• Fault injection
• Rich metrics
https://www.envoyproxy.io/
Envoy はKubernetes Pod内に
Sidecarとしてデプロイされる
“ENVOY IS AN OPEN SOURCE
EDGE AND SERVICE PROXY,
DESIGNED FOR CLOUD-NATIVE
APPLICATIONS”
https://www.envoyproxy.io/
22.
https://istio.io/docs/concepts/traffic-management/#discovery-and-load-balancing
Service discovery
service
Load balancing algorithm
• round robin
• Random
• weighted least request (重み付け
最少接続数)
25.
• defines the rules that control how requests for a service are routed within an Istio
service mesh
• defines policies that apply to traffic intended for a service after routing has occurred
• configuration for load balancing, connection pool size from the sidecar, and outlier
detection settings to detect and evict unhealthy hosts from the load balancing pool
• can be used for scenarios like A/B testing, or routing to a specific version of a
service
Traffic Routing Configuration reference:
https://istio.io/docs/reference/config/istio.networking.v1alpha3/
26.
Communication between services
https://istio.io/docs/concepts/traffic-management/#communication-between-
services
splitting traffic between versions
https://istio.io/docs/concepts/traffic-management/#splitting-traffic-between-versions
ServiceX
Reviews-Pod2
V1
Reviews-
Pod4
V3
Reviews-Pod3
V1
Reviews-Pod1
V1
27.
Communication between services
https://istio.io/docs/concepts/traffic-management/#communication-between-
services
splitting traffic between versions
https://istio.io/docs/concepts/traffic-management/#splitting-traffic-between-versions
ServiceX
Reviews-Pod2
V1
Reviews-
Pod4
V2
Reviews-Pod3
V1
Reviews-Pod1
V1
8.
DeploymentとReplicaSetの仕組みで、ノードの障害やアプリのクラッシュ等で
Podが足りなくなった際に自動的にPodが追加される
DeploymentはReplicaSetを管理し、ReplicaSetはPodを指
定数(Replica数)に調整・管理を行う仕組。
Podがレプリカ数より足りない場合はPodを追加し、多
い場合はをPodを削除する
Deployment
ReplicaSet
Pod
A
Pod
B
Pod
C
Deployment
ReplicaSet
Pod
A
Pod
B
Pod
C
Pod
C
9.
Deployment
ReplicaSet V1
Pod Pod Pod
Deployment
ReplicaSet v1
Pod Pod
ReplicaSet V2
Pod
Deployment
ReplicaSet V2
Pod Pod Pod
16.
https://istio.io/docs/concepts/what-is-istio/
Features for Resiliency(回復性)
17.
Istioで利用されている主な機能
• Dynamic service discovery
• Load balancing
• TLS termination
• HTTP/2 and gRPC proxies
• Circuit breakers
• Health checks
• Staged rollouts with %-based traffic
split
• Fault injection
• Rich metrics
https://www.envoyproxy.io/
Envoy はKubernetes Pod内に
Sidecarとしてデプロイされる
“ENVOY IS AN OPEN SOURCE
EDGE AND SERVICE PROXY,
DESIGNED FOR CLOUD-NATIVE
APPLICATIONS”
https://www.envoyproxy.io/
22.
https://istio.io/docs/concepts/traffic-management/#discovery-and-load-balancing
Service discovery
service
Load balancing algorithm
• round robin
• Random
• weighted least request (重み付け
最少接続数)
25.
• defines the rules that control how requests for a service are routed within an Istio
service mesh
• defines policies that apply to traffic intended for a service after routing has occurred
• configuration for load balancing, connection pool size from the sidecar, and outlier
detection settings to detect and evict unhealthy hosts from the load balancing pool
• can be used for scenarios like A/B testing, or routing to a specific version of a
service
Traffic Routing Configuration reference:
https://istio.io/docs/reference/config/istio.networking.v1alpha3/
26.
Communication between services
https://istio.io/docs/concepts/traffic-management/#communication-between-
services
splitting traffic between versions
https://istio.io/docs/concepts/traffic-management/#splitting-traffic-between-versions
ServiceX
Reviews-Pod2
V1
Reviews-
Pod4
V3
Reviews-Pod3
V1
Reviews-Pod1
V1
27.
Communication between services
https://istio.io/docs/concepts/traffic-management/#communication-between-
services
splitting traffic between versions
https://istio.io/docs/concepts/traffic-management/#splitting-traffic-between-versions
ServiceX
Reviews-Pod2
V1
Reviews-
Pod4
V2
Reviews-Pod3
V1
Reviews-Pod1
V1