Kubernetes Proxy API接口
Kubernetes Proxy API接口的作用是代理REST请求,即Kubernetes API Server把收到的REST请求转发到某个Node上的kubelet守护进程的REST端口,由该kubelet进程负责响应。
Pod的Proxy接口的作用和意义:在Kubernetes集群之外访问某个Pod容器的服务(HTTP服务)时,可以用Proxy API实现,这种场景多用于管理目的,比如逐一排查Service的Pod副本,检查哪些Pod的服务存在异常。
关于Node的相关接口
该接口的REST路径为/api/v1/proxy/nodes/{name},其中{name}为节点的名称或IP地址,包括以下几个具体接口:
注意:这里获取的Pod的信息数据来自Node而非etcd数据库,所以两者可能在某些时间点有所偏差。此外,如果kubelet进程在启动时包含--enable-debugging-handlers=true参数,那么Kubernetes Proxy API还会增加下面的接口:
关于Pod的相关接口
通过这些接口,我们可以访问Pod里某个容器提供的服务(如Tomcat在8080端口的服务):
在上面的4个接口里,后面两个接口的功能与前面两个完全一样,只是写法不同。
关于Service的Proxy接口
Kubernetes Proxy API也有Service的Proxy接口,其接口定义与Pod的接口定义基本一样:/api/v1/proxy/namespaces/{namespace}/services/{name}。
比如,若我们想访问MyWeb这个Service,则可以在浏览器里输入http://192.168.18.131:8080/api/v1/proxy/namespaces/default/services/myweb/demo/。
最后更新于
这有帮助吗?