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
Instalar uma amostra de aplicação
aws-app-mesh-examples
Para usar uma amostra de aplicação do App Mesh amostra para testar Insights de contêiner
-
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 \ --approveeksctl create fargateprofile --cluster MyCluster \ --namespace howto-k8s-fargate --name howto-k8s-fargate
-
Encaminhe pela porta a implantação frontal da aplicação:
kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
-
Execute curl na aplicação frontal:
while true; do curl -s http://localhost:8080/color; sleep 0.1; echo ; done
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
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.
-
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/
no fluxo de logsyour_cluster_name
/prometheuskubernetes-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