下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

使用 Traefik Hub 轻松暴露本地 Kubernetes 集群服务

作者:匿名     来源: 云计算点击数:745发布时间: 2022-07-07 23:59:11

标签: Kubernetes云原生

  Traefik Hub 将完全托管于你的基础架构之上,并与你安装在每个集群中的代理进行连接。代理附加到入口实例。它们充当你的每项服务的网关,该平台向每个代理发送指令并从其接收关键指标。Traefik Hub 适用于 Kubernetes 或 Docker 集群。

  Traefik Hub 是一个云原生网络平台,可帮助你即时在边缘发布、保护和扩展容器。它提供了从用户到容器的端到端连接以及进入每个服务的网关。它是用于在分布式系统中连接多个集群的统一解决方案,它通过一个简单易用的仪表板整合了网络堆栈的多个层。Traefik Hub 是一种开箱即用的解决方案,易于学习,甚至更易于实施,开发团队只需单击一下即可将应用程序发布到 Internet,并自动配置重要的安全实践。

  Traefik Hub 将完全托管于你的基础架构之上,并与你安装在每个集群中的代理进行连接。代理附加到入口实例。它们充当你的每项服务的网关,该平台向每个代理发送指令并从其接收关键指标。Traefik Hub 适用于 Kubernetes 或 Docker 集群。

  特性

  一键服务发布

  Traefik Hub 使发布和暴露任何应用程序到互联网变得容易。在集群中安装 Hub 代理,选择端口和访问控制策略(或允许 Traefik Hub 为你自动检测),然后单击“暴露服务”。就这么简单。在几秒钟内,你的服务就可以与朋友或同事共享的 DNS 名称直接暴露在互联网上。

  容器的高级安全性

  使用 Traefik Hub,你的容器在发布和访问时都是安全的。该平台通过私有加密隧道与代理连接,允许你发布服务而无需担心公共 IP 或 NAT 配置。你还可以选择灵活访问和自动证书管理,因为 Traefik Hub 支持 JSON Web 令牌 (JWT) 和基本身份验证。证书管理是云原生安全的另一个关键组件,它在 Traefik Hub 中实现了自动化 Traefik Hub 请求、更新和传播 ACME 证书以保持一致的安全配置。DNS、路由规则、访问控制和 NAT 是自动化的,因此可扩展且不易出现人为错误。

  灵活自动扩展到多个集群

  集中且易于使用的 Hub 平台可让你将部署无缝扩展到多个集群。你可能对已发布集群的配置、入站流量和运行状况有任何疑问,可以在仪表板中找到。每秒请求数、平均响应时间和每秒请求错误等重要指标都可以轻松访问。作为一个简单而统一的网络工具,Traefik Hub 可让您在部署的同时扩展网络。

  使用

  Traefik Hub 很容易上手,我们只需要前往网站 http://hub.traefik.io/ 创建一个帐户,然后按照提示操作即可,如下所示。

 

  点击 Install my first Traefik Hub Agent 按钮开始安装 Hub 代理即可,这样就可以让 Hub 发现我们平台上的服务,然后选择要发布的服务即可。

  比如我们这里准备安装代理在 Kubernetes 集群上,可以选择该平台即可出现对应的安装教程。

 

  按照上面的提示在我们的 Kubernetes 集群中安装 Traefik 和代理程序,安装后代理程序就会分析我们的集群信息并将服务发送到 Traefik Hub 上去,正常情况下会在集群中安装一个 Traefik 应用和代理程序,如下所示:

  复制

  1. $ kubectl get pods -n hub-agent

  2. NAME READY STATUS RESTARTS AGE

  3. hub-agent-auth-server-855f9c788f-jct9w 1/1 Running 0 19m

  4. hub-agent-auth-server-855f9c788f-lcwh6 1/1 Running 0 19m

  5. hub-agent-auth-server-855f9c788f-vhhlw 1/1 Running 0 19m

  6. hub-agent-controller-5f7b7b48c7-nfz5s 1/1 Running 0 19m

  7. hub-agent-tunnel-54b589f5bf-mlpnr 1/1 Running 0 19m

  8. traefik-hub-57fb857fff-sm8f5 1/1 Running 0 20m

  9. $ kubectl get pods

  10. NAME READY STATUS RESTARTS AGE

  11. traefik-84786bd774-t9p47 1/1 Running 0 21m

  安装完成后在 Traefik Hub 的网站上就可以看到我们集群中的 Services 信息,如下图所示:

 

  在暴露这些服务时,我们还可以使用 JWT、BasicAuth(以及更多即将推出的)认证方式来保护它们。只需要在页面上面点击 Create a Policy 按钮创建一个访问控制策略,比如我们这里添加一个名为 basic-auth-jenkins 的访问策略,如下图所示:

 

  现在我们来将集群中的 jenkins 服务直接发布到外网中去,在 Traefik Hub 的 Dashboard 中找到该服务。

 

  我们就可以直接来发布该服务了,点击 Publish the service 按钮,选择我们需要暴露的 Service 端口,如果想限制访问也可以选择前面我们创建的访问策略。

  然后点击 Save and Publish 即可,稍等一段时间后我们的服务就会被发布在了 Traefik Hub 上了。

  比如我们这里生成的外网地址为 https://distinguished-urial-cwk8f9.fzqj46yl.traefikhub.io,通过该 URL 就可以访问到我们的 Jenkins 服务了。

  然后就和正常使用 Jenkins 没任何区别了。

 

  当通过上面的 URL 访问我们的应用的时候,在 Traefik Hub 上还可以看到该应用的相关性能指标信息。

  在 Dashboard 的首页可以看到我们的 Traefik Hub 的当前统计信息。

  不过目前 Traefik Hub 还处于 Beta 状态,在使用过程中还有一些 BUG,比如上面我们关联了一个 Basic Auth 的访问策略,但是在实际测试的过程中发现并没有生效。但是整体上我们可以感受到 Treafik Hub 的强大功能以及发布和保护我们的服务是多么简单。

  来源: k8s技术圈

    >>>>>>点击进入计算专题

赞(14)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程