如何使用摄取控制器设置 Kubernetes 仪表板



我对kubernetes的想法很陌生。 我在网上找到了一些很好的教程来启动和运行我的kubernetes集群。 现在我想向我的集群添加一个kubernetes仪表板,这样我就可以有一个页面来观察我的 Pod 和节点的反应(即使我更像是一个 CLI 的人,一些 GUI 还不错)。 我已经下载了仪表板窗格,它已启动并运行。因为 kubernetes 集群在 Raspberry Pi 集群上运行,所以我设置了一个 NodePort 来从我的集群外部访问它。但是我遇到了一些问题,我在网上找不到任何问题。

在我的 Linux 主机中,
  1. 我可以访问 kubernetes 仪表板,但不知何故,在我的 Linux 机器中,我的浏览器不会添加证书异常。
  2. 网上有些人认为NodePort不够安全。所以我对其他可能性做了一些研究。我对用于连接仪表板的入口控制器非常感兴趣。但是我没有找到任何关于设置入口控制器的良好和完整的文档(更重要的是正在发生的事情,因为网上有很多yaml文件,他们说只是运行这个,但我不知道他在做什么)。

有人可以将我引导到正确的文档/教程/或为我的 Kube 仪表板提供任何帮助吗?

其他论坛中的某个人向我发送了本教程,这非常有帮助。我也会在这里分享给所有带着同样问题来到这篇文章的人。

https://akomljen.com/kubernetes-nginx-ingress-controller/

在部署中需要使用的第一件事是入口,所以让我们从它开始。

首先,您应该创建一个入口控制器,您可以在此处找到安装指南

最相关的是第一部分 - 通用部署,其中包括以下内容:

入口控制器安装的命名空间:

curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/namespace.yaml  | kubectl apply -f -

入口控制器的默认后端:

curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/default-backend.yaml  | kubectl apply -f -

和配置图:

curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/configmap.yaml  | kubectl apply -f - 
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/tcp-services-configmap.yaml  | kubectl apply -f - 
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/udp-services-configmap.yaml  | kubectl apply -f -

由于您在 Raspberry Pi 上部署了集群,因此所有这些都需要手动创建。

安装入口控制器后,可以使用规则为入口部署特定配置,以将流量路由到服务。

下面是入口 yaml 文件的示例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: endpoint-to-the-world
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: your-external-address-for-the-cluster
http:
paths:
- path: /console
backend:
serviceName: kubernetes-dashboard
servicePort: 443
- path: /some-other-path
backend:
serviceName: different-service
servicePort: 22

这将充当群集的外部代理,您可以将所有流量路由到任何服务。更多细节可以阅读 这里.

这应该足以公开 Kubernetes Dashboard。

最新更新