Kubernetes 中的代理

本頁面解釋了 Kubernetes 中使用的代理。

代理

使用 Kubernetes 時可能會遇到幾種不同的代理:

  1. kubectl 代理

    • 在使用者的桌面或 Pod 中執行
    • 將來自 localhost 地址的請求代理到 Kubernetes API 伺服器
    • 客戶端到代理使用 HTTP
    • 代理到 API 伺服器使用 HTTPS
    • 定位 API 伺服器
    • 新增身份驗證頭
  2. API 伺服器代理

    • 是內建在 API 伺服器中的堡壘機
    • 將叢集外部的使用者連線到可能無法訪問的叢集 IP
    • 在 API 伺服器程序中執行
    • 客戶端到代理使用 HTTPS(如果 API 伺服器配置為 http 則使用 http)
    • 代理到目標可以根據代理使用可用資訊選擇使用 HTTP 或 HTTPS
    • 可用於訪問節點、Pod 或 Service
    • 在用於訪問 Service 時進行負載均衡
  3. kube-proxy

    • 在每個節點上執行
    • 代理 UDP、TCP 和 SCTP
    • 不理解 HTTP
    • 提供負載均衡
    • 僅用於訪問 Service
  4. API 伺服器前面的代理/負載均衡器

    • 其存在和實現因叢集而異(例如 nginx)
    • 位於所有客戶端和一個或多個 API 伺服器之間
    • 如果存在多個 API 伺服器,則充當負載均衡器。
  5. 外部服務上的雲負載均衡器

    • 由一些雲提供商提供(例如 AWS ELB、Google Cloud Load Balancer)
    • 當 Kubernetes Service 型別為 LoadBalancer 時自動建立
    • 通常只支援 UDP/TCP
    • SCTP 支援取決於雲提供商的負載均衡器實現
    • 實現因雲提供商而異。

Kubernetes 使用者通常只需關注前兩種型別。叢集管理員通常會確保正確設定後幾種型別。

請求重定向

代理已經取代了重定向功能。重定向已被棄用。

最後修改時間:2022 年 10 月 24 日太平洋標準時間下午 1:43:KubeCon Docs Sprint: 更新 content/en/docs/concepts/cluster-administration 的頁面權重。(ac5e7c0bd0)