文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-01 19:41

关注

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 应用和代理程序,如下所示:

$ 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 信息,如下图所示:

在暴露这些服务时,我们还可以使用 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技术圈内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯