当前已创建myservice的service资源(ClusterIP)

1. 通过不同的域名定义到不同的后端

  1. apiVersion: networking.k8s.io/v1beta1 # 指定api版本,此值必须在kubectl api-versions中
  2. kind: Ingress # 指定创建资源的角色/类型
  3. metadata: # 资源的元数据/属性
  4. name: ingress-example # 资源的名字,在同一个namespace中必须唯一
  5. spec: # 资源规范字段
  6. rules:
  7. - host: example.odl.com
  8. http:
  9. paths:
  10. - path: /
  11. backend:
  12. serviceName: myservice
  13. servicePort: 80

2. 访问同一域名,不同的path时,调度到不同的后端

已创建命名为”ingress-nginx”和 “myservice”的service资源(ClusterIP)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-hello
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: hello.odl.com 
    http:
      paths:
      - path: /1 
        backend:
          serviceName: ingress-nginx
          servicePort: 80 
      paths:
      - path: /2
        backend:
          serviceName: myservice
          servicePort: 80