我是整个Kubernetes社区的新手,目前我正在尝试使用Ingress Nginx来暴露仪表板。我试过几种方法,但我找不到一个很好的解释如何暴露仪表板入口。我现在拥有的只是一个仪表板,可以通过“kubectl port forward”访问。我还安装了Ingress Nginx,控制器正在运行。我应该如何开始为kubernetes仪表板创建入口?
对于像您这样的裸机环境,仅有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”的应用程序,并安装了以下入口: