资源删除

本节中的Namespace的删除可能要花几分钟的时间

删除 Product Catalog 应用

kubectl delete namespace prodcatalog-ns

删除 ECR 镜像

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

删除 Cloudwatch namespace

kubectl delete namespace amazon-cloudwatch

删除 Observability namespace

kubectl delete namespace aws-observability

删除 Product Catalog mesh

kubectl delete meshes prodcatalog-mesh

删除 Helm Charts

helm -n appmesh-system delete appmesh-controller

删除 App Mesh CRD

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

删除 AppMesh Controller service account

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

删除App Mesh namespace

kubectl delete namespace appmesh-system

删除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

删除 Fargate profile

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

删除 policy和IRSA

eksctl delete iamserviceaccount --cluster eksworkshop-eksctl   --namespace prodcatalog-ns --name prodcatalog-envoy-proxies
aws iam delete-policy --policy-arn arn:aws:iam::$ACCOUNT_ID:policy/ProdEnvoyNamespaceIAMPolicy