EC2 起動タイプの Amazon EKS クラスターまたは Kubernetes クラスターで AWS App Mesh サンプルワークロードを設定する
EC2 起動タイプの Amazon EKS を実行しているクラスターまたは Kubernetes クラスターで App Mesh を設定する場合は、以下の手順を使用します。
IAM 許可を設定する
Amazon EKS または Kubernetes ノードグループの IAM ロールに AWSAppMeshFullAccess ポリシーを追加する必要があります。Amazon EKS の場合、このノードグループ名は eksctl-integ-test-eks-prometheus-NodeInstanceRole-ABCDEFHIJKL
のようになります。Kubernetes の場合は、nodes.integ-test-kops-prometheus.k8s.local
のようになることもあります。
App Mesh のインストール
App Mesh Kubernetes コントローラーをインストールするには、「App Mesh コントローラー
サンプルアプリケーションをインストールする
「aws-app-mesh-examples
App Mesh サンプルアプリケーションを使用して Container Insights をテストするには
-
「https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers
」の手順に従ってアプリケーションをインストールします。 -
curler ポッドを起動してトラフィックを生成します。
kubectl -n default run -it curler --image=tutum/curl /bin/bash
-
HTTP ヘッダーを変更し、異なるエンドポイントに対して curl を使用します。次のように curl コマンドを複数回実行します。
curl -H "color_header: blue" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo; curl -H "color_header: red" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo; curl -H "color_header: yellow" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/
) を開きます。 -
クラスターが実行されている AWS リージョンで、ナビゲーションペインから [Metrics] (メトリクス) を選択します。このメトリクスは、[ContainerInsights/Prometheus] 名前空間にあります。
-
CloudWatch Logs イベントを表示するには、ナビゲーションペインで [Log Groups (ロググループ)] を選択します。イベントは、ログストリーム
/aws/containerinsights/
のロググループyour_cluster_name
/prometheuskubernetes-pod-appmesh-envoy
にあります 。
App Mesh テスト環境の削除
App Mesh とサンプルアプリケーションの使用が終了したら、次のコマンドを使用して不要なリソースを削除します。サンプルアプリケーションを削除するには、次のコマンドを入力します。
cd aws-app-mesh-examples/walkthroughs/howto-k8s-http-headers/ kubectl delete -f _output/manifest.yaml
App Mesh コントローラーを削除するには、次のコマンドを入力します。
helm delete appmesh-controller -n appmesh-system