Hi Rushikesh Mashidkar, this is an amazing blog, well done! I had some questions on it.
After applying a service.yaml file, why have you again exposed the deployment? Isn't it just like creating 2 services out of which one won't be used?
For testing the ingress, could you test it in the browser? because although curl commands show the code, it would be a much better way to show ingress working by hitting the domain on the browser.