以下是一个简单的 Ingress 示例,使用 YAML 格式:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: example.com
http:
paths:
- path: /app1
backend:
serviceName: app1-service
servicePort: 80
- path: /app2
backend:
serviceName: app2-service
servicePort: 80
在这个示例中,我们定义了一个名为 example-ingress
的 Ingress 对象,用于路由来自 example.com
域名的 HTTP 请求。当请求的路径为 /app1
时,它将被转发到名为 app1-service
的 Kubernetes 服务上,并映射到端口号 80
;同样,当请求的路径为 /app2
时,它将被转发到名为 app2-service
的 Kubernetes 服务上,并映射到端口号 80
。
此外,我们还添加了一个注释 nginx.ingress.kubernetes.io/rewrite-target: /
,用于让 Nginx 可以正确地重写请求 URL,以匹配后端服务的期望路径。