kubernetes(牧场主)的入口了解

时间:2020-04-21 13:43:26

标签: networking kubernetes service rancher

我所知道/正在跑步的: 我在vsphere上运行了一个牧场主ha设置(2.4.2),前有一个L4 Nginxlb。访问ui并置备新群集(vsphere节点驱动程序)效果很好。我知道我不在云中并且不能使用L7 LB(也许除了nip.ip或metal lb之外),并且部署工作负载并通过nodeport公开它们非常有效(因此工作负载在每个节点的指定端口上都可用)相应的Pod正在运行)。

我的问题: 是否可以在我可以访问rancher ui(在我的情况下为https://rancher-things.local)的域/地址下,在任何正在运行的群集上公开(也许通过入口)应用程序?像有外部(本地网络,而不是公共网络),如果我可以部署港口注册中心,并且可以以某种方式像https://rancherthings.local/harbor一样公开它吗?还是如果这样做不可行,是否可以部署L4负载平衡器来访问特定群集上或特定群集之前的应用程序?

谢谢。

2 个答案:

答案 0 :(得分:1)

应该已经有暴露资源的入口资源。您可以编辑入口并添加路径/harbor,以将流量路由到港口服务。

  paths:
  - path: /harbor
    backend:
      serviceName: harbor
      servicePort: 80

答案 1 :(得分:0)

@ arghya-sadhu,LB指向运行Rancher而不是Harbor的HA集群(也就是上游/管理/ rke / ha集群)。不建议在此HA群集中创建任何其他入口。另外,我认为港口工作负载正在下游群集中运行,并且没有LB指向该群集的节点。

Patrick,您可以创建一个通过http公开应用程序端口的服务,并使用Rancher的代理机制通过Rancher URL访问应用程序的UI。如果您在设置中启用了监视功能,则可以通过此机制了解如何显示Grafana UI。

创建服务后,您可以使用以下命令找到URL信息:

kubectl -n <your_app_namespace> cluster-info
# or
kubectl cluster-info -A

这种方法的缺点是您没有专用的LoadBalancer来处理流量,但是对于较小规模的设置,应该可以。

grafana的示例网址:

https://<rancher-fqdn>/k8s/clusters/<cluster-id>/api/v1/namespaces/cattle-prometheus/services/http:access-grafana:80