Kubernetes 代码中的 UpgradeAwareHandler
UpgradeAwareHandler
是 Kubernetes 里很重要的一个代码组件,在 Kubernetes 中用于代理和转发请求。
只要是有转发请求的地方都可以见到他的身影:
- kubectl 的命令 exec/attach/log/port-forward 等需要连接到容器的长连接;
- APIServer Aggregation 功能,需要将请求转发到外部 APIServer。
第三方的集群网关组件也会利用这个组件来实现转发代理,如:Karmada、KubeVela Cluster Gateway 等。
为什么都使用这个组件来转发请求?本文通过阅读源码,深入研究这个组件的实现原理以及使用方式。