Last active
July 19, 2019 14:35
-
-
Save mreferre/e3647b025d619b1db9b889d51d28729c to your computer and use it in GitHub Desktop.
This file contains hidden or 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