容器與平台運維 中階
Kubernetes Ingress 是什麼?與 Service LoadBalancer 有何不同?
Ingress 的作用
Ingress 是管理叢集外部 HTTP/HTTPS 流量進入叢集的 API 物件,提供:
- 基於 URL 路徑的路由(/api → 後端服務,/ → 前端服務)
- 基於 Host 的路由(api.example.com vs app.example.com)
- TLS 終止(SSL 卸載)
- 統一的外部入口(單一 LoadBalancer 服務多個應用)
Ingress vs LoadBalancer Service
| 方式 | 適用場景 | 成本 |
|---|---|---|
| LoadBalancer Service | 非 HTTP 服務、單一應用 | 每個 Service 一個雲端 LB(費用高) |
| Ingress | 多個 HTTP/HTTPS 服務 | 一個 LB 對應多個後端(成本低) |
設定範例
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress spec: rules:
- host: api.example.com
http:
paths:
- path: /users pathType: Prefix backend: service: name: user-service port: number: 80
Ingress Controller
Ingress 本身只是規則定義,需要 Ingress Controller 來實際處理流量。常見選擇:
- nginx-ingress:最廣泛使用
- Traefik:原生支援動態設定
- AWS ALB Ingress:AWS 環境的原生整合
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
