我正在尝试连接到开发服务器中的 Redis 缓存,该服务器是 GCP 中的一个 Pod。我们正在尝试使用以下命令通过代理服务器连接它
gcloud beta compute ssh --zone "<zone>" "proxy-server" --project "project-name" --internal-ip --ssh-flag="-NL <local_port>:<redis-server-ip>:<port>"
但它在我的 Windows 系统中安装的 google 云控制台中抛出错误 错误是'未知选项“-NL”'
ERROR: (gcloud.compute.beta.ssh) [C:\Users\<user-dir>\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\sdk\putty.exe] exited with return code [1].
但是在mac上运行良好,请尽快帮我解决问题。
按照答案之一的建议,尝试运行以下命令
kubectl port-forward pod/pod-58759-s4wfz 6377:6379
现在收到此错误:
C:\Windows\system32>kubectl port-forward pod/pod-587597c46d-s4wfz 6377:6379
Forwarding from 127.0.0.1:6377 -> 6379
Forwarding from [::1]:6377 -> 6379
Handling connection for 6377
E0120 12:34:32.504209 18476 portforward.go:406] an error occurred forwarding 6377 -> 6379: error forwarding port 6379 to pod a5bba767d7ec94aaf, uid : exit status 1: 2022/01/20 07:04:34 socat[910] E connect(5, AF=2 127.0.0.1:6379, 16): Connection refused
E0120 12:34:32.508193 18476 portforward.go:234] lost connection to pod
谢谢
Putty SSH(以及 Windows 的 OpenSSH 客户端)不支持
-N
标志。 但是
gcloud beta compute ssh --zone "<zone>" "proxy-server" --project "project-name" --internal-ip --ssh-flag="-L <local_port>:<redis-server-ip>:<port>"
在 Windows 上应该可以正常工作。
如果您的redis服务器部署在GKE上,您可以使用kubectl port-forward。它应该看起来像
kubectl port-forward pod/POD_NAME local-port:redis-server-port
并使用 localhost:local-port 连接到你的 redis 服务器
无论操作系统如何,这都应该有效
经过 1 天的努力,我找到了一个答案,纠正了我的命令,只需要使用下面的命令,我们应该在 Windows 中使用 -N -L 来代替 -NL
gcloud beta compute ssh --zone "<zone>" "proxy-server" --project "project-name" --internal-ip -- -N -L <local_port>:<redis-server-ip>:<port>
仍然无法连接-N -L