Thank you Venkat. Awesome video. Crisp and clear. You are an excellent teacher. Last couple of days I am searching on how to implement this. Thanks once again...
Nice Venkat...Can u make a video on Istio telemetry like for example if some one want to track request count by service and response times by service how can we do that and how to scrape this telemetry and store it to some persistent store...and a video on Istio jwt token validation and how can we extract and forward headers from the jwt token
Hai this is Janardhan, I have lot-of confusion in these Topics Like Virtual-service and Destination rules one more is Istio-Gateway make one video combined
Hi Venkat, I have a doubt,what is the use of istio here, we can do similar application without istio also right. What if we don't use istio, is it mandatory?
Hi Vamshi, thanks for watching. This particular demo shows the ability to route request to specific versions of your microservice running in your cluster. Like specifying what percentage of traffic goes to a particular version of your deployment. May I ask you how you can achieve the stuff I have shown in this video without Istio or anyother specialty tools with just Kubernetes core tools? Cheers.
Hi Ahmd, thanks for watching this video. Although I haven't mentioned the word Canary, I think I have covered the concept in this video and the part 2 of this video. Basically, canary deployment is about rolling out your changes to small subset of your audience and then gradually increasing the percentage. So you have v1 of your application serving the entire traffic. You deploy v2 of the application. Now to follow canary deployment, you can do this. Use request routing to route 5% of the traffic to v2 of the application and 95% to v1. So this is a form of testing without impacting the entire audience. If v2 has problems only those 5% traffic going to v2 will be affected. You can quickly undeploy and fix the application. Then you will gradually increase the percentage of traffic to v2 and reduce traffic to v1. Other scenario would be, based on users. You can route v2 traffic to only certain group of people based on the request headers. This is basically canary deployment. And I have covered it in this video and the next part. Thanks.
I am looking for data model provided by Istio (e.g. service dependency, service affinity, incoming traffic and utgoing traffic win an CSV file). Could you suggest me ?
I have a problem with istio mesh. I have deployed simple applications to K8, but interservice communication takes 5 to 15ms. Any idea how to debug the issue? I tried to do tcpdump to metallb IP address. But no packet matched
Hi Venkat. Thanks for the great tutorials. Could you please help with retries functionality. Just can't make it work. retries: attempts: 10 perTryTimeout: 2s retryOn: 5xx It was applied and I see it in Kiali. But no time delay on curl requests when the backends unavailable (503). I expected the delay of minimum 2 sec.
Hi Sergey, thanks for watching. How did you test this? You have this config in your VirtualService and I assume you stopped the backend service to test the 503 error. The request will try to connect 10 times after the initial failure. PerTryTimeout, I believe is only applicable when the backend service is available but not responding due to some overload. Since your backend service is not available it returns immediately. istio.io/docs/concepts/traffic-management/#retries
@@justmeandopensource Thank you very much. You were right, it works. But I needed proof. So I did the following. Made two pods working: one replied with 200 and another with 503 (removed all probes to prevent restarting). Without "retries" they were hit about 50/50. But when I switched on "replies" with only 1 value the result was always 200.
Great video. Thanks . Can we extract dashboard data from Kiali or Grafana? Kiali dashboard is very interesting and I want to extract the data in CSV file. Is there any option? Please suggest.
Hi Venkat, thank you so much for awesome video series. I have couple of questions . would like to know your views on it. I am using Istio-1.5 and 1.6. 1. Can we automate Istio with Terraform? if yes how I can start with it. 2. Can we get all the functionality of ALB ingress in Istio or simply we use it instead of ALB ingress.
Hi Shreyas, thanks for watching. In terms automating Istio, what is it exactly that you are trying to do? There are two parts. One is the istio installation which you can do via terraform. And then creating istio kubernetes resources and managing it for the application that you deploy. Again this can also be automated, managed through Terraform as normal kubernetes resources. I guess you still need ALB and Istio and can't use one over the other.
@@justmeandopensource Hi Venkat, thanks for your reply, I want to achieve both the things (Istio Installation and Istio Kubernetes resources and management) with Terraform . Kindly let me know how could I do that.. any references or any suggestion will be really helpful for me. I tried with this command "istioctl manifest generate -f manifest.yaml" and then call all the yaml files via Terraform but the issue I was facing is when we run terraform destroy it's not deleting all the resources of Istio and which is creating conflicts when applying next time. I am using null resources when=destroy in Terraform for it.
Hi Sarfaraz, thanks for watching. I think I have covered it on my earlier videos. Here are the links from official documentation. Istio VirtualService istio.io/docs/reference/config/networking/virtual-service/ Gateway istio.io/docs/reference/config/networking/gateway/ Cheers
Hi Venkad, I'm testing istio in Digital ocean infrastructure and i was able to set it up as per your instructions. System is up and running. But i'm unable to connect to my app via the istio-ingress-gateway. Grafana is accessible via the load balancer. Please advise. Appreciate your support in advance. pastebin.com/LHkfAyDE I'm not sure about the gateway / virtual service.
Hi Ishan, thanks for watching. Istio ingress gateway service is a Load Balancer type service by default. Did you get a load balancer ip for this service? I am not sure about Digital Ocean as I haven't used their infrastructure.
Thank you Venkat. Awesome video. Crisp and clear. You are an excellent teacher. Last couple of days I am searching on how to implement this. Thanks once again...
Hi Nevin, many thanks for watching this video. Cheers.
Excellent as usual :)
Hi Srinath, thanks for watching this video.
Nice one Venkat.Thank you.
Hi Anil, thanks for watching this video.
Nice Venkat...Can u make a video on Istio telemetry like for example if some one want to track request count by service and response times by service how can we do that and how to scrape this telemetry and store it to some persistent store...and a video on Istio jwt token validation and how can we extract and forward headers from the jwt token
Hi Rajiv, thanks for watching. I will see if I can try those. Istio already comes with Prometheus so it can be used as the persistent store.
perfect & cool
Thanks for watching.
@@justmeandopensource you're welcome
Hai this is Janardhan, I have lot-of confusion in these Topics Like Virtual-service and Destination rules one more is Istio-Gateway make one video combined
Hi Venkat, I have a doubt,what is the use of istio here, we can do similar application without istio also right.
What if we don't use istio, is it mandatory?
Hi Vamshi, thanks for watching. This particular demo shows the ability to route request to specific versions of your microservice running in your cluster. Like specifying what percentage of traffic goes to a particular version of your deployment. May I ask you how you can achieve the stuff I have shown in this video without Istio or anyother specialty tools with just Kubernetes core tools?
Cheers.
Hi venkat i have a query : on a high traffic of 1000 tps istio always provide 15s timeout. wheather i set the timeout on virtual service
hi
can you explain canary deploy Kubernetes
Hi Ahmd, thanks for watching this video. Although I haven't mentioned the word Canary, I think I have covered the concept in this video and the part 2 of this video.
Basically, canary deployment is about rolling out your changes to small subset of your audience and then gradually increasing the percentage.
So you have v1 of your application serving the entire traffic. You deploy v2 of the application. Now to follow canary deployment, you can do this. Use request routing to route 5% of the traffic to v2 of the application and 95% to v1. So this is a form of testing without impacting the entire audience. If v2 has problems only those 5% traffic going to v2 will be affected. You can quickly undeploy and fix the application.
Then you will gradually increase the percentage of traffic to v2 and reduce traffic to v1.
Other scenario would be, based on users. You can route v2 traffic to only certain group of people based on the request headers. This is basically canary deployment. And I have covered it in this video and the next part.
Thanks.
@@justmeandopensource i know you haven't mentioned it in this video, I want new vide about canary if possible :)
@@ahmedelswafy1671 okay. Next video might give additional details. Thanks.
I am looking for data model provided by Istio (e.g. service dependency, service affinity, incoming traffic and utgoing traffic win an CSV file). Could you suggest me ?
I have a problem with istio mesh. I have deployed simple applications to K8, but interservice communication takes 5 to 15ms.
Any idea how to debug the issue?
I tried to do tcpdump to metallb IP address. But no packet matched
Hi Venkat. Thanks for the great tutorials.
Could you please help with retries functionality. Just can't make it work.
retries:
attempts: 10
perTryTimeout: 2s
retryOn: 5xx
It was applied and I see it in Kiali. But no time delay on curl requests when the backends unavailable (503). I expected the delay of minimum 2 sec.
Hi Sergey, thanks for watching. How did you test this? You have this config in your VirtualService and I assume you stopped the backend service to test the 503 error. The request will try to connect 10 times after the initial failure. PerTryTimeout, I believe is only applicable when the backend service is available but not responding due to some overload. Since your backend service is not available it returns immediately.
istio.io/docs/concepts/traffic-management/#retries
@@justmeandopensource Thank you very much. You were right, it works. But I needed proof. So I did the following. Made two pods working: one replied with 200 and another with 503 (removed all probes to prevent restarting). Without "retries" they were hit about 50/50. But when I switched on "replies" with only 1 value the result was always 200.
@@sergeil6079 Cool.
Great video. Thanks . Can we extract dashboard data from Kiali or Grafana? Kiali dashboard is very interesting and I want to extract the data in CSV file. Is there any option? Please suggest.
Hi Venkat, thank you so much for awesome video series. I have couple of questions . would like to know your views on it.
I am using Istio-1.5 and 1.6.
1. Can we automate Istio with Terraform? if yes how I can start with it.
2. Can we get all the functionality of ALB ingress in Istio or simply we use it instead of ALB ingress.
Hi Shreyas, thanks for watching. In terms automating Istio, what is it exactly that you are trying to do? There are two parts. One is the istio installation which you can do via terraform. And then creating istio kubernetes resources and managing it for the application that you deploy. Again this can also be automated, managed through Terraform as normal kubernetes resources.
I guess you still need ALB and Istio and can't use one over the other.
@@justmeandopensource Hi Venkat, thanks for your reply, I want to achieve both the things (Istio Installation and Istio Kubernetes resources and management) with Terraform . Kindly let me know how could I do that.. any references or any suggestion will be really helpful for me. I tried with this command "istioctl manifest generate -f manifest.yaml" and then call all the yaml files via Terraform but the issue I was facing is when we run terraform destroy it's not deleting all the resources of Istio and which is creating conflicts when applying next time. I am using null resources when=destroy in Terraform for it.
Hi sir can you provide some deep knowledge on Istio Gateway and VirtualService.
Hi Sarfaraz, thanks for watching. I think I have covered it on my earlier videos. Here are the links from official documentation.
Istio VirtualService
istio.io/docs/reference/config/networking/virtual-service/
Gateway
istio.io/docs/reference/config/networking/gateway/
Cheers
Hi Venkad, I'm testing istio in Digital ocean infrastructure and i was able to set it up as per your instructions. System is up and running. But i'm unable to connect to my app via the istio-ingress-gateway.
Grafana is accessible via the load balancer. Please advise. Appreciate your support in advance.
pastebin.com/LHkfAyDE
I'm not sure about the gateway / virtual service.
Hi Ishan, thanks for watching.
Istio ingress gateway service is a Load Balancer type service by default. Did you get a load balancer ip for this service? I am not sure about Digital Ocean as I haven't used their infrastructure.
@@justmeandopensource Thanks for the reply. Issue was in the virtual service.
on istio-ingressgateway provisioning, load balancer is created on Digital Ocean.
@@IshanRakitha So what you get when you open the loadbalancer ip in web browser?
@@justmeandopensource Now it routes properly. I'm pointing multiple services to multiple sub domains.