16.ingess

對於基於HTTP的服務來說,不同的URL地址經常對應到不同的後端服務或者虛擬服務器,這些應用層的轉發機制僅通過Kubernetes的Service機制是無法實現的。從Kubernetes v1.1版本開始新增Ingress資源對象,用於將不同URL訪問請求轉發到後端不同的Service,以實現HTTP層的業務路由機制。Kubernetes使用一個Ingress策略定義和一個具體的Ingress Controller,兩者結合並實現一個完整的Ingress負載均衡器。

使用Ingress進行負載分發時,Ingress Controller通過api-server監聽ingress和service的變化,將基於Ingress策略將客戶端請求直接轉發到Service對應的後端Endpoint上,這樣會跳過kube-proxy的轉發功能。

  • 未配置ingress:
    集羣外部 --> NodePort --> k8s Service
  • 配置ingress:
    集羣外部 --> Ingress --> k8s Service
    Ingress Controller 除了traefik,還有Haproxy、Linkerd、nginx等其他類型。

在這裏插入圖片描述

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: dev-bange-module-auth
spec:
  rules:
  - host: dev-auth.xxx.cn
    http:
      paths:
      - backend:
          serviceName: dev-bange-module-auth
          servicePort: 8080
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章