AWS App Mesh Controller
维护了自定义资源 (CRD):Mesh、VirtualNode、VirtualService、VirtualRouter、VirtualGateway 和 GatewayRoute。
使用 App Mesh Controller
时,您可以通过 Kubernetes API 管理这些 App Mesh 自定义资源,例如VirtualService和VirtualNode,就像管理原生 Kubernetes 资源(例如Service和Deployment)一样。
App Mesh Controller
会监控您的 Kubernetes 对象,例如App Mesh 资源被创建或更改。
App Mesh 资源规范是通过使用CRD来完成的, 这些自定义资源对应到以下 App Mesh API 对象:
要使应用的 pod 加入网格,它必须有一个开源 Envoy 代理容器作为 pod 的 sidecar 运行,用于建立 AWS App Mesh 的数据平面。因此,我们必须在 Product Catalog App 部署的每个 pod 中运行一个 Envoy 容器。
App Mesh 使用 Envoy sidecar 容器作为微服务所有入口和出口流量的代理。 使用 sidecar 模式,我们创建了service mesh的骨干部分,同时不会影响我们的应用。
控制器将处理常规的 App Mesh 任务,例如创建 Envoy 代理容器并将其注入到应用的 Pod。 自动sidecar注入是通过在Namespace上启用 webhook 来实现的。