Namespace deletion may take few minutes, please wait till the process completes.

Delete Product Catalog apps

kubectl delete namespace prodcatalog-ns

Delete ECR images

aws ecr delete-repository --repository-name eks-app-mesh-demo/catalog_detail --force
aws ecr delete-repository --repository-name eks-app-mesh-demo/frontend_node --force
aws ecr delete-repository --repository-name eks-app-mesh-demo/product_catalog --force

(Only if you enabled for this workshop) Disable Amazon EKS Control Pane Logs

eksctl utils update-cluster-logging --disable-types all \
    --region ${AWS_REGION} \
    --cluster eksworkshop-eksctl \

Delete Cloudwatch namespace

kubectl delete namespace amazon-cloudwatch

Delete Observability namespace

kubectl delete namespace aws-observability

Delete the Product Catalog mesh

kubectl delete meshes prodcatalog-mesh

Uninstall the Helm Charts

helm -n appmesh-system delete appmesh-controller

Delete AWS App Mesh CRDs

for i in $(kubectl get crd | grep appmesh | cut -d" " -f1) ; do
kubectl delete crd $i

Delete the AppMesh Controller service account

eksctl delete iamserviceaccount  --cluster eksworkshop-eksctl --namespace appmesh-system --name appmesh-controller

Delete the AWS App Mesh namespace

kubectl delete namespace appmesh-system

Delete Fargate Logging Policy

export PodRole=$(aws eks describe-fargate-profile --cluster-name eksworkshop-eksctl --fargate-profile-name fargate-productcatalog --query 'fargateProfile.podExecutionRoleArn' | sed -n 's/^.*role\/\(.*\)".*$/\1/ p')
aws iam detach-role-policy \
        --policy-arn arn:aws:iam::${ACCOUNT_ID}:policy/FluentBitEKSFargate \
        --role-name ${PodRole}
aws iam delete-policy --policy-arn arn:aws:iam::$ACCOUNT_ID:policy/FluentBitEKSFargate

Delete the Fargate service account

eksctl delete iamserviceaccount --cluster eksworkshop-eksctl   --namespace prodcatalog-ns --name prodcatalog-sa

Delete Fargate profile

eksctl delete fargateprofile \
  --name fargate-productcatalog \
  --cluster eksworkshop-eksctl

Delete Nodegroup

envsubst < ./deployment/clusterconfig.yaml | eksctl delete nodegroup -f -  --approve

Nodegroup and Fargate Profile deletion may take few minutes even though it shows the message as “Deleted” in the command line response. You can log into console and navigate to EKS -> Cluster -> Configuration -> Compute and confirm the deletion.