当前位置: 首页 > 知识库问答 >
问题:

库伯内特斯仪表板-暴露与入口-Nginx

栾瑞
2023-03-14

我是整个Kubernetes社区的新手,目前我正在尝试使用Ingress Nginx来暴露仪表板。我试过几种方法,但我找不到一个很好的解释如何暴露仪表板入口。我现在拥有的只是一个仪表板,可以通过“kubectl port forward”访问。我还安装了Ingress Nginx,控制器正在运行。我应该如何开始为kubernetes仪表板创建入口?

共有1个答案

裴钧
2023-03-14

对于像您这样的裸机环境,仅有Nginx-Inete是不够的,因为您缺少一个负载均衡器,该均衡器通常会在AWS、Google Cloud等公共云上自动提供。

要通过裸机环境中的入口资源公开服务,有两种选择。

节点端口

带有NodePort的服务在静态端口的Kubernetes群集的每个节点上公开。为此,只需编辑Kubernetes dashboard服务(请注意,命名可能会根据安装Kubernetes dashboard的方式而变化):

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

如果您查看PORT(S)输出,您将看到暴露了一个随机端口(在我的示例中为31120)。现在要访问您的仪表板,您只需要使用:

<代码>https://node-ip:31120

金属LB

这是一个更酷的解决方案,因为它允许您使用LoadBalancer类型的服务,就像您在公共云提供商上一样。这需要一些基本的网络知识,但它非常易于使用,并且对于测试环境非常灵活。您可以在MetalLB网站上找到更多信息。

这里还有几个有用的链接,可以更好地理解我上面解释的概念。

Nginx入口-裸机注意事项

Kubernetes服务

 类似资料:
  • 我有一个网站在kubernetes集群中运行。我可以在本地访问它,但希望通过internet访问它。(我有一个注册域),但外部IP一直挂起 我按照以下指示工作:https://dev.to/peterj/expose-a-kubernetes-service-on-your-own-custom-domain-52dd 这是服务和入口的代码 因此,我正在使用helm安装nginx控制器,但在那之后

  • 所以我已经使用库伯内特斯在Google云上设置了我的应用程序。我有一个Pod,我想从需要TCP请求的集群中公开它。 我通过ingress nginx了解到这是可能的,并对此进行了研究。如本文所述,可以通过如下方式设置configMap来完成: ,但它的完整用法没有明确描述,也没有在文档中找到完整的示例。 我已经安装了《安装指南》中提到的ingress nginx,但我不确定下一步将如何暴露我的Po

  • 我只是想知道如何手动设置库伯内特斯Web仪表板使用的外部endpoint。 创建名称空间kube系统后,我运行了以下操作: 是否有一个标志可以用来指定外部访问使用哪个tcp端口?据我所知,这只是随机分配一个。我已经查看了留档,但我很难找到解决方案。如果有任何帮助,将不胜感激。

  • 但是在我的群集上没有服务/部署: 谢谢你的帮助

  • 我试图设置Kubernetes入口,将外部http流量路由到前端pod(路径/)和后端pod(路径/rest/*),但我总是得到400错误,而不是主nginx索引。html。 所以我在第https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer页尝试了谷歌库伯内特斯的例子,但我总是得到400个错误。有什么想法吗?

  • 我的公司有一个伪造的CA证书。实例com和一张伪造地图的唱片。实例com连接到我们的负载平衡器的IP 负载平衡器正在将流量转发到我们的Kubernetes群集。 在集群中,我部署了nginx ingress helm图表,在30200处公开了https节点端口 我根据上述证书创建了一个名为test secret的k8s TLS机密。 我部署了一个带有服务“test”的应用程序,并安装了以下入口: