前言

通过kubectl port-forward端口转发,在本地机器上访问k8s集群内的服务/数据库,对开发、调试、定位bug都很有用。
每次都要查,这里记录一下。

步骤

当然首先要确保本地机器上安装了 kubectl,安装文档:https://kubernetes.io/docs/tasks/tools/install-kubectl/ 。 查看配置

kubectl config view

如果你想访问的集群不在配置里,就需要更新下KubeConfig文件,以windows为例,通常在这里 C:\Users\<username>\.kube\config
验证连通性同时也是查下需要转发的pod:

 kubectl get pods <name> -n <namespace>

现在转发一个本地端口到改redis端口,如 8888

 kubectl port-forward <name> -n <namaspace> 8888:6379

这里需要注意端口顺序: 前面是你本地端口,后面是redis在集群内的端口,这里redis默认是6379
看到如下输出,说明端口转发成功了

Forwarding from 127.0.0.1:8888 -> 6379
Forwarding from [::1]:8888 -> 6379

现在你就可以在本地机器访问集群内的redis了,我这里使用的是AnotherRedisDesktopManager ,可以看到已经通过本地8888端口连接上redis了。
image

参考链接