如何解决K8s Bare Metal Cluster Kubernetes Dashboard 远程启动代理和访问
我有一个 15 个节点的 kubernetes 集群在裸机上运行。 我连接到“Computer1”以通过 kubectl 从集群外部管理我的集群(我更改了配置)。
laptop -->(通过 ssh) --> Computer1(不是集群的一部分) -->(使用 kubectl) --> | kubernetes 集群 |
我部署了 grafana 和 prometheus 进行监控。为了访问仪表板,我使用了使用守护进程集的 nginx-ingress 控制器。我添加了入口规则,它工作正常。我可以从“Computer1”打开网络浏览器 - 使用远程桌面并查看 grafana 或 prometheus。
另外我想添加 kubernetes-dashboard。我安装了 Recommendation.yaml 文件并检查了 kubernetes-dashboard 命名空间。一切看起来都不错。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
但是要启动/访问 kubernetes-dashboard,我需要在“Computer1”上运行以下命令
kubectl proxy
我会得到类似的信息:“开始在 127.0.0.1:8001 上提供服务” localhost/127.0.0.1:8001 在没有任何桌面/网络浏览器的“Computer1”上提供服务。 由于我通过 ssh 连接到集群外的计算机,因此我无法打开仪表板。 如果我这样做:
curl http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
我明白
...
<head>
<Meta charset="utf-8">
<title>Kubernetes Dashboard</title>
<link rel="icon" type="image/png" href="assets/images/kubernetes-logo.png"/>
<Meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="styles.aa1f928b22a88c391404.css"></head>
...
--> 所以仪表板正在运行,但我无法访问它,因为我从我的笔记本电脑(通过 ssh)连接到 kubernetes 集群之外的一台计算机来管理它。
我可以设置 ingress 或 kubectl 代理,以便我可以通过笔记本电脑上的网络浏览器访问它吗?
这是我用于入口的代码:
apiVersion: networking.k8s.io/v1
kind: Ingress
Metadata:
name: dashboard-ingress
namespace: kubernetes-dashboard
annotations:
Nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: somehostname
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: kubernetes-dashboard
port:
number: 443
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。