龙空技术网

kubectl 高级用法之 port-forward 和proxy

云技术趣谈 248

前言:

此时大家对“apacheforwardproxy”大约比较关切,咱们都想要知道一些“apacheforwardproxy”的相关知识。那么小编在网摘上汇集了一些关于“apacheforwardproxy””的相关资讯,希望小伙伴们能喜欢,咱们一起来了解一下吧!

port-forward

我们经常会调试容器的里面服务,检测容器里面服务是否正常,譬如 curl 一下容器里面端口。但我们安装kubectl 机器通常并不能直接和容器互通,因为kubectl 只需要连接到apiserver即可。

我们可以通过port-forward命令,将容器的端口映射成本地端口。如下:

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

上面的命令可以将mongo 容器里面的27017 端口映射到本地 28015 端口。不仅如此还可以将k8s 的service 映射到本地。如下:

kubectl port-forward service/mongo 28015:27017

这样我们就可以打开一个新的窗口,然后连接本地的28015端口,后台自动转发到容器里面的27017 端口。但目前port-forward 还只能支持TCP协议。关于port-forward 实现原理,后续专门写一篇文章介绍,这个也是一个高频面试题。

proxy

有时候我们需要调试apiserver接口,但又不想走认证流程,kubectl 还可以通过proxy 建立一个隧道,通过访问本地的8080 端口代理对apiserver 的请求,从而绕过认证过程。

kubectl proxy --port=8080

那么接下来便可以通过curl 直接获取pod 列表了

curl 

这里就可以轻松绕过了k8s 的认证过程,整个认证由 kubectl 通过kubeconfig 完成,只对外暴露了简单的访问入口。

标签: #apacheforwardproxy #apacheportforward