Kafka 与 Kafka Exporter 同时部署 | Kubernetes YAML 配置示例
在 Kubernetes 或 Docker Compose 中使用容器化部署来同时部署 Kafka Exporter 和 Kafka。以下是一个展示如何同时部署 Kafka 和 Kafka Exporter 的 YAML 文件示例:
# kafka.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka
spec:
replicas: 1
selector:
matchLabels:
app: kafka
template:
metadata:
labels:
app: kafka
spec:
containers:
- name: kafka
image: confluentinc/cp-kafka:latest
ports:
- containerPort: 9092
env:
- name: KAFKA_ADVERTISED_LISTENERS
value: PLAINTEXT://kafka:9092
volumeMounts:
- name: kafka-data
mountPath: /var/lib/kafka/data
volumes:
- name: kafka-data
emptyDir: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka-exporter
spec:
replicas: 1
selector:
matchLabels:
app: kafka-exporter
template:
metadata:
labels:
app: kafka-exporter
spec:
containers:
- name: kafka-exporter
image: danielqsj/kafka-exporter:v1.2.0
ports:
- containerPort: 9308
env:
- name: KAFKA_SERVER
value: kafka:9092
command:
- /bin/sh
- -c
- 'kafka_exporter --kafka.server=$KAFKA_SERVER'
在上面的 YAML 文件中,我们定义了两个 Deployment,一个用于 Kafka,另一个用于 Kafka Exporter。每个 Deployment 都有一个容器定义,其中 Kafka 容器使用 confluentinc/cp-kafka 镜像,Kafka Exporter 容器使用 danielqsj/kafka-exporter 镜像。
Kafka 容器暴露了 9092 端口,供 Kafka Exporter 容器使用。Kafka Exporter 容器使用 kafka_exporter 命令行工具,并将 Kafka 服务器地址通过环境变量传递给它。
要部署这个 YAML 文件,可以使用 kubectl 命令来创建 Deployment:
kubectl apply -f kafka.yaml
这将创建一个名为 kafka 的 Kafka Deployment 和一个名为 kafka-exporter 的 Kafka Exporter Deployment。
请注意,上述示例只是一个简单的示例,实际部署时可能需要根据自己的环境和需求进行适当的调整。
原文地址: https://www.cveoy.top/t/topic/pFcY 著作权归作者所有。请勿转载和采集!