blogs/eks-appmesh-connectivity/deployments/yaml/mesh/appmesh/yelb-gateway.yaml (87 lines of code) (raw):
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