Install Istio and Gateway APIs

Istio is a popular Service Mesh, an infrastructure layer that manages communication between microservices in a Kubernetes cluster.

Istio adds many custom features to Kubernetes like traffic routing, mTLS, gateways, sidecar rules, policies, and more

Install Istio crds from istio/base and install istio daemon(istiod) a control plane the manages everything related to Istio

helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
helm install istio-base istio/base -n istio-system --create-namespace
kubectl get crds | grep istio
helm install istiod istio/istiod -n istio-system

Validate istio installation

kubectl -n istio-system get all

Check the gateway class. You should see two gateway classes

kubectl get gc
  • istio - This is Istio’s built-in controller that manages Gateway resources. It creates and manages actual gateway pods (like istio-ingressgateway) in your cluster.

  • istio-remote - It references gateways that exist in another. Meaning the controller is in another cluster and especially useful for the multi cluster mesh management.

Setup gateway API with Istio