Kubernetes 仪表板 - 使用 Ingress-Nginx 公开
Kubernetes Dashboard - Exposing with Ingress-Nginx
我是整个 Kubernetes 社区的新手,我目前正在尝试使用 Ingress-Nginx 公开仪表板。我已经尝试了几件事,但我无法找到关于如何使用 Ingress 公开仪表板的很好的解释。我现在所拥有的只是一个可通过 'kubectl port-forward' 访问的仪表板。我还安装了 Ingress-Nginx,控制器是 运行。我应该如何开始为 kubernetes 仪表板创建 Ingress?
对于像您这样的裸机环境,仅靠 Nginx-Ingress 是不够的,因为您缺少通常在 public 云端自动提供的负载均衡器,例如 AWS,Google 云等
要在裸机环境中通过入口资源公开服务,您有两种选择。
节点端口
带有 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
如果您查看 PORT(S) 输出,您会看到暴露了一个随机端口(在我的示例中为 31120)。现在要访问您的仪表板,您只需使用:
https://node-ip:31120
金属LB
这是一个更酷的解决方案,因为它将允许您使用 LoadBalancer 类型的服务,就像您在 public 云提供商上一样。这需要一些基本的网络知识,但它非常易于使用并且对于测试环境非常灵活。您可以在 MetalLB 网站上找到更多信息。
这里还有几个有用的链接,可以更好地理解我上面解释的概念。
我是整个 Kubernetes 社区的新手,我目前正在尝试使用 Ingress-Nginx 公开仪表板。我已经尝试了几件事,但我无法找到关于如何使用 Ingress 公开仪表板的很好的解释。我现在所拥有的只是一个可通过 'kubectl port-forward' 访问的仪表板。我还安装了 Ingress-Nginx,控制器是 运行。我应该如何开始为 kubernetes 仪表板创建 Ingress?
对于像您这样的裸机环境,仅靠 Nginx-Ingress 是不够的,因为您缺少通常在 public 云端自动提供的负载均衡器,例如 AWS,Google 云等
要在裸机环境中通过入口资源公开服务,您有两种选择。
节点端口
带有 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
如果您查看 PORT(S) 输出,您会看到暴露了一个随机端口(在我的示例中为 31120)。现在要访问您的仪表板,您只需使用:
https://node-ip:31120
金属LB
这是一个更酷的解决方案,因为它将允许您使用 LoadBalancer 类型的服务,就像您在 public 云提供商上一样。这需要一些基本的网络知识,但它非常易于使用并且对于测试环境非常灵活。您可以在 MetalLB 网站上找到更多信息。
这里还有几个有用的链接,可以更好地理解我上面解释的概念。