Kubernetes Ingress 路由规则:主机名、路径和路径前缀
在 Kubernetes 的 Ingress 资源中,有三种常见的方式来定义路由规则:基于主机名、基于路径和基于路径前缀。
- 基于主机名:使用基于主机名的 Ingress 规则可以将流量根据不同的主机名路由到不同的后端服务。例如:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: service1.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
- host: service2.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service2
port:
number: 80
上述示例中,通过'host'字段定义了两个不同的主机名,分别路由到名为'service1'和'service2'的后端服务。
- 基于路径:使用基于路径的 Ingress 规则可以根据不同的 URL 路径来路由流量到不同的后端服务。例如:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- http:
paths:
- path: /service1
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
- path: /service2
pathType: Prefix
backend:
service:
name: service2
port:
number: 80
上述示例中,通过'path'字段定义了两个不同的 URL 路径,分别路由到名为'service1'和'service2'的后端服务。
- 基于路径前缀:使用基于路径前缀的 Ingress 规则可以将具有共同前缀的路径路由到同一个后端服务。例如:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 80
- path: /app
pathType: Prefix
backend:
service:
name: app-service
port:
number: 80
上述示例中,所有以'/api'开头的路径将路由到'api-service',而以'/app'开头的路径将路由到'app-service'。
通过使用这些不同的方式,你可以根据需要灵活地定义 Ingress 规则来路由流量到相应的后端服务。
原文地址: https://www.cveoy.top/t/topic/QSW 著作权归作者所有。请勿转载和采集!