资讯专栏INFORMATION COLUMN

Webhooks初体验

苏丹 / 930人阅读

摘要:对于,唯一可以指向的两个行为是增加容器的数量和减少容器的数量。使用在超出范围内对服务进行伸缩是不允许的。没有身份认证或实物需要通过请求发送到。

Rancher 1.4已于上周全面发布!新版本带来了Dashboard和Helm的集成,更细致的网络策略控制,直接构建进平台中的保密管理,当然还有今天要重点介绍的主角,Webhooks

Rancher 1.4版本为webhooks添加了一个新特性,赋予其一个能够处理弹性伸缩的初始驱动程序。实现webhooks的一个关键概念就是“Receiver(接收器)”,它可以让你注册一个webhook,并且提供给你一个触发Rancher内部action的url。

我们为webhooks实现了微服务,叫做webhook-service。我将利用我们目前的驱动程序—scaleService来解释该功能。scaleService driver允许用户创建一个receiver hook,用于对服务进行纵向扩容或缩容。一个典型的用例就是与监控系统集成,观测负载均衡器流量,当响应时间或每秒的请求数达到某个阈值时,调用这个receiver hook。下面我将详细介绍在Rancher中创建receiver hook的步骤。

新增一个Receiver Hook

在UI中导航到API -> webhooks。你为所选环境创建的所有receiver hook,都会在“Receiver Hooks”这一界面中被列出。

点击”Add Receiver”,您将看到要输入的字段:

在此页上,要输入的字段如下:

Name:每一个receiver hook都应该有一个独特的名称,以便它可以很容易地被识别;

Kind:“Kind(种类)”的下拉列表中列出了所有在webhook-service中可使用的驱动程序。从列表中选择一个驱动程序(v1.4中只有“Scale a Service”这一个选项——更多基于社区贡献和要求的驱动程序很快就会与大家见面的!);

Action:此字段允许您指定指向此驱动程序的action(动作)。对于scaleService driver,唯一可以指向的两个行为是“up”(增加容器的数量)和"down"(减少容器的数量)。

这之后的字段是scaleService driver特有的:

Target Service:从这个下拉列表中选择要扩/缩容的服务(如下所示);

By:此字段要求用户输入所选服务的扩/缩容比例;

Minimum Scale 和Maximum Scale:您的服务可以允许的容器的最小和最大数量。使用webhooks在超出范围内对服务进行伸缩是不允许的。
所有字段都输入后,点击“创建”:

创建的receiver hook会显示在webhooks页面上。“Trigger URL”用于实际的纵向扩容或缩容操作。在这个字段旁边,还有删除和复制receiver hook的选项:

使用Receiver Hook

“Trigger URL”会为驱动程序执行操作。要使用trigger URL,你需要对特定的URL发送POST请求。没有身份认证或实物需要通过POST请求发送到URL。这个URL由一个API终点和一个标记组成。该标记包含所创建的receiver hook的所有信息,如选定的驱动程序、服务、行为(纵向扩/缩容),以及该服务的伸缩比例。API终点使用这个标记生成Cattle API调用,并完成所创建的receiver hook指定的行为。

使用webhook service自动伸缩

来自webhook service的scaleService driver,可以基于容器的度量对服务进行自动伸缩。要想这样做,webhook服务必须与一个外部监控服务一同使用。一旦你创建了一个服务,就要按照上面的步骤为它添加一个webhook。然后复制trigger URL并在监控服务中使用:当特定的度量(如响应时间)越过指定的阈值时,向该trigger URL发送一个"POST"请求。监控服务如Prometheus有一个"webhook_configs"字段,用于指定需要发送的请求格式为"POST"的URL。一旦你进行了上述的配置,webhook service将会对服务进行伸缩操作。

未来的驱动程序及其特性

我们计划在webhook服务中增加更多的驱动程序。在未来的版本中,我们致力于增加能够纵向扩/缩容主机的驱动程序,并且在dockerhub webhooks的基础上重新部署服务。我们也乐于为新的驱动程序做出贡献。你可以参考这些步骤添加新的驱动程序,也可以发送建议到我们的webhook服务库。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26781.html

相关文章

  • Rancher 1.4发布:k8s体验的大迈进

    摘要:已全面发布一如往常,我们首推您通过上的全面了解最新版本。和为了继续向着更好的体验迈进,我们用替换了,用替换了模板。的目标之一,自始至终都是支持主流容器技术,而集成和是这一理念的自然组成部分。我们的产品根据用户的需要而进步。 Rancher 1.4已全面发布!一如往常,我们首推您通过Rancher GitHub上的Releases Notes全面了解Rancher最新版本。不过在这里,我...

    wow_worktile 评论0 收藏0
  • Rancher 1.4发布:k8s体验的大迈进

    摘要:已全面发布一如往常,我们首推您通过上的全面了解最新版本。和为了继续向着更好的体验迈进,我们用替换了,用替换了模板。的目标之一,自始至终都是支持主流容器技术,而集成和是这一理念的自然组成部分。我们的产品根据用户的需要而进步。 Rancher 1.4已全面发布!一如往常,我们首推您通过Rancher GitHub上的Releases Notes全面了解Rancher最新版本。不过在这里,我...

    ddongjian0000 评论0 收藏0
  • 精读《REST, GraphQL, Webhooks, & gRPC 如何选型》

    摘要:而利用进一步提高了序列化速度,降低了数据包大小。带来的最大好处是精简请求响应内容,不会出现冗余字段,前端可以决定后端返回什么数据。再次强调,相比和,是由前端决定返回结果的反模式。请求者可以自定义返回格式,某些程度上可以减少前后端联调成本。 1 引言 每当项目进入联调阶段,或者提前约定接口时,前后端就会聚在一起热火朝天的讨论起来。可能 99% 的场景都在约定 Http 接口,讨论 URL...

    DevWiki 评论0 收藏0
  • Rancher 1.5解读:企业级使用,ready!

    摘要:元数据性能增强通过缓存元数据信息,我们大大增强了的元数据服务。这减少了数据库抖动,也减少了传递到每个元数据服务的元数据需要占用的空间。由于许多服务都依赖于元数据,当然这也取决于用户具体的实现方式您应该可以明显感受得到性能的整体提升。 Rancher容器管理平台1.5版已正式与大家见面了。此版本中的各项增强功能,均旨在让Rancher能够更好地支持企业级生产环境中的使用。 在新版本中,额...

    cartoon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<