我对整个Kubernetes社区都很陌生,我目前正在尝试让一个仪表板暴露在上。我已经尝试过几件事,但我无法找到一个很好的解释,如何公开仪表板与虎妞。我现在只有一个仪表板,可以通过'kubectl端口前进‘访问。我还安装了installed,控制器正在运行。我应该如何开始为kubernetes仪表板创建一个“进题”呢?
发布于 2021-11-15 07:07:23
对于像您这样的裸金属环境,仅使用Nginx是不够的,因为您缺少一个负载均衡器,它通常是自动提供在诸如AWS、Google等公共云上的。
要在裸金属环境中通过入口资源公开服务,您有两个选项。
NodePort
带有NodePort的服务将在Kubernetes集群的每个节点上静态端口上公开。要做到这一点,只需编辑您的kubernetes-dashboard服务(请注意,根据安装Kubernetes仪表板的方式,命名可能会发生变化):
kubectl -n kubernetes-dashboard edit service kubernetes-dashboard并将type: ClusterIP更改为type: NodePort。完成此操作后,再次检查您的服务:
kubectl -n kubernetes-dashboard get svc kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.43.120.193 <none> 443:31120/TCP 9m7s如果您查看端口(S)输出,您将看到暴露了一个随机端口(在我的示例31120中)。要现在访问仪表板,只需使用:
https://node-ip:31120
MetalLB
这是一个更酷的解决方案,因为它将允许您使用LoadBalancer类型的服务,就像在公共云提供商上一样。这需要一些基本的网络知识,但是它非常容易使用,并且对于测试环境非常灵活。您可以在MetalLB网站上找到更多信息。
这里还有几个有用的链接,以更好地理解我前面解释的概念。
https://stackoverflow.com/questions/69958930
复制相似问题