使用kubernetes安装kafka和zookeeper集群

时间:2019-05-09 23:14:26

标签: kubernetes apache-kafka

谁能与我共享用于创建具有两个kafka代理和三个服务器的zookeeper集群的kafka集群的yaml文件。我是kubernetes的新手。

4 个答案:

答案 0 :(得分:1)

看看https://github.com/Yolean/kubernetes-kafka,确保代理的内存限制为2 GB或更高。

在Kubernetes中维护可靠的kafka集群仍然是一个挑战,祝你好运。

答案 1 :(得分:0)

我建议您尝试Strimzi Kafka Operator。使用它,您可以像其他Kubernetes对象一样定义Kafka集群-编写yaml文件。而且,用户,主题和Kafka Connect集群也只是一个k8s对象。 Strimzi Kafka Operator的某些(并非全部!)功能:

  • 使用TLS保护经纪人之间以及经纪人和动物园管理员之间的安全通信
  • 能够将集群暴露在k8s集群之外
  • 可部署为头盔图(简化很多事情)
  • 更改集群配置时滚动更新
  • 平滑扩展
  • 准备使用PrometheusGrafana监视群集。

值得一提的是great documentation

创建Kafka集群就像应用这样的Kubernetes清单一样简单:

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    version: 2.2.0
    replicas: 3
    listeners:
      plain: {}
      tls: {}
    config:
      offsets.topic.replication.factor: 3
      transaction.state.log.replication.factor: 3
      transaction.state.log.min.isr: 2
      log.message.format.version: "2.2"
    storage:
      type: jbod
      volumes:
      - id: 0
        type: persistent-claim
        size: 100Gi
        deleteClaim: false
  zookeeper:
    replicas: 3
    storage:
      type: persistent-claim
      size: 100Gi
      deleteClaim: false
  entityOperator:
    topicOperator: {}
    userOperator: {}

答案 2 :(得分:0)

我认为您可以在https://strimzi.io/处查看Strimzi项目。 它基于Kubernetes运算符模式,并提供了一种使用自定义资源在Kubernetes上部署和管理Kafka集群的简单方法。 通过新的“ Kafka”资源YAML文件描述了Kafka群集,该文件用于设置所需的全部内容。 运营商会为您服务,并为您部署Zookeeper集成+ Kafka集群。 它还部署了两个以上的运算符来处理主题和用户(但它们是可选的)。

答案 3 :(得分:0)

在DigitalOcean中的Kubernetes上具有外部访问权限的Kafka / Zookeeper的另一种简单配置:

https://github.com/StanislavKo/k8s_digitalocean_kafka

您可以通过常规二进制协议从AWS / DO / GCE外部连接到Kafka。连接是PLAINTEXT或SASL_PLAINTEXT(用户名/密码)。

Kafka集群是StatefulSet,因此您可以轻松扩展集群。