Using App Mesh
Install App Mesh
Check Installation Instructions
curl -L -o pre_upgrade_check.sh https://raw.githubusercontent.com/aws/eks-charts/master/stable/appmesh-controller/upgrade/pre_upgrade_check.sh
sh ./pre_upgrade_check.sh
Install the CRD
Create the Namespace
Create the Service Account
CLUSTER_NAME="<cluster name>"
ROLE_NAME="<role name>"
PROJECT_NAME="<project name>"
REGION="<region code>"
eksctl create iamserviceaccount \
--cluster $CLUSTER_NAME \
--namespace appmesh-system \
--name appmesh-controller \
--attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess,arn:aws:iam::aws:policy/AWSAppMeshFullAccess \
--role-name $ROLE_NAME \
--tags project=$PROJECT_NAME \
--region $REGION \
--override-existing-serviceaccounts \
--approve
$CLUSTER_NAME="<cluster name>"
$ROLE_NAME="<role name>"
$PROJECT_NAME="<project name>"
$REGION="<region code>"
eksctl create iamserviceaccount `
--cluster $CLUSTER_NAME `
--namespace appmesh-system `
--name appmesh-controller `
--attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess,arn:aws:iam::aws:policy/AWSAppMeshFullAccess `
--role-name $ROLE_NAME `
--tags project=$PROJECT_NAME `
--region $REGION `
--override-existing-serviceaccounts `
--approve
Deploy using helm
REGION="<region code>"
helm repo add eks https://aws.github.io/eks-charts
helm upgrade -i appmesh-controller eks/appmesh-controller \
--namespace appmesh-system \
--set region=$REGION \
--set serviceAccount.create=false \
--set serviceAccount.name=appmesh-controller \
--set image.tag=v1.11.0-linux_arm64
$REGION="<region code>"
helm repo add eks https://aws.github.io/eks-charts
helm upgrade -i appmesh-controller eks/appmesh-controller `
--namespace appmesh-system `
--set region=$REGION `
--set serviceAccount.create=false `
--set serviceAccount.name=appmesh-controller `
--set image.tag=v1.11.0-linux_arm64
Deploy App Mesh Resources
App Mesh Namespace
Namespace manifest resource
namespace.yaml | |
---|---|
Deploy namespace resource
App Mesh service mesh
Mesh manifest
mesh.yaml | |
---|---|
Deploy mesh resource
Show kubernetes mesh resource
Show service mesh
App Mesh virtual node
Virtual node manifest
virtual-node.yaml | |
---|---|
See spec
Deploy virtual node resource
Show kubernetes virtual node resource
Show virtual node
App Mesh virtual router
Virtual router manifest
See virtual router spec
See router spec
Deploy virtual router resource
Show kubernetes virtual router resource
Show virtual router
aws appmesh describe-virtual-router --virtual-router-name my-service-a-virtual-router_my-apps --mesh-name my-mesh
Show router
aws appmesh describe-route \
--route-name my-service-a-route \
--virtual-router-name my-service-a-virtual-router_my-apps \
--mesh-name my-mesh
App Mesh virtual service
Virtual router manifest
virtual-service.yaml | |
---|---|
See virtual service spec
Depyloy virtual service resource
Show kubernetes virtual service resource