• Kubernetes 中的代理
    • 代理
    • 请求重定向
    • 反馈

    Kubernetes 中的代理

    本文讲述了 Kubernetes 中所使用的代理。

    代理

    用户在使用 Kubernetes 的过程中可能遇到几种不同的代理(proxy):

    • kubectl proxy:

      • 运行在用户的桌面或 pod 中
      • 从本机地址到 Kubernetes apiserver 的代理
      • 客户端到代理使用 HTTP 协议
      • 代理到 apiserver 使用 HTTPS 协议
      • 指向 apiserver
      • 添加认证头信息
    • apiserver proxy:

      • 是一个建立在 apiserver 内部的“堡垒”
      • 将集群外部的用户与群集 IP 相连接,这些IP是无法通过其他方式访问的
      • 运行在 apiserver 进程内
      • 客户端到代理使用 HTTPS 协议 (如果配置 apiserver 使用 HTTP 协议,则使用 HTTP 协议)
      • 通过可用信息进行选择,代理到目的地可能使用 HTTP 或 HTTPS 协议
      • 可以用来访问 Node、 Pod 或 Service
      • 当用来访问 Service 时,会进行负载均衡
    • kube proxy:

      • 在每个节点上运行
      • 代理 UDP 和 TCP
      • 不支持 HTTP
      • 提供负载均衡能力
      • 只用来访问 Service
    • apiserver 之前的代理/负载均衡器:

      • 在不同集群间的存在形式和实现不同 (如 nginx)
      • 位于所有客户端和一个或多个 apiserver 之间
      • 存在多个 apiserver 时,扮演负载均衡器的角色
    • 外部服务的云负载均衡器:

      • 由一些云供应商提供 (如AWS ELB、 Google Cloud Load Balancer)
      • Kubernetes service 为 LoadBalancer 类型时自动创建
      • 只使用 UDP/TCP 协议
      • 不同云供应商的实现不同。Kubernetes 用户通常只需要关心前两种类型的代理,集群管理员通常需要确保后面几种类型的代理设置正确。

    请求重定向

    代理已经取代重定向功能,重定向已被弃用。

    反馈

    此页是否对您有帮助?

    感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问Stack Overflow.在 GitHub 仓库上登记新的问题报告问题或者提出改进建议.