サンプルトラフィックを使用して、Amazon EKS および Kubernetes で NGINX をセットアップする - Amazon CloudWatch

サンプルトラフィックを使用して、Amazon EKS および Kubernetes で NGINX をセットアップする

NGINX は、ロードバランサーやリバースプロキシとしても使用できるウェブサーバーです。Kubernetes が入力に NGINX を使用する方法については、「kubernetes/ingress-nginx」を参照してください。

Container Insights の Prometheus サポートをテストするために、サンプルトラフィックサービス ingress-nginx をインストールするには
  1. 次のコマンドを入力して、Helm ingress-nginx リポジトリを追加します。

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  2. 以下のコマンドを入力します。

    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"
  3. 次のコマンドを入力して、サービスが正常に開始されたかどうかを確認します。

    kubectl get service -n nginx-ingress-sample

    このコマンドの出力には、EXTERNAL-IP 列を含む複数の列が表示されます。

  4. NGINX 入力コントローラーの行の EXTERNAL-IP 列の値に EXTERNAL-IP 変数を設定します。

    EXTERNAL_IP=your-nginx-controller-external-ip
  5. 次のコマンドを入力して、サンプル 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 -
  6. 次のコマンドを入力して、3 つのポッドがすべて Running ステータスであることを確認します。

    kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE

    ポッドが実行中の場合は、ContainerInsights/Prometheus 名前空間にメトリクスが表示されます。

NGINX とサンプルトラフィックアプリケーションをアンインストールするには
  1. 次のコマンドを入力して、サンプルトラフィックサービスを削除します。

    kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
  2. Helm リリース名で NGINX egress を削除します。

    helm uninstall my-nginx --namespace nginx-ingress-sample kubectl delete namespace nginx-ingress-sample