Configurar a amostra de workload AWS App Mesh em um cluster do Amazon EKS com o tipo de inicialização do Fargate - Amazon CloudWatch

Configurar a amostra de workload AWS App Mesh em um cluster do Amazon EKS com o tipo de inicialização do Fargate

Use estas instruções ao configurar o App Mesh em um cluster que executa o Amazon EKS com o tipo de inicialização do Fargate.

Configurar permissões do IAM

Insira o seguinte comando para definir as permissões do IAM. Substitua MyCluster pelo nome do cluster.

eksctl create iamserviceaccount --cluster MyCluster \ --namespace howto-k8s-fargate \ --name appmesh-pod \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \ --override-existing-serviceaccounts \ --approve

Instalar o App Mesh

Para instalar o controlador do App Mesh Kubernetes, siga as instruções em Controlador do App Mesh. Siga as instruções para o Amazon EKS com o tipo de inicialização do Fargate.

Instalar uma amostra de aplicação

aws-app-mesh-examples contém várias demonstrações do Kubernetes App Mesh. Neste tutorial, você instala uma amostra de aplicaçao de cor que funciona para clusters do Amazon EKS com o tipo de inicialização do Fargate.

Para usar uma amostra de aplicação do App Mesh amostra para testar Insights de contêiner
  1. Instale a aplicação usando estas instruções: https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate.

    Essas instruções pressupõem que você esteja criando um novo cluster com o perfil correto do Fargate. Caso queira usar um cluster do Amazon EKS que você já configurou, use os seguintes comandos para configurar o cluster para esta demonstração. Substitua MyCluster pelo nome do cluster.

    eksctl create iamserviceaccount --cluster MyCluster \ --namespace howto-k8s-fargate \ --name appmesh-pod \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \ --override-existing-serviceaccounts \ --approve
    eksctl create fargateprofile --cluster MyCluster \ --namespace howto-k8s-fargate --name howto-k8s-fargate
  2. Encaminhe pela porta a implantação frontal da aplicação:

    kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
  3. Execute curl na aplicação frontal:

    while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
  4. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  5. Na região da AWS em que o cluster está em execução, escolha Metrics (Métricas) no painel de navegação. A métrica está no namespace ContainerInsights/Prometheus.

  6. Para visualizar os eventos do CloudWatch Logs, escolha Log Groups (Grupos de logs) no painel de navegação. Os eventos estão no grupo de logs /aws/containerinsights/your_cluster_name/prometheus no fluxo de logs kubernetes-pod-appmesh-envoy.

Excluir o ambiente de teste do App Mesh

Ao terminar de usar o App Mesh e a aplicação de exemplo, use os comandos a seguir para excluir os recursos desnecessários. Excluir a aplicação de exemplo inserindo o comando a seguir:

cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/ kubectl delete -f _output/manifest.yaml

Excluir o controlador do App Mesh inserindo o comando a seguir:

helm delete appmesh-controller -n appmesh-system