Ingress與service的關系

在Kubernetes 中,Ingress 和 Service 是兩個不同的概念,但它們通常一起使用以提供對應用程序的外部訪問。以下是它們之間的關系:

  1. Service:
    • Service 是 Kubernetes 中一種用于暴露應用程序的網絡服務的抽象。
    • Service 可以將 Pod 組織成一個單一的訪問點,并提供負載均衡以確保流量被均勻分配到這組 Pod 中。
    • Service 主要用于集群內部的服務發(fā)現和負載均衡,通常使用 ClusterIP、NodePort 或 LoadBalancer 類型。
  2. Ingress:
    • Ingress 是 Kubernetes 中用于公開和管理集群中服務的 API 對象。
    • Ingress 允許從集群外部訪問集群內部的服務,提供了一種將外部流量路由到集群內 Service 的機制。
    • Ingress 定義了規(guī)則,指定了外部流量如何映射到后端服務。這些規(guī)則可能包括主機名、路徑和后端服務的映射關系。
  3. 關系:
    • Ingress 通常與 Service 一起使用,將外部流量引導到 Service。
    • Ingress 規(guī)則中的后端服務通常是指已在集群內定義的 Service。
    • Service 通過 ClusterIP 暴露在集群內,而 Ingress 則負責將流量從集群外部引導到這些 Service 上。

例子:

假設有一個 Service 和一個相應的 Ingress:

apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

---

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myapp-ingress
spec:
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /app
        pathType: Prefix
        backend:
          service:
            name: myapp-service
            port:
              number: 80

在這個例子中,myapp-service 是一個 Service,myapp-ingress 是一個 Ingress,規(guī)定了將 myapp.example.com/app 的請求路由到 myapp-service Service 中。流量從 Ingress 進入集群,然后被路由到相應的 Service。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容