Тестирование ресурса Ingress
Наконец, мы можем протестировать ресурс Ingress, чтобы убедиться, что все работает правильно.
Сначала определите IP-адрес узла (node):
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. IP-адрес, помеченный как INTERNAL-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
Затем получите NodePort сервиса для ingress-nginx.
kubectl get services -n ingress-nginx
Эта команда отобразит список сервисов в пространстве имен (namespace) 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 для выполнения HTTP-запроса к конечной точке Ingress:
curl test.local:NodePort
Например:
curl test.local:32518
Замените <NodePort> на NodePort сервиса nginx-ingress-controller.
Если все настроено правильно, вы должны увидеть приветственную страницу Nginx.
Вы также можете протестировать Ingress, используя веб-браузер для посещения test.local:<NodePort>/nginx.
Поздравляем! Вы успешно настроили ресурс Ingress в Kubernetes и протестировали его, чтобы убедиться, что он работает правильно.