apiVersion: appmesh.k8s.aws/v1beta2 kind: Mesh metadata: name: yelb-mesh spec: awsName: yelb-mesh egressFilter: type: DROP_ALL namespaceSelector: matchLabels: mesh: yelb-mesh --- apiVersion: apps/v1 kind: Deployment metadata: name: ingress-gw spec: replicas: 1 selector: matchLabels: app: ingress-gw template: metadata: labels: app: ingress-gw spec: containers: - name: envoy image: public.ecr.aws/appmesh/aws-appmesh-envoy:v1.25.1.0-prod ports: - containerPort: 8088 resources: limits: cpu: 1000m memory: 1000Mi requests: cpu: 100m memory: 128Mi --- apiVersion: v1 kind: Service metadata: name: ingress-gw spec: type: LoadBalancer ports: - port: 80 targetPort: 8088 name: http selector: app: ingress-gw --- apiVersion: appmesh.k8s.aws/v1beta2 kind: VirtualGateway metadata: name: ingress-gw spec: awsName: ingress-gw namespaceSelector: matchLabels: gateway: ingress-gw podSelector: matchLabels: app: ingress-gw listeners: - portMapping: port: 8088 protocol: http logging: accessLog: file: path: /dev/stdout --- apiVersion: appmesh.k8s.aws/v1beta2 kind: GatewayRoute metadata: name: gateway-route-frontend spec: awsName: gateway-route-frontend httpRoute: match: prefix: "/" action: target: virtualService: virtualServiceRef: name: yelb-ui-service