Open Source Summit 2018, Vancouver (Canada): Workshop by Josef Adersberger (@adersberger, CTO at QAware) and Michael Frank (Software Architect at QAware)
Abstract:
Istio service mesh is a thrilling new tech that helps getting a lot of technical stuff out of your microservices (circuit breaking, observability, mutual-TLS, ...) into the infrastructure - for those who are lazy (aka productive) and want to keep their microservices small. Come one, come all to the Istio playground:
(1) We provide an overview of all current Istio features on a YAML and CLI level.
(2) We guide you through the installation of Istio on a local Kubernetes cluster.
(3) We bring a small sample application.
(4) We provide assistance in the case you get stuck ... and it's up to you to explore and tinker with Istio on your own paths and with your own pace.
*** Please find prerequisites and content here: https://github.com/adersberger/istio-playground ***
2. Our network today
— Optimize first: Switch network off and on again and
use 5GHz networking
— Plan A: Local installation
— Plan B: Use GKE clusters
— Plan C: Use Katacoda
— Plan D: Steamworks
33. Deploy Missing Observability Feature: Log Analysis
(EFK)
open http://localhost:5601/app/kibana
— Perform some requests to the BookInfo application
— Use * as the index pattern
— Select @timestamp as the time filter field name
46. Canary Releases: A/B Testing
cd istio-1.0.1
istioctl create -f samples/bookinfo/networking/virtual-service-all-v1.yaml
istioctl create -f samples/bookinfo/networking/destination-rule-all.yaml
istioctl replace -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml
#open BookInfo application and login as user jason (password jason)
open http://localhost/productpage
— login as "jason" / "jason" leads to v2 (black stars)
— anonymous user leads to v1 (no stars)
53. FAQ
Q: How does the Envoy proxy intercept requests?
A: With IPtable rules (alls rules pointing to envoy)
Q: How does the auto-sidecar magic work?
A: With an Istio admission controller enhancing the
deployments
Q: How can I list all Istio custom resource definitions
and commands?
A: kubectl api-resources
Q: I can't see any metrics, logs, traces. What should I do?
A: Restart istio-telemetry Deploment or kubectl replace
-f fluentd-istio.yaml