谁能与我共享用于创建具有两个kafka代理和三个服务器的zookeeper集群的kafka集群的yaml文件。我是kubernetes的新手。
答案 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的某些(并非全部!)功能:
值得一提的是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,因此您可以轻松扩展集群。