In this example we will learn how to configure AWS Instance, i already have created an AWS image where kubernetes is also installed. In this we will see how configure master nodes and how slave nodes joins cluster
In this we will learn how to install istio
We have two microserice Customer and practice. Customer microservice calls the practice microservice.
Customer and practice images are pulled from docker hub.
One version of customer (V1) and four version of practice (V1,V2,V3 ad V4) microservice are deployed to cluster.
In this example we will see how to configure customer and practice yaml files. Setting up classic load balancer and access microservice in browser.
We also need to apply to apply Destination rules and Customer Gateway & Virtual Service so that its accessible outside cluster
In this we will see how to set public domain in Route53 and map it with Load balancer and finally accessing the microservice with public domain.
How to set the Gateway and Virtual service rules to access Graphana in browser
How to set the Gateway and Virtual service rules to access Kiali in browser
How to set the Gateway and Virtual service rules to access jaeger in browser
How to route 100% traffic to Practice Version V1 and how to route Percentage wise traffic to version from command and kiali
Here we have deployed V4 of Practice Service which has some Issue and it will randomly throw exception
Here is the Code
Random random = new Random();
int randomNumber = random.nextInt(10);
if(randomNumber < 5) {
throw new Exception("not able to process");
} else {
return "practice service V4";
}
Here we will see how istio retry mechanism will help.
In this example we will redirect all traffic to Practice(V4) version and check the sucess rate in graphana, then we will apply Practice Service Retry rules yaml and check the success rate
Circuit Breaking & Outlier detection important pattern for creating resilient microservice applications. If any failure occurs then istio will autimatically open's the circuit for sometime as per the configuration and all the request are router to healthy instances.
Here we will see this example traffic is being router to Practice V1 and V4 and we will analyze the failure rate for V4, then we wil apply Outlier detection rules will be disconnect the V4 version and 100% traffc is being routed to V1.
Mirroring is a concept that allows feature teams to deploy changes to production with as little risk as possible. Mirroring sends a copy of live traffic to a mirrored service.
In this task 100% traffic is routed to Practice V1 and copy of that is sent to version V4. So now can check the V4 Logs for any error. In this way we would be able to test the new version in production.
In this task we will see how to configure Network load balancer, configure https etc.
In this task we will see after applying mTLS Setting how pods without sidecar won't be able to access pods with sidecar