Skip to content
This repository has been archived by the owner on Nov 11, 2020. It is now read-only.

stefanprodan/appmesh-eks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App Mesh installer for EKS

The App Mesh integration with Kubernetes is made out of the following components:

  • Kubernetes custom resources
    • mesh.appmesh.k8s.aws defines a logical boundary for network traffic between the services
    • virtualnode.appmesh.k8s.aws defines a logical pointer to a Kubernetes workload
    • virtualservice.appmesh.k8s.aws defines the routing rules for a workload inside the mesh
  • CRD controller - keeps the custom resources in sync with the App Mesh control plane
  • Admission controller - injects the Envoy sidecar and assigns Kubernetes pods to App Mesh virtual nodes

App Mesh add-ons:

  • Flagger - progressive delivery operator (automated canary deployments and A/B testing)
  • Prometheus - monitoring system and time series database

EKS

Install eksctl:

brew tap weaveworks/tap
brew install weaveworks/tap/eksctl

Create an EKS cluster with the App Mesh IAM role:

eksctl create cluster --name=appmesh \
--nodes=2 \
--node-type=m5.xlarge \
--region=us-west-2 \
--appmesh-access

App Mesh

Install the App Mesh components (requires openssl and jq):

curl -fsSL https://git.io/get-app-mesh-eks.sh | bash -

The installer script will do the following:

  • creates the appmesh-system namespace
  • generates a certificate signed by Kubernetes CA
  • registers the App Mesh mutating webhook
  • deploys the App Mesh webhook in appmesh-system namespace
  • deploys the App Mesh CRDs
  • deploys the App Mesh controller appmesh-system namespace
  • creates a mesh called global

App Mesh Add-ons

Note that this is not an official AWS installer

Releases

No releases published

Packages

No packages published