Last active
July 19, 2019 14:35
-
-
Save mreferre/e3647b025d619b1db9b889d51d28729c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This should work on Kubernetes deployments on AWS that have an ALB ingress controller as well as App Mesh components deployed. | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: Mesh | |
metadata: | |
name: MESH_NAME | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualNode | |
metadata: | |
name: yelb-ui-node | |
spec: | |
meshName: MESH_NAME | |
listeners: | |
- portMapping: | |
port: 80 | |
protocol: http | |
serviceDiscovery: | |
dns: | |
hostName: yelb-ui | |
backends: | |
- virtualService: | |
virtualServiceName: yelb-appserver | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualNode | |
metadata: | |
name: yelb-appserver-node | |
spec: | |
meshName: MESH_NAME | |
listeners: | |
- portMapping: | |
port: 4567 | |
protocol: http | |
serviceDiscovery: | |
dns: | |
hostName: yelb-appserver | |
backends: | |
- virtualService: | |
virtualServiceName: yelb-db | |
- virtualService: | |
virtualServiceName: redis-server | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualNode | |
metadata: | |
name: yelb-db-node | |
spec: | |
meshName: MESH_NAME | |
listeners: | |
- portMapping: | |
port: 5432 | |
protocol: tcp | |
serviceDiscovery: | |
dns: | |
hostName: yelb-db | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualNode | |
metadata: | |
name: redis-server-node | |
spec: | |
meshName: MESH_NAME | |
listeners: | |
- portMapping: | |
port: 6379 | |
protocol: tcp | |
serviceDiscovery: | |
dns: | |
hostName: redis-server | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualService | |
metadata: | |
name: yelb-ui | |
spec: | |
meshName: MESH_NAME | |
routes: | |
- name: yelb-ui-route | |
http: | |
match: | |
prefix: / | |
action: | |
weightedTargets: | |
- virtualNodeName: yelb-ui-node | |
weight: 1 | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualService | |
metadata: | |
name: yelb-appserver | |
spec: | |
meshName: MESH_NAME | |
routes: | |
- name: yelb-appserver-route | |
http: | |
match: | |
prefix: / | |
action: | |
weightedTargets: | |
- virtualNodeName: yelb-appserver-node | |
weight: 1 | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualService | |
metadata: | |
name: yelb-db | |
spec: | |
meshName: MESH_NAME | |
routes: | |
- name: yelb-db-route | |
http: | |
match: | |
prefix: / | |
action: | |
weightedTargets: | |
- virtualNodeName: yelb-db-node | |
weight: 1 | |
--- | |
apiVersion: appmesh.k8s.aws/v1beta1 | |
kind: VirtualService | |
metadata: | |
name: redis-server | |
spec: | |
meshName: MESH_NAME | |
routes: | |
- name: redis-server-route | |
http: | |
match: | |
prefix: / | |
action: | |
weightedTargets: | |
- virtualNodeName: redis-server-node | |
weight: 1 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: yelb-ui | |
spec: | |
ports: | |
- port: 80 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: yelb-appserver | |
spec: | |
ports: | |
- port: 4567 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: yelb-db | |
spec: | |
ports: | |
- port: 5432 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: redis-server | |
spec: | |
ports: | |
- port: 6379 | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: redis-server-v1 | |
labels: | |
app: redis-server-app | |
tier: cache | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 6379 | |
selector: | |
app: redis-server-app | |
tier: cache | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: yelb-db-v1 | |
labels: | |
app: yelb-db-app | |
tier: backenddb | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 5432 | |
selector: | |
app: yelb-db | |
tier: backenddb | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: yelb-appserver-v1 | |
labels: | |
app: yelb-appserver-app | |
tier: middletier | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 4567 | |
selector: | |
app: yelb-appserver-app | |
tier: middletier | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: yelb-ui-v1 | |
labels: | |
app: yelb-ui-app | |
tier: frontend | |
spec: | |
type: NodePort | |
ports: | |
- port: 80 | |
selector: | |
app: yelb-ui | |
tier: frontend | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Ingress | |
metadata: | |
name: yelb-ui | |
annotations: | |
kubernetes.io/ingress.class: alb # check this, your ingress.class may be different | |
alb.ingress.kubernetes.io/scheme: internet-facing | |
labels: | |
app: yelb-ui | |
spec: | |
rules: | |
- http: | |
paths: | |
- path: /* | |
backend: | |
serviceName: yelb-ui | |
servicePort: 80 | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: yelb-ui-deployment | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: yelb-ui-app | |
tier: frontend | |
spec: | |
containers: | |
- name: yelb-ui-container | |
image: mreferre/yelb-ui:0.5 | |
ports: | |
- containerPort: 80 | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: redis-server-deployment | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: redis-server-app | |
tier: cache | |
spec: | |
containers: | |
- name: redis-server-container | |
image: redis:4.0.2 | |
ports: | |
- containerPort: 6379 | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: yelb-db-deployment | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: yelb-db-app | |
tier: backenddb | |
spec: | |
containers: | |
- name: yelb-db-container | |
image: mreferre/yelb-db:0.5 | |
ports: | |
- containerPort: 5432 | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: yelb-appserver-deployment | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: yelb-appserver-app | |
tier: middletier | |
spec: | |
containers: | |
- name: yelb-appserver-container | |
image: mreferre/yelb-appserver:0.5 | |
ports: | |
- containerPort: 4567 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment