使用云原生网络平台 Traefik Hub 轻松暴露本地 Kubernetes 集群服务

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

b134703f4c82ec4546c07ab2cec4238b.png

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

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

特性

一键服务发布

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/ 创建一个帐户,然后按照提示操作即可,如下所示。

cdd4fa66127e83a2b72e6eba8814aa46.png

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

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

8700fb17585475ce3fe488c53f2564a2.jpeg

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

$ kubectl get pods -n hub-agent                                           
NAME                                     READY   STATUS    RESTARTS   AGE
hub-agent-auth-server-855f9c788f-jct9w   1/1     Running   0          19m
hub-agent-auth-server-855f9c788f-lcwh6   1/1     Running   0          19m
hub-agent-auth-server-855f9c788f-vhhlw   1/1     Running   0          19m
hub-agent-controller-5f7b7b48c7-nfz5s    1/1     Running   0          19m
hub-agent-tunnel-54b589f5bf-mlpnr        1/1     Running   0          19m
traefik-hub-57fb857fff-sm8f5             1/1     Running   0          20m
$ kubectl get pods             
NAME                           READY   STATUS    RESTARTS   AGE
traefik-84786bd774-t9p47       1/1     Running   0          21m

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

2fd83c104a265455bea2edd1062b5e67.jpeg

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

6fd46e859539e0d523e7351cb1396d52.png

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

0bff3fadb9af91765c2e6281dc5d87ec.jpeg

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

bf4b11839e5b9df99499516f384b635a.png

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

0ebc26eb9b4d4eb81cdb7a055a2007e2.png

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

e4ac040bae288482828959cc29053966.png

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

028564cb727d11b7cf04f5424c248d6a.png

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

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

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

本文转载自:「k8s技术圈」,原文:https://url.hi-linux.com/H61wX,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

9f70ed6cfa9b787da461b1e8681ecf11.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

480a47dc738146923184cc1807dfee60.png

你可能还喜欢

点击下方图片即可阅读

37ac24bd20ad6f1dfe2da66e1e049c6b.png

如何在 BGP 模式下完美融合 Calico 与 MetalLB

d52b3cfd166359477cc2f5259f6aa37a.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

f4d5f2caef40d976fff40035494fec09.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值