1

我对kubernetes. 我在网上找到了一些很好的教程来kubernetes启动和运行我的集群。现在我想在kubernetes我的集群中添加一个仪表板,这样就可以很容易和很好地拥有一个页面,我可以在其中查看我的 pod 和节点的反应(即使我更像是一个 CLI 人,一些 GUI 也不错)。我已经下载了仪表板 pod,它已启动并正在运行。因为 kubernetes 集群在 Raspberry Pi 集群上运行,所以我设置了一个 NodePort 以便从集群外部访问它。但是我遇到了一些问题,我在网上也找不到任何问题。

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

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

4

2 回答 2

0

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

首先你应该创建一个 Ingress 控制器,你可以在这里找到安装指南

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

Ingress 控制器安装的命名空间:

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

Ingress 控制器的默认后端:

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 上部署了集群,所以所有这些都需要手动创建。

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

这是 Ingress 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 暴露出来。

于 2018-03-21T10:30:20.247 回答
0

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

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

于 2018-03-21T09:24:15.963 回答