Giter VIP home page Giter VIP logo

aws-app-mesh-controller-for-k8s's Introduction

CircleCI

App Mesh Logo

AWS App Mesh Controller For K8s

AWS App Mesh Controller For K8s is a controller to help manage App Mesh resources for a Kubernetes cluster. The controller watches custom resources for changes and reflects those changes into the App Mesh API. It is accompanied by the deployment of three custom resource definitions (CRDs): meshes, virtualnodes, and virtualservices. These map to App Mesh API objects which the controller manages for you.

Getting started

Check out the example application, and read design and usage.

To begin using it in your cluster, follow the install instructions.

Custom Resource Examples

First, create a Mesh resource, which will trigger the controller to create a Mesh via the App Mesh API. Then, define VirtualServices for each application that you want to route traffic to, and finally create VirtualNodes for each Deployment that will make up that Application.

Mesh

apiVersion: appmesh.k8s.aws/v1beta1
kind: Mesh
metadata:
  name: my-mesh

Virtual Node

apiVersion: appmesh.k8s.aws/v1beta1
kind: VirtualNode
metadata:
  name: my-app-a
  namespace: prod
spec:
  meshName: my-mesh
  listeners:
    - portMapping:
        port: 9080
        protocol: http
  serviceDiscovery:
    dns:
      hostName: my-app-a.prod.svc.cluster.local
  backends:
    - virtualService:
        virtualServiceName: my-svc-a

Virtual Service

apiVersion: appmesh.k8s.aws/v1beta1
kind: VirtualService
metadata:
  name: my-svc-a
  namespace: prod
spec:
  meshName: my-mesh
  virtualRouter:
    name: my-svc-a-router
    listeners:
      - portMapping:
          port: 9080
          protocol: http
  routes:
    - name: route-to-svc-a
      http:
        match:
          prefix: /
        action:
          weightedTargets:
            - virtualNodeName:
              weight: 1

Integrations

Security disclosures

If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions here or email AWS security directly.

Contributing

Contributions welcome! Please read our guidelines and Code of Conduct.

License

This library is licensed under the Apache 2.0 License.

aws-app-mesh-controller-for-k8s's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.