什么是 Ingress?
Ingress 是 Kubernetes 中用于管理外部访问集群服务的 API 对象,通常用于配置 HTTPS、负载均衡、基于路径的路由等。它为微服务提供了统一的入口点,简化了外部流量管理。
常见使用场景 🌐
- HTTP 路由:将不同路径的请求转发到对应的服务
示例:/books
→book-service
,/authors
→author-service
- HTTPS 支持:通过 TLS 证书实现加密通信
- 流量控制:基于权重、状态的灰度发布或 A/B 测试
- 访问策略:定义允许的客户端 IP 或域名
配置示例 ✅
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /community/ebooks/kubernetes
pathType: Prefix
backend:
service:
name: ebook-service
port:
number: 80
tls:
- hosts:
- "example.com"
secretName: "example-tls"
扩展学习 🔍
常见问题解答 ❓
- Q: Ingress 如何处理多个域名?
A: 通过spec.rules
中的host
字段配置,支持多域名转发。 - Q: 是否需要对外暴露 Service?
A: 是的,Ingress 需要通过 Service 的 IP 或域名访问后端应用。
相关技术图解 📈
注意:以上内容为技术文档,如需进一步操作,请参考 Kubernetes 官方文档。