如何解决通过 ssh 隧道在代理后面本地访问 kubernetes 仪表板
在文档和一些额外的帖子之后,我在代理后面的服务器上安装了一个 kubernetes 集群。所有安装都运行良好。当我运行命令 kubectl get nodes
时,我的所有集群都正常。
在此 part 之后,我添加了具有正确角色和用户的 kubernetes 仪表板。
所以当我运行 kubectl -n kubernetes-dashboard get service kubernetes-dashboard
时,这是输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard ClusterIP <cluster-ip> <none> 443/TCP 36m
现在,我想访问仪表板。首先,我必须使用 AnyConnect 激活 vpn。这是访问我的服务器的常用方法,目前一切正常。
运行 kubectl proxy
返回我 Starting to serve on 127.0.0.1:8001
。目前,这是通常的行为。
就像我说的,我所有的集群节点都在代理后面的服务器上运行,所以按照文档 here,我想创建一个用于连接的 SSH 隧道。
这是我的服务器 ssh 配置文件:
Host master-1
User root@local@master-1:my-user
HostName hostname.net
Port 22
当然这不是真正的价值,它只是一个基本的 ssh 配置,当我运行 ssh master-1
时,我只需要输入我的密码就可以访问服务器。
所以使用 ssh,我想使用 ssh tuneling 连接到仪表板。我运行这个命令:
ssh -L 8001:127.0.0.1:8001 -N -f master-1
。终端询问我的密码,然后端口转发工作正常。
但是当我去 http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 时我有这个错误:
// 20210119135450
// http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
{
"kind": "Status","apiVersion": "v1","metadata": {
},"status": "Failure","message": "error trying to reach service: Forbidden","code": 500
}
我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。