Kubernetes中的node/proxy子资源是什么?有什么用途?
Kubernetes node/proxy 子资源说明
基础定义
node/proxy 是Kubernetes Node资源对应的专属子资源,本质是APIServer对外开放的代理访问入口,可将请求直接转发到目标节点上的指定服务端口,无需直接寻址节点自身的IP地址。
核心用途
- 作为集群运维的中转入口,管理员无需登录节点、也无需给节点开放公网访问权限,就可以通过APIServer代理访问节点上的kubelet端口、本地调试服务、以及未通过Service对外暴露的节点级端口服务
- 可用于集群故障排查场景,比如拉取节点本地指标、调用kubelet调试接口、查看节点上运行的服务状态等
- 实现精细化权限管控,Kubernetes RBAC体系将
nodes/proxy作为独立的资源对象做权限校验,只有持有对应操作权限的用户或ServiceAccount才能通过代理访问节点资源,避免未授权的节点端口暴露风险
常见使用示例
如果你要访问名为worker-01的节点上kubelet只读端口(10255)的metrics接口,可直接执行以下kubectl命令,底层就是调用nodes/proxy子资源完成代理转发:
kubectl get --raw /api/v1/nodes/worker-01/proxy/metrics
权限说明
nodes/proxy和nodes主资源的权限是相互独立的,即便账号有节点资源的查看权限,也需要单独配置nodes/proxy的访问权限才能使用代理功能,这也是相关权限报错的常见诱因。
内容的提问来源于stack exchange,提问作者yash thakkar
相关产品推荐
相关产品推荐

