Kubernetes 中的代理
本页解释了用于 Kubernetes 的代理。
代理
在使用 Kubernetes 时,可能会遇到几种不同的代理
以下是 kubectl 代理
- 运行在用户桌面或 Pod 中
- 从本地主机地址代理到 Kubernetes apiserver
- 客户端到代理使用 HTTP
- 代理到 apiserver 使用 HTTPS
- 定位 apiserver
- 添加认证头
以下是 apiserver 代理
- 是内置于 apiserver 中的堡垒
- 将集群外部的用户连接到集群 IP,这些 IP 在其他情况下可能无法访问
- 在 apiserver 进程中运行
- 客户端到代理使用 HTTPS(如果 apiserver 如此配置,也可以使用 HTTP)
- 代理到目标可以使用 HTTP 或 HTTPS,具体取决于代理根据可用信息所做的选择
- 可用于访问 Node、Pod 或 Service
- 用于访问 Service 时执行负载均衡
以下是 kube 代理
- 运行在每个节点上
- 代理 UDP、TCP 和 SCTP
- 不理解 HTTP
- 提供负载均衡
- 仅用于访问 Service
在 apiserver 前面的代理/负载均衡器
- 存在和实现因集群而异(例如 nginx)
- 位于所有客户端与一个或多个 apiserver 之间
- 如果存在多个 apiserver,则充当负载均衡器。
外部 Service 上的云负载均衡器
- 由一些云提供商提供(例如 AWS ELB、Google Cloud Load Balancer)
- 当 Kubernetes Service 类型为
LoadBalancer
时自动创建 - 通常仅支持 UDP/TCP
- SCTP 支持取决于云提供商的负载均衡器实现
- 实现因云提供商而异。
Kubernetes 用户通常只需要关注前两种类型的代理。集群管理员通常会确保后几种类型的代理已正确设置。
请求重定向
代理已取代了重定向功能。重定向已被弃用。
最后修改于 2022 年 10 月 24 日下午 1:43 PST:KubeCon 文档冲刺:更新 content/en/docs/concepts/cluster-administration 的页面权重。(ac5e7c0bd0)