在k8s的使用过程中,经常会遇到需要将请求转发到集群外,下面列出2个场景

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: external-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: http://www.example.org/pt/index.html
spec:
  rules:
  - host: www.example.com
    http:
      paths:
      - path: /external/path
        backend:
          serviceName: external-service
          servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: external-service
spec:
  type: ExternalName
  externalName: www.example.org
  • 需要将请求转发至集群外的域名
apiVersion: v1
kind: Service
metadata:
  name: my-external-service
spec:
  type: ExternalName
  externalName: my.external.domain.com

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - host: my.domain.com
    http:
      paths:
      - path: /external
        backend:
          serviceName: my-external-service
          servicePort: <port number>