イングレス リソースをテストする
最後に、すべてが正常に動作していることを確認するために、Ingress リソースをテストすることができます。
まず、ノードの IP アドレスを確認します。
kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
minikube Ready control-plane 93s v1.26.1 192.168.49.2 <none> Ubuntu 20.04.5 LTS 5.15.0-56-generic docker://20.10.23
このコマンドでは、Kubernetes ノードのアドレスが取得され、INTERNAL-IPとしてラベル付けされた IP アドレスが表示されます。
次に、/etc/hostsファイルにエントリを追加して、test.localドメインをノードの IP アドレスにマップします。
echo "<IP_ADDRESS> test.local" | sudo tee -a /etc/hosts
<IP_ADDRESS>をノードアドレスの内部 IP アドレスに置き換えます。たとえば:
echo "192.168.49.2 test.local" | sudo tee -a /etc/hosts
次に、ingress-nginxのサービスノードポートを取得します。
kubectl get services -n ingress-nginx
このコマンドでは、ingress-nginx名前空間内のサービスの一覧が表示されます。nginx-ingress-controllerサービスを探して、そのNodePortをメモします。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.104.99.158 <pending> 80:32518/TCP,443:31620/TCP 2m45s
ingress-nginx-controller-admission ClusterIP 10.100.46.109 <none> 443/TCP 2m45s
最後に、curlを使用して Ingress エンドポイントに HTTP 要求を行います。
curl test.local:NodePort
たとえば:
curl test.local:32518
<NodePort>をnginx-ingress-controllerサービスのNodePortに置き換えます。
すべてが正しく設定されていれば、Nginx のウェルカムページが表示されるはずです。
また、Web ブラウザを使用してtest.local:<NodePort>/nginxにアクセスすることで、Ingress をテストすることもできます。
おめでとうございます。Kubernetes に Ingress リソースを正常にセットアップし、それが正しく動作していることを確認しました。