我已按照本指南中的所有步骤进行操作:
https://cloud.google.com/solutions/jenkins-on-kubernetes-engine-tutorial
并确认它们均已成功完成。
但是当我到达在8080端口上预览应用程序的最后一部分时,我得到了错误:
Error: Could not connect to Cloud Shell on port 8080.
Ensure your server is listening on port 8080 and try again.
我也尝试将端口更改为8084,但结果相同。
关于如何调试/修复此问题的任何建议?
以下是我使用本地安装的gcloud客户端在本地计算机上执行的最后一些命令的结果:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
cd-jenkins-7c786475dd-bz7kj 1/1 Running 0 2m
$ printf $(kubectl get secret cd-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
********
$ export POD_NAME=$(kubectl get pods -l "component=cd-jenkins-master" -o jsonpath="{.items[0].metadata.name}")
$ kubectl port-forward $POD_NAME 8080:8080 >> /dev/null &
[1] 24685
$ echo $POD_NAME
cd-jenkins-7c786475dd-bz7kj
答案 0 :(得分:0)
通过本地计算机访问Jenkins:
您可以在本地计算机上运行所有kubectl
命令,但是如果您在本地计算机上运行kubectl port-forwarding
,则必须通过该地址http://localhost:8080/访问Jenkins页面。
通过Google Cloud Console访问Jenkins:
在Google Cloud Console的右上菜单中,只需单击以下图标>_
(激活Cloud Shell),然后运行port-forwarding命令:
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/component=jenkins-master" -l "app.kubernetes.io/instance=cd" -o jsonpath="{.items[0].metadata.name}")
kubectl port-forward $POD_NAME 8080:8080 >> /dev/null &
现在,如果您单击图标Web preview
-> Preview on port 8080
,您应该会看到登录页面。
请记住,仅在kubectl
进程运行时转发端口。