---
title: "Аддон Apache Pulsar для Kubernetes"
description: "Аддон Apache Pulsar для Kubernetes. Установка, настройка, примеры использования. Документация и инструкции по работе с облачными сервисами Timeweb Cloud."
---

# Apache Pulsar

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

Apache Pulsar — это распределенная платформа для обмена сообщениями и потоковой обработки данных. Она используется для построения event-driven-архитектур, очередей, стриминга логов и интеграции микросервисов.

В панели управления кластером вы можете развернуть Apache Pulsar как готовый аддон, и в кластере автоматически создадутся все необходимые компоненты: брокеры сообщений, хранилище данных, координаторы, прокси и система мониторинга.

## Установка

Перед установкой Apache Pulsar убедитесь, что в кластере установлены:

-   [CSI-driver](https://timeweb.cloud/docs/k8s/network-drives-connection#ustanovka-drajvera-csi) — обязателен, используется для подключения сетевых дисков к BookKeeper и ZooKeeper.
    
-   Достаточное количество воркер-нод — по умолчанию кластер создается как отказоустойчивое решение. Для запуска необходимо не менее 4 воркер-нод с характеристиками: 4 CPU, 8 ГБ RAM, 120 ГБ NVMe.
    

Для установки откройте раздел «Дополнения» в панели управления кластера и выберите «Apache Pulsar».

![Scr 20251229 Kssv](https://content.timeweb.com/assets/e60ea3c2-be67-4352-8d4a-c138f0effd0e.png?width=2166&height=1440)

В открывшемся окне вы можете установить переключатель «Продвинутая установка» для редактирования параметров установки. Для тестирования можно оставить значения по умолчанию и нажать «Установить».

![Scr 20251229 Ktar](https://content.timeweb.com/assets/a9a33edd-c06e-414d-9bf9-88943a96f8cf.png?width=2154&height=1512)

Для доступа к Grafana в настройках необходимо установить пароль. Укажите его в разделе:

```yaml
  grafana:
    enabled: true
    adminPassword: "password"
```

При использовании параметров по умолчанию будут развернуты:

-   `ZooKeeper` — координатор кластера;
    
-   `BookKeeper` — распределенное хранилище сообщений;
    
-   `Pulsar Broker` — обработка и маршрутизация сообщений;
    
-   `Pulsar Proxy` — точка входа для клиентов;
    
-   `Recovery` — восстановление реплик данных;
    
-   `VictoriaMetrics` и `Grafana` — мониторинг кластера.
    

## Настройка параметров

### Основные компоненты

Состав кластера задается в блоке `components`:

```yaml
components:
  zookeeper: true
  bookkeeper: true
  broker: true
  proxy: true
  autorecovery: true
  toolset: true
```

Здесь можно включать или отключать отдельные сервисы Pulsar. Например, для тестового окружения можно оставить только `ZooKeeper`, `BookKeeper`, `Broker` и `Proxy`.

### Количество реплик

Основные сервисы масштабируются через параметры `replicaCount`:

```yaml
zookeeper:
  replicaCount: 3

bookkeeper:
  replicaCount: 4

broker:
  replicaCount: 3

proxy:
  replicaCount: 3
```

-   `ZooKeeper` отвечает за координацию и должен иметь нечетное количество реплик.
    
-   `BookKeeper` хранит данные сообщений и определяет отказоустойчивость кластера.
    
-   `Broker` и `Proxy` масштабируются для распределения нагрузки между клиентами.
    

### Хранилище данных

Pulsar использует сетевые диски для размещения всех сообщений. Томами управляют StatefulSet `ZooKeeper` и `BookKeeper`.

Пример PVC для BookKeeper:

```yaml
volumes:
  ledgers:
    size: 50Gi
    storageClassName: nvme.network-drives.csi.timeweb.cloud
```

Пример PVC для ZooKeeper:

```yaml
zookeeper:
  volumes:
    data:
      size: 20Gi
    datalog:
      size: 20Gi
```

Все тома создаются с классом `nvme.network-drives.csi.timeweb.cloud`. При необходимости его можно заменить на [другой тип хранилища](https://timeweb.cloud/docs/k8s/network-drives-connection#sozdanie-diska-pri-pomoshchi-manifesta).

Сетевые диски появятся в панели управления в разделе «Сетевые диски» и будут использоваться для доступности данных при перезапуске подов.

### Мониторинг

Аддон автоматически устанавливает стек мониторинга VictoriaMetrics и Grafana:

```yaml
victoria-metrics-k8s-stack:
  enabled: true
  grafana:
    enabled: true
```

В Grafana уже созданы дашборды Pulsar, показывающие:

-   количество сообщений;
-   нагрузку на брокеры;
-   задержки доставки;
-   использование дисков BookKeeper.

## После установки

Проверьте состояние подов:

```bash
kubectl get pods -n pulsar
```

В рабочем состоянии вы увидите:

-   несколько подов `pulsar-zookeeper-*`;
-   несколько подов `pulsar-bookie-*`;
-   `pulsar-broker-*` и `pulsar-proxy-*`;
-   поды мониторинга.

Пример вывода:

```bash
NAME                                                         READY   STATUS      RESTARTS   AGE
pulsar-bookie-0                                              1/1     Running     0          22h
pulsar-bookie-1                                              1/1     Running     0          22h
pulsar-bookie-2                                              1/1     Running     0          22h
pulsar-bookie-3                                              1/1     Running     0          22h
pulsar-bookie-init-24vrn                                     0/1     Completed   1          22h
pulsar-broker-0                                              1/1     Running     0          22h
pulsar-broker-1                                              1/1     Running     0          22h
pulsar-broker-2                                              1/1     Running     0          22h
pulsar-grafana-5b6cf7bb7b-vktzm                              1/1     Running     0          22h
pulsar-kube-state-metrics-55947c98cd-jkk6t                   1/1     Running     0          22h
pulsar-prometheus-node-exporter-9r8jj                        1/1     Running     0          22h
pulsar-prometheus-node-exporter-d8s2d                        1/1     Running     0          22h
pulsar-prometheus-node-exporter-gh895                        1/1     Running     0          22h
pulsar-prometheus-node-exporter-mhbc4                        1/1     Running     0          22h
pulsar-proxy-0                                               1/1     Running     0          22h
pulsar-proxy-1                                               1/1     Running     0          22h
pulsar-proxy-2                                               1/1     Running     0          22h
pulsar-pulsar-init-rwlwh                                     0/1     Completed   0          22h
pulsar-recovery-0                                            1/1     Running     0          22h
pulsar-toolset-0                                             1/1     Running     0          22h
pulsar-victoria-metrics-operator-84bd8795f6-fjwrm            1/1     Running     0          22h
pulsar-zookeeper-0                                           1/1     Running     0          22h
pulsar-zookeeper-1                                           1/1     Running     0          22h
pulsar-zookeeper-2                                           1/1     Running     0          22h
vmagent-pulsar-victoria-metrics-k8s-stack-5897fbdbdb-dnv9l   2/2     Running     0          22h
vmsingle-pulsar-victoria-metrics-k8s-stack-bcdcb4884-fbccc   1/1     Running     0          22h
```

Доступ к Grafana

Чтобы открыть Grafana, выполните:

```bash
kubectl port-forward -n pulsar svc/pulsar-grafana 3000:80
```

После этого Grafana будет доступна по адресу `http://localhost:3000`.

В разделе «Dashboards» → «Pulsar» можно просматривать состояние кластера и поток сообщений в реальном времени.

![Scr 20251229 Maep](https://content.timeweb.com/assets/84363813-4f81-4089-9b96-86e4711bfa21.png?width=2938&height=1634)

_Раздел «Dashboards» → «Pulsar» в интерфейсе [Grafana](https://grafana.com/)_
