If you are using k8s for hosting e-commerce website, you will definitely need access from Internet. You will want that a user should be able to access the site in the way it accesses any site. So, you need to expose some apps to external world, for example web app, cart app. K8s cluster manages app to app communication. For any communication coming from outside, you need to identify some suitable way. K8s provides various options for this. This document helps to identify right approach.
By default, in a Kubernetes cluster with the Istio service mesh enabled, services can only be accessed inside the cluster. However, some of the services may need to be exposed to external networks as well. Kubernetes and Istio provide a variety of means to get external traffic into your cluster including NodePort, LoadBalancer, Kubernetes Ingress and Istio Gateway.
With all these options, which one should be the right choice for your service mesh running in production?
https://medium.com/@zhaohuabing/which-one-is-the-right-choice-for-the-ingress-gateway-of-your-service-mesh-21a280d4a29c