在Kubernetes上运行Kafka吻合吗?
副问题[/!--empirenews.page--]
先容 Kubernetes计划的初志是运行无状态事变负载。这些凡是回收微处事架构的事变负载,是轻量级,可程度扩展,遵循十二要素应用措施,可以处理赏罚环形断路和随机Monkey测试。 另一方面,Kafka本质上是一个漫衍式数据库。这意味着你必需处理赏罚状态,它比微处事更重量级。Kubernetes支持有状态的事变负载,但你必需审慎看待它,正如Kelsey Hightower在最近的两条推文中指出的那样: 此刻你应该在Kubernetes上运行Kafka吗?我的反问是:没有它,Kafka会跑得更好吗?这就是为什么我要指出Kafka和Kubernetes之间的彼此增补性以及你也许碰着的陷阱。 运行时 让我们先看一下根基的对象——运行时自己。 历程 Kafka brokers对CPU很友爱。TLS也许会引入一些开销。假如Kafka客户端行使加密,则必要更多CPU,但这不会影响brokers。 内存 Kafka brokers是内存耗损大户。JVM堆凡是可以限定为4-5 GB,但因为Kafka大量行使页面缓存,因此还必要足够的体系内存。在Kubernetes中,可以响应地配置容器资源限定和哀求。 存储 容器中的存储是短暂的——重启后数据将丢失。可以对Kafka数据行使emptyDir卷,这将发生沟通的结果:brokers的数据将在停机后丢失。您的动静在其他broker上作为副本照旧可以行使的。因此,从头启动后,失败的broker必需得复制全部的数据,这也许是一个耗时进程。 这就是你应该行使耐久存储的缘故起因。行使XFS或ext4的非当地耐久性块存储更吻合。我告诫你:不要行使NFS。NFS v3和v4都不会起浸染。简而言之,Kafka broker会由于NFS“愚笨重定名”题目而无法删除数据目次,自行终止。假如你如故不信托我,那么请细心阅读这篇博文。存储必需长短当地的,以便Kubernetes在从头启动或从头定位时可以更机动地选择另一个节点。 收集 与大大都漫衍式系同一样,Kafka机能在很洪流平上取决于低收集耽误和高带宽。不要试图将全部署理放在统一节点上,由于这会低落可用性。假如Kubernetes节点呈现妨碍,那么整个Kafka集群城市呈现妨碍。不要跨数据中心扩展Kafka集群。这同样合用于Kubernetes集群。差异的可用地区是一个很好的衡量。 设置 清单 Kubernetes网站包括一个很是好的教程,先容怎样行使清单配置ZooKeeper。因为ZooKeeper是Kafka的一部门,因此可以通过这个相识哪些Kubernetes观念被应用在这里。一旦领略,您也可以对Kafka集群行使沟通的观念。
Yolean提供了一套全面的清单,可以辅佐您开始行使Kubernetes上的Kafka。 Helm Charts Helm是Kubernetes的包揽理器,相同yum,apt,Homebrew或Chocolatey等OS包揽理器。它应承您安装Helm Charts中描写的预界说软件包。全心计划的Helm Charts能简化全部参数正确设置的伟大使命,以便在Kubernetes上运行Kafka。有几张图表合用于Kafka的的可供选择:一个是处于演进状态的官方图表,一个来自Confluent,另一个来自Bitnami,仅举几例。 Operators 因为Helm的一些限定,另一种器材变得很是风行:Kubernetes Operators。Operators不只可觉得Kubernetes打包软件,还可觉得Kubernetes陈设和打点一个软件。 评价很高的Operators名单中提到Kafka有两个,个中一个是Strimzi,Strimzi使得在几分钟内启动Kafka集群变得很是轻易,险些不必要任何设置,它增进了一些大度的成果,如聚集间点对点TLS加密。Confluent还公布即将推出新的Operator。 机能 运行机能测试以对Kafka安装举办基准测试很是重要。在您碰着贫困之前,它会为您提供有关也许的瓶颈的处所。荣幸的是,Kafka已经提供了两本机能测试器材:kafka-producer-perf-test.sh和kafka-consumer-perf-test.sh。记得常常行使它们。作为参考,可以行使Jay Kreps的博客功效,可能 Stéphane Maarek在 Amazon MSK的评述。 运维 监控 可见性很是重要,不然您将不知道产生了什么。现在,有一种不错的器材可以用云原生方法监控指标。Prometheus和Grafana是两种风行的器材。Prometheus可以直接从JMX导出器网络全部Java历程(Kafka,ZooKeeper,Kafka Connect)的指标。添加cAdvisor指标可为提供有关Kubernetes资源行使环境的其他信息。 Strimzi为Kafka提供了一个优雅的Grafana仪表板示例。它以很是直观的方法可视化要害指标,如未复制的和离线分区。它通过资源行使和机能以及不变性指标来增补这些指标。因此,可以免费得到根基的Kafka集群监控! 资料来历:https://strimzi.io/docs/master/#kafka_dashboard 可以通过客户端监控(斲丧者和出产者指标),行使Burrow滞后监控,行使Kafka Monitor举办端到端监控,来完成这个使命 日记记录 日记记录是另一个要害部门。确保Kafka安装中的全部容器都记录到尺度输出(stdout)和尺度错误输出(stderr),并确保Kubernetes集群将全部日记聚合到中央日记记录办法中如Elasticsearch中。 康健搜查 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |