在k8s的使用过程中,经常会遇到需要将请求转发到集群外,下面列出2个场景
- 需要将请求转发至集群外的域名+路径(http://www.example.org/pt/index.html)
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>