サンプルトラフィックを使用して、Amazon EKS および Kubernetes で NGINX をセットアップする
NGINX は、ロードバランサーやリバースプロキシとしても使用できるウェブサーバーです。Kubernetes が入力に NGINX を使用する方法については、「kubernetes/ingress-nginx
Container Insights の Prometheus サポートをテストするために、サンプルトラフィックサービス ingress-nginx をインストールするには
-
次のコマンドを入力して、Helm ingress-nginx リポジトリを追加します。
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
-
以下のコマンドを入力します。
kubectl create namespace nginx-ingress-sample helm install my-nginx ingress-nginx/ingress-nginx \ --namespace nginx-ingress-sample \ --set controller.metrics.enabled=true \ --set-string controller.metrics.service.annotations."prometheus\.io/port"="10254" \ --set-string controller.metrics.service.annotations."prometheus\.io/scrape"="true"
-
次のコマンドを入力して、サービスが正常に開始されたかどうかを確認します。
kubectl get service -n nginx-ingress-sample
このコマンドの出力には、
EXTERNAL-IP
列を含む複数の列が表示されます。 -
NGINX 入力コントローラーの行の
EXTERNAL-IP
列の値にEXTERNAL-IP
変数を設定します。EXTERNAL_IP=
your-nginx-controller-external-ip
-
次のコマンドを入力して、サンプル NGINX トラフィックを開始します。
SAMPLE_TRAFFIC_NAMESPACE=nginx-sample-traffic curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_traffic/nginx-traffic/nginx-traffic-sample.yaml | sed "s/{{external_ip}}/$EXTERNAL_IP/g" | sed "s/{{namespace}}/$SAMPLE_TRAFFIC_NAMESPACE/g" | kubectl apply -f -
-
次のコマンドを入力して、3 つのポッドがすべて
Running
ステータスであることを確認します。kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE
ポッドが実行中の場合は、ContainerInsights/Prometheus 名前空間にメトリクスが表示されます。
NGINX とサンプルトラフィックアプリケーションをアンインストールするには
-
次のコマンドを入力して、サンプルトラフィックサービスを削除します。
kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
-
Helm リリース名で NGINX egress を削除します。
helm uninstall my-nginx --namespace nginx-ingress-sample kubectl delete namespace nginx-ingress-sample