This article shows the architecture of a small Istio service mesh with only one Airlock Microgateway-protected web application deployed in a Kubernetes cluster. Istiod converts the high-level routing rules into Envoy-specific configurations of the Envoy proxies that are deployed as sidecars. These Envoy sidecars are injected into each Pod forming the Istio data plane. However, in Airlock Microgateway, the Microgateway Operator Pod is not a typical manageable web application, but a technical component that manages the Microgateway functionality. Hence, the Microgateway Operator does not need to be maintained by the Istio control plane.
The example illustrates a simple setup with a service mesh of one web application, the Microgateway Operator and the Istiod container. The Web application container has the Microgateway Engine and the Istio proxy injected as sidecars.
- The three namespaces are:
istio-system
working as the Istio control plane.airlock-microgateway-system
with the Microgateway Operator Pod, which is not part of the service mesh (no Istio proxy sidecar).application
with a web application, secured by Airlock Microgateway and part of the service mesh (with Istio proxy sidecar).
Within the Kubernetes cluster, the Microgateway Operator container is responsible to inject and configure the Airlock Microgateway containers in the Web application Pods. This means, injecting the Microgateway Network Manager init container and Microgateway Engine container as sidecars to the Web application container. For this to happen, the Microgateway Operator protects the Web application Pod based on annotations like sidecar.microgateway.airlock.com/...
at the time of deployment.