简体   繁体   中英

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

I am using Traefik as Kubernetes Ingress and I would like to know if I can use an IP address instead of a domain name. Example:

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

My ingress configuration:

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

Since it is a Layer 7 Load Balancer you can't use IP address directly. But if you use nip.io and for example 192-168-1-1.nip.io as your hostname it would work and you can do all the things you can regularly do with normal hostnames such as redirect app1.192-168-1-1.nip.io to app1 and 192-168-1-1.nip.io/app2 to app2 etc.

I have done this with kong but i believe it should also work with traefik, by simply removing the host. unfortunately now you can't access it with the domain name

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

Hope it helps!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM