使用kubectl proxy可以访问Pod中的业务,但是URL要加上namespace,service等,比较长。kubectl还提供了一个功能,就是kubectl port-forward, 直接forward数据,kubectl启动后,监听本地的一个端口,把此端口的ip包统统forward到kubectl连接的K8S集群的某个业务的端口:

例如,如果有个service名字叫做mongo-75f59d57f4-4nd6q,监听在27017端口,使用Port Forwarding:

kubectl port-forward mongo-75f59d57f4-4nd6q 28015:27017

然后就可以通过本地的端口访问此pod中的业务了:

http://127.0.0.1:28015

port-forward 不返回, 把kubectl运行机器上的一个端口,负责forward到集群中一个pod,或者一个service的端口上。

port-forward目前只支持tcp.

Logo

DEVPOD社区,旨在打造高质量的DevOps工具知识库。包括商业工具:Atlassian Jira,Confluence,Jfrog,极狐, CodeBeamer等。开源工具栈如:Gitlab,ArgoCD, Jenkins等。 致力于帮助企业建实现云原生时代DevOps转型。

更多推荐