Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,20 @@ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
```

## 添加 Kafka Helm Chart 仓库
## 获取 Kafka Helm Chart

Helm Charts 通常存储在 Helm 仓库中。为了部署 Kafka,我们需要添加包含 Kafka Helm Chart 的仓库。Bitnami 提供了一个常用的 Kafka Helm Chart,我们可以通过以下命令添加 Bitnami 仓库:
Kafka Helm Chart 也可以直接从 OCI 仓库安装。这里我们使用 SolDevelo 提供的 Kafka Chart。

```bash
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm pull oci://registry-1.docker.io/soldevelo/kafka-chart
```

## 部署 Kafka 集群

添加仓库后,我们可以使用 Helm 部署 Kafka 集群。以下是一个简单的部署命令:

```bash
helm install my-kafka bitnami/kafka
helm install my-kafka oci://registry-1.docker.io/soldevelo/kafka-chart
```

这个命令会在 Kubernetes 集群中部署一个 Kafka 集群,并将其命名为 `my-kafka`。默认情况下,Kafka 集群会包含一个 Zookeeper 实例,用于管理 Kafka 的元数据。
Expand All @@ -56,7 +55,7 @@ Helm Charts 提供了丰富的配置选项,允许我们根据需求自定义 K
例如,如果我们想要增加 Kafka 的副本数,可以使用以下命令:

```bash
helm install my-kafka bitnami/kafka --set replicaCount=3
helm install my-kafka oci://registry-1.docker.io/soldevelo/kafka-chart --set replicaCount=3
```

或者,我们可以创建一个 `values.yaml` 文件来定义所有自定义配置:
Expand All @@ -70,7 +69,7 @@ zookeeper:
然后使用以下命令部署 Kafka 集群:

```bash
helm install my-kafka bitnami/kafka -f values.yaml
helm install my-kafka oci://registry-1.docker.io/soldevelo/kafka-chart -f values.yaml
```

## 实际应用场景
Expand Down Expand Up @@ -105,7 +104,7 @@ spec:
## 附加资源

- [Helm 官方文档](https://helm.sh/docs/)
- [Bitnami Kafka Helm Chart 文档](https://artifacthub.io/packages/helm/bitnami/kafka)
- [SolDevelo Kafka Chart (OCI)](https://hub.docker.com/r/soldevelo/kafka-chart)
- [Kafka 官方文档](https://kafka.apache.org/documentation/)

## 练习
Expand All @@ -114,4 +113,4 @@ spec:
2. 修改 `values.yaml` 文件,配置 Kafka 的存储类和持久化卷大小。
3. 部署一个简单的微服务,将日志数据发送到 Kafka 集群,并验证数据是否成功接收。

通过完成这些练习,你将更深入地理解如何使用 Helm Charts 部署和管理 Kafka 集群。
通过完成这些练习,你将更深入地理解如何使用 Helm Charts 部署和管理 Kafka 集群。
Original file line number Diff line number Diff line change
Expand Up @@ -117,20 +117,20 @@ Kubernetes 是一个容器编排平台,可以通过 Helm Chart 或 Operator
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
```

### 2. 添加 Kafka Helm Chart 仓库
### 2. 获取 Kafka Helm Chart

添加 Bitnami 的 Helm Chart 仓库
从 OCI 仓库获取 SolDevelo 的 Kafka Helm Chart:

```bash
helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull oci://registry-1.docker.io/soldevelo/kafka-chart
```

### 3. 部署 Kafka 集群

使用以下命令部署 Kafka 集群:

```bash
helm install my-kafka bitnami/kafka
helm install my-kafka oci://registry-1.docker.io/soldevelo/kafka-chart
```

### 4. 验证部署
Expand Down Expand Up @@ -165,4 +165,4 @@ Kafka 集群自动化部署可以显著提高部署效率,减少人为错误

1. 使用 Ansible 部署一个包含 3 个节点的 Kafka 集群。
2. 使用 Kubernetes 部署 Kafka 集群,并尝试扩展集群规模。
3. 编写一个脚本,自动监控 Kafka 集群的健康状态。
3. 编写一个脚本,自动监控 Kafka 集群的健康状态。
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ prod_logs
version: '3'
services:
kafka-dev:
image: bitnami/kafka:latest
image: soldevelo/kafka:latest
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper-dev:2181
ports:
- "9092:9092"

kafka-prod:
image: bitnami/kafka:latest
image: soldevelo/kafka:latest
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper-prod:2181
Expand Down Expand Up @@ -103,4 +103,4 @@ Kafka 环境隔离是确保系统稳定性和安全性的重要手段。通过
2. 在开发环境中创建一个主题 `dev_logs`,并在生产环境中创建一个主题 `prod_logs`,验证它们之间的隔离性。
3. 尝试使用 Kubernetes 部署 Kafka,并实现环境隔离。

通过以上练习,你将更深入地理解 Kafka 环境隔离的概念及其实现方法。
通过以上练习,你将更深入地理解 Kafka 环境隔离的概念及其实现方法。
Loading