github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/docs/user_docs/kubeblocks-for-pulsar/cluster-management/create-pulsar-cluster-on-kubeblocks.md (about)

     1  ---
     2  title: Create Pulsar Cluster on KubeBlocks
     3  description: How to Create Pulsar Cluster on KubeBlocks
     4  keywords: [pulsar, create cluster]
     5  sidebar_position: 1
     6  sidebar_label: Create
     7  ---
     8  
     9  ## Introduction
    10  
    11  KubeBlocks can quickly integrate new engines through good abstraction. The functions tested in KubeBlocks include Pulsar cluster creation and deletion, vertical and horizontal scaling of Pulsar cluster components, storage expansion, restart, and configuration changes.
    12  
    13  KubeBlocks supports Pulsar's daily operations, including basic lifecycle operations such as cluster creation, deletion, and restart, as well as advanced operations such as horizontal and vertical scaling, storage expansion, configuration changes, and monitoring.
    14  
    15  ## Environment Recommendation
    16  
    17  Refer to the Pulsar official document for the configuration, such as memory, cup, and storage, of each component.
    18  
    19  |      Components        |                                 Replicas                                  |
    20  | :--------------------  | :------------------------------------------------------------------------ |
    21  |       zookeeper        |          1 for test environment or 3 for production environment           |
    22  |        bookies         |  at lease 3 for test environment, at lease 4 for production environment   |
    23  |        broker          |      at least 1, for production environment, 3 replicas recommended       |
    24  | recovery (Optional)    | 1; if autoRecovery is not enabled for bookie, at least 3 replicas needed  |
    25  |   proxy (Optional)     |           1; and for production environment, 3 replicas needed            |
    26  
    27  ## Create Pulsar cluster
    28  
    29  1. Create the Pulsar cluster template file `values-production.yaml` for `helm` locally.
    30    
    31     Copy the following information to the local file `values-production.yamlCre`.
    32  
    33     ```bash
    34     ## Bookies configuration
    35     bookies:
    36       resources:
    37         limits:
    38           memory: 8Gi
    39         requests:
    40           cpu: 2
    41           memory: 8Gi
    42  
    43       persistence:
    44         data:
    45           storageClassName: kb-default-sc
    46           size: 128Gi
    47         log:
    48           storageClassName: kb-default-sc
    49           size: 64Gi
    50  
    51     ## Zookeeper configuration
    52     zookeeper:
    53       resources:
    54         limits:
    55           memory: 2Gi
    56         requests:
    57           cpu: 1
    58           memory: 2Gi
    59  
    60       persistence:
    61         data:
    62           storageClassName: kb-default-sc
    63           size: 20Gi
    64         log:
    65           storageClassName: kb-default-sc 
    66           size: 20Gi
    67          
    68     broker:
    69       replicaCount: 3
    70       resources:
    71         limits:
    72           memory: 8Gi
    73         requests:
    74           cpu: 2
    75           memory: 8Gi
    76     ```
    77  
    78  2. Create cluster.
    79  
    80     - **Option 1**: (**Recommended**) Create pulsar cluster by `values-production.yaml` and enable monitor.
    81      Configuration:
    82       - broker: 3 replicas
    83       - bookies: 4 replicas
    84       - zookeeper: 3 replicas
    85  
    86       ```bash
    87       helm install pulsar kubeblocks/pulsar-cluster --version "0.6.0-beta.11" -f values-production.yaml --set monitor.enabled=true
    88       ```
    89  
    90     - **Option 2**: Create pulsar cluster with proxy.
    91       Configuration:
    92       - proxy: 3 replicas
    93       - broker: 3 replicas
    94       - bookies: 4 replicas
    95       - zookeeper: 3 replicas
    96  
    97       ```bash
    98       helm install pulsar kubeblocks/pulsar-cluster --version "0.6.0-beta.11" -f values-production.yaml --set proxy.enable=true  --set monitor.enabled=true  
    99       ```
   100  
   101     - **Option 3**:  Create pulsar cluster with proxy and deploy `bookies-recovery` component.  
   102     Configuration:
   103       - proxy: 3 replicas
   104       - broker: 3 replicas
   105       - bookies: 4 replicas
   106       - zookeeper: 3 replicas
   107       - bookies-recovery: 3 replicas
   108  
   109       ```bash
   110       helm install pulsar kubeblocks/pulsar-cluster --version "0.6.0-beta.11" -f values-production.yaml --set proxy.enable=true --set bookiesRecovery.enable=true --set monitor.enabled=true 
   111       ```
   112  
   113     - **Option 4**: Create pulsar cluster and specify bookies and zookeeper storage parameters.
   114     Configuration:
   115       - broker: 3 replicas
   116       - bookies: 4 replicas
   117       - zookeeper: 3 replicas
   118  
   119       ```bash
   120       helm install pulsar kubeblocks/pulsar-cluster --version "0.6.0-beta.11" -f values-production.yaml --set bookies.persistence.data.storageClassName=<sc name>,bookies.persistence.log.storageClassName=<sc name>,zookeeper.persistence.data.storageClassName=<sc name>,zookeeper.persistence.log.storageClassName=<sc name> --set monitor.enabled=true
   121       ```
   122  
   123     You can specify the storage name `<sc name>`.
   124  
   125  3. Verify the cluster created.
   126  
   127      ```bash
   128      kubectl get cluster pulsar
   129      ```
   130  
   131      When the status is Running, the cluster is created successfully.