我可以在 Kubernetes Ingress 中使用 ip 地址而不是域名吗?

Can I use ip address in Kubernetes Ingress instead of domain name?

我正在使用 Traefik 作为 Kubernetes Ingress,我想知道我是否可以使用 IP 地址而不是域名。示例:

http://ipaddress/service1
http://ipdadress/service2

我的入口配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: service1
  namespace: staging
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.frontend.rule.type: PathPrefixStrip
spec:
  rules:
  - host: mydomain.dev
    http:
      paths:
      - path: /service1
        backend:
          serviceName: service1
          servicePort: 3000

由于它是第 7 层负载均衡器,因此您不能直接使用 IP 地址。但是如果你使用 nip.io 和例如 192-168-1-1.nip.io 作为你的主机名,它会起作用,你可以做所有你可以用普通主机名经常做的事情,比如重定向 app1.192- 168-1-1.nip.io 到 app1 和 192-168-1-1.nip.io/app2 到 app2 等