Istio CRD triplet

dejanualex

dejanualex

Posted on July 19, 2023

Istio CRD triplet

One of the most popular choices among organizations for open-source service mesh is Istio. As a prerequisite is rather important to understand the value of a service mesh.

To make sure traffic management is in place you're going to manage (minimum) these 3 CRDs:

  • Gateway = resource describes how to route traffic from the outside world to your mesh-enabled services, typically used to expose your services to external traffic, such as incoming HTTP requests from outside the mesh.
# list gateways from all namespaces
kubectl get gateways.networking.istio.io -A
Enter fullscreen mode Exit fullscreen mode
  • VirtualService = resource that defines a set of routing rules for traffic sent to a Kubernetes service.
# list virtualservices from all namespaces
kubectl get virtualservices.networking.istio.io -A
Enter fullscreen mode Exit fullscreen mode
  • DestinationRule = resource that defines the policies that apply to traffic after it has been routed through VirtualService
# list destinationrules from all namespaces
kubectl get destinationrules.networking.istio.io -A
Enter fullscreen mode Exit fullscreen mode

When a request comes into the gateway, Istio will use the rules defined in the virtualservice resource to determine which service to route the traffic to. Afterwards the destinationrule applies the policies to traffic intended for the service after routing has occurred.

There're are many other Istio resources, to list them just kubectl api-resources | grep -i istio and if you need to inspect what Istio resource are in the cluster, you can use kubectl get istio-io -A.

💖 💪 🙅 🚩
dejanualex
dejanualex

Posted on July 19, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Istio CRD triplet
kubernetes Istio CRD triplet

July 19, 2023