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
- 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
- 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
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
.
Top comments (0)