Я настроил кластер Kubernetes с 2 узлами в AWS, используя EC2 (не используя EKS). Я настроил контроллер Ingress, используя Traefik версии 1.7. Я попытался настроить правила во входном контроллере, используя хост. Но когда я делаю описание на Ingress, мой хост всегда настроен на подстановочный знак.
Ниже указан Ingress YAML
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-test
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: www.random.com
- http:
paths:
- backend:
serviceName: secondapp
servicePort: 80
path: /
Здесь www.random.com - это нежелательное имя хоста.
Ниже приведена команда описания.
Name: ingress-test
Namespace: default
Address:
Default backend: default-http-backend:80 (<none>)
Rules:
Host Path Backends
---- ---- --------
*
/ secondapp:80 (192.168.1.132:80)
Annotations:
kubernetes.io/ingress.class: traefik
Я могу открыть веб-страницу для этого приложения с внешнего IP-адреса EC2, но контроллер Ingress не выполняет никакой фильтрации на основе хоста. Поэтому попадание на эту страницу с помощью curl путем указания хоста в заголовке не имеет никакого эффекта, например: curl -H "Host: www.random.com" http://<external_ip>
. Кроме того, я не могу получить доступ к графическому интерфейсу Traefik с внешнего IP-адреса. Я предполагаю, что это из-за хоста с подстановочными символами, поскольку контроллер Ingress маршрутизирует базы запросов по именам хостов. Я искал через сеть, но мог найти что-нибудь вокруг этого. Буду признателен за любую помощь.