由Polaris引入以保持Kubernetes集群健康

注意事项 佩雷夫 :本文的原文是由ReactiveOps的高级SRE工程师Rob Scott撰写的,该书是该已宣布项目的开发的幕后推手。 我们非常接近对Kubernetes中部署的内容进行集中验证的想法,因此我们关注这些举措。



我很高兴向您介绍Polaris这个开源项目,该项目有助于维护Kubernetes集群的运行状况。 我们创建Polaris是为了使ReactiveOps使用的一些最佳实践实现自动化,以维护大量客户端上群集的安全可靠运行。 是时候开源了。

我们一遍又一遍地见证了配置中看似微小的缺陷如何导致严重的问题,这些问题使工程师无法入夜。 很简单的事情-例如,由于健忘而丢失的资源请求配置-可能会破坏自动扩展,甚至导致工作负载没有资源。 以前,轻微的配置疏忽导致生产中断,但现在Polaris可以完全防止生产中断。

Polaris可帮助您避免影响应用程序的稳定性,可靠性,可伸缩性和安全性的配置问题。 它使您可以轻松地识别部署配置中的弱点并防止将来出现问题。 借助Polaris,您可以使用一组经过良好测试的标准来部署应用程序,从而安然入睡。

北极星有两个关键组成部分:

  1. 仪表板,提供有关如何正确配置集群中现有部署的信息;
  2. 一个实验性的测试Webhook,可防止部署不符合公认标准的部署失败。

北极星仪表板


创建Polaris小组的目的是为了提供一个简单明确的机会,以查看Kubernetes中部署的当前状态并获得改进建议。 它提供了群集的完整概述,还按类别,名称空间和部署对结果进行了分类。



默认的Polaris标准相当高,因此如果评分低于您的预期,请不要感到惊讶。 Polaris的主要目标是设定高标准并争取出色的默认配置。 如果建议的配置似乎过于严格,则可以在部署配置过程中对其进行修复,以针对特定的工作负载进行优化。

作为Polaris出版物的一部分,我们不仅决定介绍该工具本身,还详细描述其中包含的测试。 每个检查都包括指向相关文档的链接,该链接解释了我们为什么认为这一点很重要,并提供了与此主题有关的其他资源的链接。

北极星网钩


如果仪表板帮助您大致了解当前部署配置,则Web挂钩可确保仅部署到集群中的所有部署均符合标准。

解决了仪表板确定的问题后,您可以使用Web挂钩,这样配置就不会再低于既定标准。 Web挂钩不允许在配置包含重大偏差(“错误”级别)的部署集群中进行部署。

该网钩的潜力令人鼓舞,但仍需要进行严格的测试才能使其投入生产。 目前,这是一项实验功能,是全新开源项目的一部分。 由于它可能会干扰部署更新,因此请谨慎使用。

开始使用


我希望由于您仍在阅读此公告,因此Polaris是一个有用的工具。 想亲自尝试Dashboard吗? 在集群中部署面板非常容易。 它以最小权限(只读)安装,所有数据保留在其中。 要使用kubectl部署仪表板,请执行以下操作:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml 

现在,您需要配置端口转发以通过本地端口8080访问仪表板:

 kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80 

当然,还有许多其他方式来使用和部署Polaris,包括使用Helm。 您可以从GitHub的Polaris存储库中了解更多信息。

这仅仅是开始。


我们很高兴我们已经能够集成到Polaris中,但故事还没有结束。 为了扩展功能,我想添加许多新测试。 我们也在寻找在名称空间或资源级别实现异常检查规则的最佳方法。 如果您需要有关我们计划的更多信息,请查看路线图

如果您觉得北极星可能有用,请花点时间尝试一下。 我们很高兴接受任何想法,反馈,问题或请求。 您可以在项目网站GitHubTwitter上与我们联系。

译者的PS


另请参阅我们的博客:

Source: https://habr.com/ru/post/zh-CN454706/


All Articles